@charset "utf-8";

/******************************************/
/*********** THEME Hôtel Spa Bleu *********/
/******************************************/

:root{
    --color1: #002c5f;
    --color2: #beaa8e;
    --color3: #666;
}

body
{
    font-family: 'Hartwell Alt', sans-serif;
    font-weight: 500;
    color: var(--color3);
    background-color: #fff;
}

html, body, form, fieldset, button, textarea {
    font-family: 'Hartwell Alt', Arial, Helvetica, sans-serif;
}

.container{
    background-color: transparent;
}

/* STYLES BOUTONS */

.btn-custom,
.button{
    display: inline-block;
    border:solid 1px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    cursor: pointer;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in;
    padding: 1.7rem 4.5rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
}

.btn-custom_c{
    display: inline-block;
}
.btn-custom.btn-primary,
.button.button-bleu{
    display: inline-block;
    background: var(--color1);
    border: 1px solid var(--color1);
    color: #fff;
    text-transform: uppercase;
}

.btn-custom.btn-primary:hover,
.btn-custom.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):active:focus{
    background: var(--color2);
    color: #fff;
    border-color: var(--color2);
    box-shadow: none;
}
.btn-primary:focus,
.btn-primary:active:focus{
    box-shadow: none;
}

.btn-secondary {
    background: #000;
    border: 1px solid var(--color2);
    color: #fff;
    text-transform: uppercase;
}
.button.button-bleu:hover,
.button.button-bleu:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):active:focus{
    background: #fff;
    color: var(--color3);
    border-color: var(--color3);
    box-shadow: none;
}

.btn-custom.btn-transparent{
    color: var(--color3);
    background-color: transparent;
    border-color: var(--color3);
}

.btn-custom.btn-transparent:hover{
    color: #fff;
    background-color: var(--color3);
    border-color: var(--color3);
}

.btn-custom.btn-outline-primary {
    color: var(--color1);
    background:none;
    border-color: var(--color1);
    text-transform: uppercase;
}

.btn-custom.btn-outline-primary:hover,
.btn-custom.btn-outline-primary:active {
    background-color: var(--color1);
    border-color: var(--color1);
    color: #fff;
}

.btn-custom.btn-outline-secondary {
    color: #fff;
    background:none;
    border-color: #fff;
    text-transform: uppercase;
}

.btn-custom.btn-outline-secondary:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--color3);
}

.btn-custom.btn-outline-tertiary {
    color: #fff;
    background-color: var(--color3);
    border-color: var(--color3);
    text-transform: uppercase;
}

.btn-custom.btn-outline-tertiary:hover {
    background-color: #fff;
    color: var(--color3);
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
    background-color: var(--color3);
    border-color: var(--color3);
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus,
.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: none;
}

.btn-custom.disabled, .btn-custom:disabled {
    opacity: 0.45;
    pointer-events: none;
    cursor: not-allowed;
}

.btn-custom.btn-dark {
    background: var(--color3);
    color: #fff;
}

.btn-custom.btn-dark:hover {
    background: #b49e7f;
    color: #fff;
    border-color: #b49e7f;
}

.btn-custom.btn-light {
    background: transparent;
    color: var(--color2);
    border-color: var(--color2);
    text-transform: uppercase;
    font-weight: 300;
}

.btn-custom.btn-light:hover {
    color: #fff;
}

.btn-lg {
    display: inline-block;
    text-transform: uppercase;
    padding: 1.5rem 5rem;
    line-height: 1.5;
}

.btn-md{
    /*display: inline-block; Supprimer pour la popin ajout panier*/
    text-transform: uppercase;
    line-height: 1.5;
}

.btn-md:hover {
    color: var(--color2);
    border-color: var(--color2);
}

.btn-sm {
    padding: 0.5rem 2rem;
    font-size: 1.2rem;
    line-height: 1;
}

.btn-link{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;

    font: inherit;           /* hérite police/tailles */
    color: #0366d6;          /* changez la couleur si besoin */
    text-decoration: underline;
    line-height: inherit;
    cursor: pointer;
}

/* micro-interactions */
.btn-link:hover,
.btn-link:active{ text-decoration: none; }

/* focus visible accessible (ne pas supprimer le focus) */
.btn-link:focus{
    outline: none;
}
.btn-link:focus-visible{
    outline: 2px solid Highlight; /* système fiable cross-browser */
    outline-offset: 2px;
    border-radius: 3px;
}

/* état désactivé */
.btn-link[disabled],
.btn-link:disabled{
    color: gray;
    cursor: default;
    text-decoration: none;
    opacity: .7;
    pointer-events: none;
}

.double_border_c{
    position: relative;
    text-align: center;
}
.double_border{
    position: absolute;
    top: 2.6rem;
    left: 0;
    background-color: var(--color2);
    height: .2rem;
    width: 100%;
}
.double_border_c .btn_c{
    display: inline-block;
    position: relative;
    padding-left: 4rem;
    padding-right: 4rem;
    background-color: #fff;
}

/* FIN STYLES BOUTONS */

/* Bouton fixed offir */
.cta-mobile-fixed a{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: none;
    justify-content: center;
    align-items: center;
    height: 50px;
    color: #fff;
    background-color: var(--color1);
    text-transform: uppercase;
    font-size: 2rem;
    border-top: .1rem solid var(--color2);
}

.cta-mobile-fixed a:hover {
    background-color: var(--color2);
}

/* ICONES */
.icon-time {
    content: url("../../img/theme_hotel_bleu/time.svg");
    display: inline-block;
    width: 3rem;
    height: 3rem;
    margin-bottom: -1rem;
}

.icon-calendar-bicolor {
    content: url("../../img/theme_or/calendar.svg");
    display: inline-block;
    width: 5rem;
    height: 5rem;
    position: absolute;
    left: 30px;
    top: -33px;
}

#panier .swip_checkbox [type="checkbox"]:not(:checked) + label::before,
#panier .swip_checkbox [type="checkbox"]:checked + label::before {
    border-color: var(--color2);
}

#panier .swip_checkbox [type="checkbox"]:not(:checked) + label::after {
    background-color: var(--color2);
}

#panier .swip_checkbox [type="checkbox"]:not(:checked) + label .ui::before {
    color: var(--color2);
}

.panier_prestations .custom_select,
.panier_boncadeau .custom_select {
    background: var(--color2);
}

.panier_prestations .custom_select::after,
.panier_boncadeau .custom_select::after {
    color: var(--color2);
}

.panier_prestations .product_line,
.panier_boncadeau .product_line {
    font-weight: 700;
    color: var(--color2);
}

#panier .text-groupage {
    color: var(--color2);
}

/* FIN ICONES */


/*********** CAROUSEL **************/

.bx-wrapper .bx-prev {
    left: 4rem;
}
.bx-wrapper .bx-next {
    right: 4rem;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: rgba(256, 256, 256, .6);
}

.main_slider .bx-wrapper .bx-pager {
    padding-top: 0;
    bottom: 9rem;
}

/* LOGIN/REGISTER */
#espaceClient h1{
    font-family: 'Hartwell Alt', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2rem;
    color: var(--color2);
}
#espaceClient h4,
#espaceClient label{
    color: #fff;
}
#espaceClient .bgcolor3{
    background-color: var(--color1);
}
#espaceClient .bgcolor3 .color2 a{
    color: #fff;
}

/* PANIER */
#panier .section_title_cart::before,
#panier .section_title_cart::after,
.step li.active .step_panier::after,
.step li.active .step_panier::before,
.step li .step_panier::before,
.step li .step_panier::after {
    content: none;
}

.step .white_arrow_before,
.step .white_arrow_after {
    display: none;
}

.sticky_block h1,
#panier #espaceClientInt h1 {
    font-family: 'Hartwell Alt', sans-serif;
    color: var(--color2);
    text-align: left;
}

#panier .icon-poubelle {
    color: var(--color2);
}

#panier #espaceClientInt h3 {
    color: var(--color1);
    font-size: 1.6rem;
}

#panier .title_container {
    margin-bottom: 2.7rem;
    margin-top: 2rem;
}

.sticky_block #panier-recap-content .product_line_global .fontsize120.bold {
    font-weight: 400;
    font-size: 100%;
}

#panier .section_title_cart .text,
.step .marginleft {
    margin-left: 0;
}

#panier .sep_panier {
    background: var(--color2);
}

.panier_prestations .libelle_block,
.panier_boncadeau .libelle_block {
    text-transform: uppercase;
    color: var(--color2);
}

#espaceClientInt .icon-user--or{
    font-size: 2.5rem;
    color: var(--color2);
}

#espaceClientInt .panier_boncadeau .stitre{
    font-size: 2rem;
}

.blue_sep{
    background-color: var(--color2);
}

#panier-recap #panier_action .btn-custom {
    text-transform: uppercase;
}

#panier-recap #panier-recap-content {
    color: var(--color1);
}

#panier-recap #panier-recap-content form {
    color: var(--color3);
}

#panier-recap-content .product_line > div .light {
    font-weight: 700;
}

#panier-recap-content .product_line.product_line_total .pl-2 {
    padding-left: 0!important;
    font-weight: 700;
}

#panier-recap #panier-recap-content form .btn-custom:hover {
    border-color: var(--color2);
}

/********** MENU ***********/
/********** MENU HAUT ***********/
#header{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index:4;
    height: 110px;
    background-color: #fff;
    font-size: 1.2rem;
    padding-left: 2rem;
    padding-right: 2rem;
}

#header > .row{
    height: 100%;
}

.menu_launcher_c,
#header .align-items-center {
    margin-top: 1rem;
    margin-bottom: auto;
}

#header a {
    position: relative;
    color: var(--color3);
}

#header a:hover{
    color: var(--color1);
}

#header a .icon{
    font-size: 3rem;
    color: var(--color2);
}

#header #logo{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

#header .header-tel a{
    display: flex;
    align-items: center;
    margin-top: .5rem;
}

#header .header-tel a .icon {
    font-size: 2rem;
    margin-right: .4rem;
    color: var(--color2);
}

#header .header-tel a .text {
    font-size: 1.8rem;
    font-weight: 700;
}

.menu_header{
    width: calc(100% - 60rem);
    margin-top: auto;
    margin-bottom: 1rem;
}

.menu_header ul{
    display: flex;
    justify-content: space-around;
    padding: 0;
    font-size: 1.5rem;
    text-transform: uppercase;
}

#header #infos{
    line-height: 1;
    text-align: right;
    margin-right: 1.5rem;
}

#header .nb_article{
    position: absolute;
    left: 10px;
    top: 8px;
    color: #fff;
    background-color: var(--color2);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 1.2rem;
    text-align: center;
    z-index: 1;
}

.lang-header{
    display: flex;
    flex-direction: column;
    margin-left: 2rem;
}

#header .lang-header a{
    color: var(--color2);
    font-size: 1.4rem;
    margin-right: .2rem;
}

.lang-header a:first-child{
    border-bottom: 1px solid var(--color2);
}

.lang-header span{
    display: none;
}

#header .lang-header a:not(.current):hover{
    color: var(--color1);
}

#espaceclientheader{
    max-width: 75px;
}

#espaceclientheader .text,
#panierheader .text{
    margin-top: .5rem;
    color: var(--color3);
    transition: color .3s;
}

#espaceclientheader:hover .text,
#panierheader:hover .text {
    color: var(--color1);
}



/*********** STICKY ************/
#header.sticky{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    height: 110px;
    color: #fff;
    background-color: #fff;
    margin-top: 0;
    width: 100%;
}

#header.sticky .searchbar {
    top: 2px;
}

#header.sticky ~ #contenu {
    margin-top: 110px;
}

/*******   FOOTER  ********/

#footer #qualispa {
    position: static;
    display: inline-flex;
    background-color: #fff;
    box-shadow: none;
    margin-top: 1rem;
    margin-left: 0;
    min-width: 204px;
}

#menu_footer ul li a,
#menu_footer ul li span {
    font-family: 'Hartwell Alt', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--color1);
}

#footer .footer_bot_c {
    background-color: var(--color1);
}
#footer .footer_bot {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
    padding-left: 0;
    padding-right: 0;
}
#footer .footer_bot_links,
#footer .right-col {
    width: 100%;
}
#footer .right-col {
    text-align: right;
}
#logo_f {
    display: flex;
    justify-content: center;
    min-width: 24rem;
}
#footer .footer_contact{
    font-size: 15px;
    color: var(--color1);
    text-transform: uppercase;
}
#footer .footer_bot_links ul{
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 0;
    margin-left: -1.5rem;
}
#footer .footer_bot_links li{
    display: flex;
    align-items: center;
}
#footer .footer_bot_links li::after{
    content: "";
    display: block;
    height: 1rem;
    width: .1rem;
    margin-left: 1.5rem;
    background-color: #fff;
}
#footer .footer_bot_links li:last-child::after {
    content: none;
}
#footer .footer_bot_links a{
    color: #fff;
    font-size: 12px;
    font-family: 'Hartwell Alt', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
}
#footer .footer_bot_links a:hover{
    color: var(--color2);
}
#footer .btn-primary,
#footer .btn-custom{
    padding: 0;
    color: #fff;
    border: none;
    background-color: transparent;
    text-decoration: underline;
}
#footer .btn-custom:hover{
    color: #fff;
    text-decoration: none;
}

#footer .mention_legales:hover,
#footer .icon-facebook:hover {
    color: var(--color1);
}

/* Breadcrumb */
#chemin{
    position: relative;
    line-height: .8;
    overflow: initial;
    background-color: var(--color2);
}
#chemin::before{
    content: '';
    display: block;
    width: 200vw;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -50vw;
    z-index: -1;
    background-color: var(--color2);
}
#chemin .bread_link {
    text-transform: uppercase;
    font-weight: 500;
}

/* Produits cards */

.page_catalogue .produit_card .header_pack_c{
    height: 12.7rem;
    padding: 2.2rem;
}

.produit_card .header_pack .icon{
    font-size: 4rem;
    color: var(--color1);
}
.produit_card .header_pack .icon_pack{
    width: 4rem;
    height: 4rem;
    margin-left: .2rem;
    margin-right: .2rem;
}
.produit_card .header_pack .sep_hori{
    display: block;
    height: .1rem;
    border: 1px dashed var(--color1);
    width: 25%;
    min-width: 3.5rem;
}
.produit_card .header-text {
    font-size: 1.6rem;
    color: var(--color2);
    margin-top: 1rem;
    opacity: .8;
}

.produit_card > .link_block_card{
    display: block;
    background-color: #fff;
    padding-bottom: 2rem;
    background-position: center 19rem;
    background-repeat: no-repeat;
    -moz-box-shadow: 3px 3px 6px 0 #cfcfcf;
    -webkit-box-shadow: 3px 3px 6px 0 #cfcfcf;
    -o-box-shadow: 3px 3px 6px 0 #cfcfcf;
    box-shadow: 3px 3px 6px 0 #cfcfcf;
    filter:progid:DXImageTransform.Microsoft.Shadow(color=#cfcfcf, Direction=135, Strength=6);
}

.produit_card:hover > .link_block_card{
    -moz-box-shadow: 3px 3px 6px 0 var(--color1);
    -webkit-box-shadow: 3px 3px 6px 0 var(--color1);
    -o-box-shadow: 3px 3px 6px 0 var(--color1);
    box-shadow: 3px 3px 6px 0 var(--color1);
    filter:progid:DXImageTransform.Microsoft.Shadow(color=var(--color1), Direction=135, Strength=6);
    color: var(--color2);
}


.produit_card > .link_block_card .detail_pack_c{
    height: 80px;
    overflow: hidden;
    font-size: 1.8rem;
    font-weight: 500;
    padding-left: 1rem;
    padding-right: 1rem;
    color: var(--color3);
}


.produit_card .link_block_card h3,
.produit_card .link_block_card .h3 {
    height: 6.7rem;
    margin-top: 0;
    margin-bottom: 2rem;
    font-size: 2.5rem;
    font-family: 'Hartwell Alt', sans-serif;
    font-weight: 700;
    line-height: 22px;
    text-transform: none;
    color: var(--color1);
}

.produit_card > .link_block_card .img_c {
    margin-bottom: 2rem;
}

.produit_card .forfait-prix{
    top: -1.3rem;
    font-size: 1rem;
    color: var(--color2);
}

.produit_card .duration_presta{
    font-family: 'Cardo', sans-serif;
    height: 20px;
    font-size: 16px;
    color: var(--color1);
}

.produit_card .prix_home {
    margin-bottom: 2rem;
}

.produit_card .prix_home .color1 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color1);

}


/*Page rubriques*/

.list_rubrique_c .header_rubrique{
    text-align: center;
    margin-top: 25px;
    margin-bottom: 20px;
    line-height: 1.4;
}

.list_rubrique li a {
    position: relative;
}

.list_rubrique li:nth-child(4n + 2)::after {
    content: '';
    position: absolute;
    right: -1rem;
    top: 0;
    bottom: 0;
    display: block;
    width: .1rem;
    background-color: var(--color2);
}

.list_rubrique li:nth-child(4n + 3)::before {
    content: '';
    position: absolute;
    left: -1rem;
    top: 0;
    bottom: 0;
    display: block;
    width: .1rem;
    background-color: var(--color2);
}

.list_rubrique_c .link_rubrique {
    height: auto;
    aspect-ratio: 1;
}

.list_rubrique_c .libelle_rubrique {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 44, 95, .9);
    font-weight: 500;
    transition: background-color .3s;
}

.list_rubrique li a:hover .libelle_rubrique {
    background-color: rgba(190, 170, 142, .9);
}

#liste_presta .right_block .sep_hori{
    display: inline-block;
    width: 60px;
    height: 1px;
    vertical-align: middle;
    margin-right: 10px;
    border-top: 1px dashed var(--color1);
}
#liste_presta .right_block .presta-libelle .mobile-link-product {
    font-weight: 700;
}
#liste_presta li {
    margin-bottom: .5rem;
}
#liste_presta li .btn-custom {
    height: 4.8rem;
    margin-top: auto;
    margin-bottom: auto;
}
#liste_presta li .btn-custom.btn-produit {
    color: var(--color2);
    border-color: var(--color2);
    background-color: #fff;
}
#liste_presta li .btn-custom.btn-produit:hover {
    color: #fff;
    background-color: var(--color2);
}

.list_rubrique{
    justify-content: center;
    padding-left: 0;
}

#liste_presta .right_block .libelle{
    font-family: 'Hartwell Alt', sans-serif;
    text-align: left;
}

#liste_presta .right_block .slibelle{
    display: inline-block;
    margin-right: .6rem;
    font-size: 18px;
}

.cat_header_content h1 {
    text-transform: none;
}

.cat_header_menu ul {
    margin-left: 0;
    margin-right: 0;
}

.cat_header_menu li a {
    font-weight: 500;
}

.cat_header_menu li.current a {
    border-color: var(--color2);
    transition: none;
}

#liste_presta .right_block .presta-libelle {
    max-width: calc(100% - 105px);
}

#liste_presta li form {
    min-width: 40rem;
    gap: 1.6rem;
}

#liste_presta li form .space-btn {
    width: 11rem;
    margin: auto auto 4px 5px;
}

#ajoutpanier h2 {
    font-size: 160%;
    color: var(--color1);
    font-weight: 500;
    text-transform: none;
}

#ajoutpanier #continuer_achats {
    color: var(--color1);
    border-color: var(--color1);
    font-weight: 500;
}
#ajoutpanier #continuer_achats:hover {
    color: #fff;
    background-color: var(--color1);
}

#ajoutpanier #acces_panier {
    border-color: var(--color1);
    color: #fff;
    background-color: var(--color1);
    font-weight: 500;
}
#ajoutpanier #acces_panier:hover {
    color: var(--color1);
    background-color: #fff;
}

/* Page présentation */
#pdv_page p{
    font-family: 'Hartwell Alt', sans-serif;
}
#map{
    filter: grayscale(.6);
}
#pdv_page img {
    aspect-ratio: 1;
    object-fit: cover;
    width: 100%;
}
#pdv_page .btn-custom {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 500;
    background: var(--color1);
    border: 1px solid var(--color1);
    color: #fff;
    text-transform: uppercase;
    padding: 1.5rem 5rem;
}
#pdv_page .image-block .flex {
    display: flex;
}

#pdv_page .btn-custom:hover {
    background-color: #fff;
    color: var(--color1);
}
#pdv_page .schedule {
    color: var(--color2);
}

#pdv_page .paiement-block .icon {
    color: var(--color1);
}
#pdv_page .paiement-block .icon.icon-pmt_ESP {
    font-size: 5rem;
}
#pdv_page .paiement-block .icon.icon-pmt_CHQ {
    display: inline-block;
    margin-bottom: .8rem;
}

#contenu #pdv_page .header_link a,
#contenu #pdv_page .header_link a:hover {
    color: #fff;
    border-color: var(--color1);
    background-color: var(--color1);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

#contenu #pdv_page .header_link a.black_link{
    border-color: var(--color2);
    background-color: var(--color2);
}

.main_image_noslider > li:nth-child(1) > figure:nth-child(1) {
    aspect-ratio: 445/485;
}

#blocimg .main_image_noslider a img {
    height: 100%;
    object-fit: cover;
}

#pdv_page.form_contact .schedule {
    margin-left: 0;
}

/* bloc prix */
#prix .sep-right,
#prix .sep-left{
    width: 10rem;
    display: inline-block;
    border-top: 1px solid var(--color2);
    background-color: var(--color2);
    height: 2px;
}

/* Page contact */
#fContact label, .label-title {
    color: var(--color3);
}

/* Cookies */
#cookies_content {
    z-index: 99999;
}
#cookies_content .alert_txt a {
    color: var(--color2);
    font-weight: 400;
}
#cookies_content .alert_close a.refused {
    color: #fff;
    background: var(--color2);
    border: solid 1px var(--color2);
    text-transform: uppercase;
    border-radius: 0;
}
#cookies_content .alert_close a.accepted {
    text-transform: uppercase;
    border-radius: 0;
}
#cookies_content .alert_close a.accepted:hover,
#cookies_content .alert_close a.accepted:focus {
    color: #fff;
    background: var(--color2);
    border: solid 1px var(--color2);
}
.alert_close a.accepted {
    background-color: var(--color1);
    border-color: var(--color1);
    text-transform: uppercase;
    border-radius: 0;
}
.alert_close a.accepted:hover,
.alert_close a.accepted:focus {
    background-color: var(--color2);
    border-color: var(--color2);
    text-transform: uppercase;
    opacity: 1;
}
.alert_close a.save {
    background-color: var(--color2);
    border-color: var(--color2);
    text-transform: uppercase;
    border-radius: 0;
}
/* panierCodesRemises */

#panierCodesRemises input[type="text"] {
    width: calc( 100% - 112px);
}
#panier-recap #panier-recap-content #panierCodesRemises input[type="submit"] {
    padding: 5px 15px;
    margin-left: -6px;
    min-width: 100px;
}
/* HOME PAGE */

/* Slider */

.slider_container .textslider{
    max-width: 50%;
    max-height: 19.2rem;
    font-size: 8rem;
    text-transform: uppercase;
    line-height: 1.2;
    color: #fff;
    overflow: hidden;
    margin-bottom: 3rem;
    font-weight: 700;
}
.slider_container .btn_slider{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}
.slider_container .btn_slider .btn-custom {
    width: 100%;
    text-align: center;
    background-color: rgb(190, 170, 142, .9);
    border: none;
}
.slider_container .btn_slider .btn-custom:hover {
    background-color: rgb(0, 44, 95, .9);
}
.slider_container .descriptionslider{
    color: #fff;
}

.slider_container .bx-viewport,
.slider_container .slider,
.slider_container .noslideshow,
.slider_container .slide {
    height: 795px!important;
}


/* Offres et bon-chèque cadeau */

#offres_block_cadeau .row-gap{
    position: relative;
    height: 100%;
    background-color: var(--color1);
    padding-bottom: 1rem;
}

#offres_block_cadeau .bg-grey{
    display: flex;
    flex-direction: column;
    color: var(--color2);
    background-color: #fff;
    border: 1px solid rgba(255, 255, 255, .2);
    padding: 2rem 1rem 1rem;
    margin-top: 2rem;
    margin-right: -.5rem;
    height: 36rem;
}

#offres_block_cadeau h2{
    display: inline-block;
    position: relative;
    padding: 0 2rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    color: #fff;
    z-index: 1;
    letter-spacing: 1px;
}
#offres_block_cadeau h3{
    font-size: 2.4rem;
    color: var(--color1);
    letter-spacing: 1px;
}
#offres_block_cadeau h3::after{
    content: "";
    display: block;
    width: 9.5rem;
    height: .1rem;
    background-color: #E0DFDF;
    margin: 1.5rem auto 2.5rem;
}
#offres_block_cadeau .h4{
    line-height: 1.2;
    margin-bottom: .2rem;
    color: #707070;
}
#offres_block_cadeau .icon{
    display: block;
    margin-left: auto;
    margin-right: auto;
    font-size: 7rem;
    color: #fff;
}
#offres_block_cadeau p{
    line-height: 1.5;
    margin-top: 1.2rem;
    margin-bottom: .7rem;
    font-weight: 600;
    color: var(--color3);
    letter-spacing: 2px;
}
#offres_block_cadeau label{
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 2px;
}
#offres_block_cadeau .bg-grey .link_cms a{
    color: var(--color2);
    font-size: 1.2rem;
    margin: 0 auto;
    padding: 0;
}
#offres_block_cadeau .bg-grey .link_cms a:hover{
    color: var(--color1);
}
#offres_block_cadeau .bg-grey.left-col a{
    margin-bottom: 0;
}
#offres_block_cadeau .bg-grey .flex-container-btn{
    margin-top: auto;
    margin-bottom: 1.9rem;
}
#offres_block_cadeau .bg-grey a,
#offres_block_cadeau .bg-grey button[type="submit"]{
    width: 24rem;
}
#offres_block_cadeau .bg-grey input{
    width: 18rem;
    margin-bottom: 2.8rem;
}

#bandeau_home{
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 16%;
}

/* Content home page */
#description_block {
    background-color: #F8F9F6;
    padding: 5rem 3.5rem 6rem;
    margin: 0 -1.5rem 5rem;
}
#description_block p{
    font-size: 1.8rem;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    line-height: 2.2rem;
    color: var(--color2);
}
#description_block h1,
#description_block .h1 {
    color: var(--color2);
}

#description_block .h4 {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--color1);
    letter-spacing: 1px;
}

#description_block .h4:after{
    content: "\e929";
    font-family: kfont;
    display: block;
    font-size: 9rem;
    margin-top: 2rem;
    color: var(--color1);
}

#description_block .btn-custom_c{
    margin-top: 2.5rem;
}

#home_content #offres_block {
    display: flex;
    gap: 4rem;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

#home_content #offres_block_moment {
    background-repeat: no-repeat;
    padding: 0;
    background-size: cover;
    width: 100%;
    aspect-ratio: 1;
}
#home_content #offres_block_moment .bg_degrade{
    display: flex;
    height: 100%;
    background: transparent;
    text-align: center;
}

#home_content #offres_block_moment .offres_block_moment_content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
}
#home_content #offres_block_moment .offres_block_moment_content > * {
    margin-top: auto;
    margin-bottom: auto;
}
#home_content #offres_block_moment h2{
    font-family: 'Cardo', sans-serif;
    font-size: 3.5rem;
    text-transform: none;
    color: #fff;
    margin-bottom: 2rem;
}
#home_content #offres_block_moment .offres_block_moment_content h3{
    font-size: 2.2rem;
    font-weight: 500;
    text-transform: none;
    color: #fff;
}
#home_content #offres_block_moment .offres_block_moment_content p{
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
    color: #fff;
}
#home_content #offres_block_moment .offres_block_moment_content .btn-custom{
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    text-align: center;
    text-transform: uppercase;
    color: #fff;

    background-color: rgba(190, 170, 142, .9);
    border: none;
}
#home_content #offres_block_moment .offres_block_moment_content .btn-custom:hover{
    background-color: rgba(0, 44, 95, .9)
}
#home_content #produits_block h2{
    text-align: center;
    margin-bottom: 0;
    margin-top: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

#home_content #produits_block .double_border_c {
    margin: 4rem -15px 6rem;
}

.produit_card_header:before { /*id supprimé pour la page article.tpl Attention en fonction du nombre de card sur chaque ligne, 3 ou 4*/
    display: block;
    content: '';
    position: absolute;
    top: 22px;
    left: 25px;
    width: 70px;
    height: 70px;
}
/* Home Section univers */
.section-univers {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}
#univers_block .double_border {
    top: 2.2rem;
    left: -4rem;
    right: -4rem;
    width: calc(100% + 8rem);
}
#univers_block_content .cover_img .bg_degrade{
    display: flex;
    width: 100%;
    text-align: center;
    background: rgba(255, 255, 255, .1);
}
#univers_block_content .cover_img .text{
    margin: auto;
    padding: 2rem;
    font-size: 3.5rem;
    font-family: 'Cardo', sans-serif;
    color: #fff;
    line-height: 1;
}

#univers_block_content .cover_img {
    height: 100%;
    aspect-ratio: 1;
}

#univers_block_content .bx-pager {
    display: none;
}

/* Home section actus + avis */

.block_actus_c .actus_bordered{
    position: relative;
    text-align: center;
    width: 100%;
    padding-top: 1.5rem;
    padding-bottom: 3rem;
    /*background-image: url('../../img/theme_or/avis.jpg');*/
    /*background-size: cover;*/
    -moz-box-shadow: 3px 3px 6px 0 #cfcfcf;
    -webkit-box-shadow: 3px 3px 6px 0 #cfcfcf;
    -o-box-shadow: 3px 3px 6px 0 #cfcfcf;
    box-shadow: 3px 3px 6px 0 #cfcfcf;
}

.block_actus_c .actus_bordered .btn-custom.btn-primary {
    padding: 0.5rem 4rem;
}

.block_actus_c .bx-wrapper {
    box-shadow: none;
    height: 15.6rem;
    margin-bottom: 20px;
}

.block_actus_c .actus_content p{
    font-size: 1.6rem;
    font-weight: 500;
}
.block_actus_c .actu_spe .text{
    margin-top: 5.2rem;
    color: var(--color1);
    font-weight: 700;
    height: 62px;
    text-transform: none;
    overflow: hidden;
}
.block_actus_c .bx-wrapper .icon-arrow-prec,
.block_actus_c .bx-wrapper .icon-arrow-next {
    color: var(--color1);
}

.note_avis > p.color1{
    margin-right: 2rem;
    margin-bottom: 0;
    color: var(--color2);
}

.star_avis {
    width: 20px;
    margin: 0 1px;
}

#espaceClientLogin,
#espaceClientInscription {
    background-color: #000;
}

#formLogin a:hover{
    color: var(--color2);
}

/* Page article */
#fiche .bluetitle {
    font-family: "Cardo", sans-serif;
    font-size: 2.5rem;
    font-weight: 400;
    text-transform: none;
}
#fiche .h1 {
    font-family: "Hartwell Alt", sans-serif;
    font-size: 3rem;
    font-weight: 500;
    text-transform: uppercase;
}
#fiche .bluetitle.duree {
    font-size: 2rem;
    text-transform: none;
}
#fiche .btnpanier .text{
    letter-spacing: 0;
}
#fiche .bloc_description {
    padding: 0;
}
#fiche #desproduit{
    font-size: 18px;
    text-align: center;
}
#fiche #desproduit ul{
    padding-left: 0;
}
#article #quantite {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
#article .tab-content > div > p {
    font-weight: 400;
    color: var(--color1);
}
#fiche .bloc_tab {
    max-width: none;
}
#fiche #contenufiche {
    margin-top: 8rem;
}
#fiche #contenufiche .select_forfait {
    color: var(--color2);
    font-weight: 700;
    top: -8rem;
}
#article .nav-tabs .nav-link {
    font-size: 1.8rem;
    font-weight: 500;
}
#fiche .personnalisation .h1 {
    font-family: 'Cardo', sans-serif;
    text-align: left;
    text-transform: none;
}
#fiche #inpQty {
    color: var(--color2);
    border: var(--color2);
    margin-bottom: 1rem;
    margin-left: 0;
    max-width: 10rem;
    text-align: center;
}
#contenufiche #btn-acheter {
    justify-content: center;
    margin-bottom: 2rem;
    gap: 1rem;
}

#contenufiche #btn-acheter .btn-custom.btn-primary {
    width: 100%;
    height: 100%;
    padding: .8rem;
    line-height: 1.1;
    min-height: 6rem;
    margin: 0;
}

#contenufiche #btn-acheter .btn-custom.btn-primary:hover {
    border-color: var(--color2);
}

#contenufiche #btn-acheter .btn-custom.btn-primary .bold {
    font-weight: 400;
}
#fiche #desproduit .list_declinaison .link_declinaison {
    color: var(--color2);
    border-color: var(--color2);
}
#fiche #desproduit .list_declinaison.current .link_declinaison,
#fiche #desproduit .list_declinaison.current:hover .link_declinaison,
#fiche #desproduit .list_declinaison:hover .link_declinaison {
    color: #fff;
    background-color: var(--color2);
}

/* Espace collaborateur */
.bloc_cagnotte,
.planning_c .planning_card.current,
.planning_c .liste_horaires .planning_card.current::after{
    background-color: rgba(214, 185, 129, 0.7);
}
.planning_c .liste_horaires {
    border: 3px solid rgba(214, 185, 129, 0.7);
}

/**************** MEDIA QUERY ***********************/

@media screen and (max-width: 1200px) {

    .icon-sep-right, .icon-sep-left {
        font-size: 0.3rem;
    }

    .slider_container .bx-viewport,
    .slider_container .slider,
    .slider_container .noslideshow,
    .slider_container .slide{
        height: 515px!important;
    }

    .menu_header{
        width: calc(100% - 55rem);
    }

}


@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 991px) {

    #header.sticky,
    #header {
        height: 80px;
    }

    #header.sticky ~ #contenu {
        margin-top: 80px;
    }

    .tablette-only {
        display: block;
    }
    .slider_container .bx-viewport,
    .slider_container .slider,
    .slider_container .noslideshow,
    .slider_container .slide{
        height: 360px!important;
    }

    .main_slider .bx-wrapper .bx-pager {
        bottom: 5rem;
    }

    .slider_container .textslider{
        font-size: 4rem;
    }

    .slider_container .descriptionslider{
        display: none;
    }

    #home_content #offres_block{
        margin-bottom: 4rem;
        gap: 2rem;
    }

    #home_content #offres_block_moment h2,
    #home_content #offres_block_moment .h3,
    #home_content #offres_block_moment p{
        text-align: center;
    }
    #home_content #offres_block_moment .offres_block_moment_content h2{
        font-size: 3rem;
        margin-top: 2rem;
    }

    #home_content #offres_block_moment .offres_block_moment_content h3{
        font-size: 2rem;
    }
    #home_content #offres_block_moment .offres_block_moment_content p{
        margin-bottom: 3rem;
    }

    #offres_block_cadeau {
        padding: 0;
    }

    #offres_block_cadeau .bg-grey{
        height: 33.7rem;
    }

    #offres_block_cadeau .bg-grey input{
        margin-bottom: 1px;
    }

    #offres_block_cadeau .bg-grey .btn-custom_c{
        margin-top: 2.5rem;
    }


    #offres_block_cadeau .bg-grey.left-col .btn-custom_c{
        margin-bottom: -.7rem;
    }

    #liste_presta{
        margin-left: 0;
        margin-right: 0;
    }

    #liste_presta .cta-liste{
        margin-left: auto;
        width: 100%;
    }

    .footer_bot_links{
        margin-bottom: 2rem;
    }

    #panierCodesRemises input[type="text"] {
        width: calc( 100% - 110px);
        padding-left: 3px;
    }

    #liste_presta li {
        border-bottom: none;
        margin-bottom: 1.5rem;
    }

    #liste_presta li form {
        gap: .8rem;
    }

    #liste_presta li form .space-btn {
        display: none;
    }

    #liste_presta li .btn-custom.btn-produit {
        width: 26rem;
        margin-left: auto;
    }
    #blocimg .main_image_noslider a img {
        width: calc(100% - 8rem);
        margin-left: 4rem;
        margin-right: 4rem;
        aspect-ratio: 1;
    }
    .main_image_noslider > li:nth-child(1) > figure:nth-child(1) {
        aspect-ratio: auto;
    }
    #prix .sep-right,
    #prix .sep-left{
        width: 30%;
    }
}

@media screen and (max-width: 768px) {

    #home_content #offres_block {
        flex-wrap: wrap;
    }

    #home_content #offres_block_moment .bg_degrade {
        width: auto;
        margin-bottom: 0;
    }

    .bx-wrapper .bx-pager {
        bottom: 6%;
    }

    .mobile-only {
        display: block;
    }

    /* ----------------------------------------------------------------- */
    /* HOME
    /* ----------------------------------------------------------------- */
    .slider_container .bx-viewport {
        height: 360px !important;
    }

    .slider_container .card_slider{
        padding-right: 6rem;
    }

    .slider_container .textslider {

        max-width: 40rem;
    }

    .bx-wrapper .bx-prev{
        left: 15px;
    }

    .bx-wrapper .bx-next{
        right: 15px;
    }

    #offres_block_cadeau .bg-grey{
        height: 38.5rem;
    }

    .block_actus_c .actus_bordered{
        margin-bottom: 2.5rem;
    }

    .produit_card .link_block_card .h3{
        font-size: 2.5rem;
    }
    .planning_c .liste_jours .planning_card {
        border-bottom: 1px solid rgba(214, 185, 129, 0.7);
    }
    .btn-custom.btn-primary,
    .button.button-bleu {
        padding: 0.8rem 3.2rem;
    }
    .double_border {
        top: 2rem;
    }
    #liste_presta li {
        padding-right: 0;
    }
    #liste_presta li form {
        flex-direction: row;
        flex-wrap: nowrap;
        width: calc(100% + .8rem);
        min-width: 0;
        gap: .4rem;
        margin-left: -.4rem;
        margin-right: -.4rem;
    }
    #liste_presta li .btn-custom {
        height: auto;
        width: 100%;
        outline: none;
    }
    #liste_presta .right_block .presta-libelle .mobile-link-product {
        margin-top: 10px;
        text-align: left;
    }
    #liste_presta li .btn-custom.btn-produit {
        display: none;
    }
    #liste_presta .right_block .presta-libelle .h4 {
        font-size: 2.2rem;
    }
    .produit_card > .link_block_card {
        padding-top: 3rem;
    }
    .produit_card > .link_block_card .img_c {
        aspect-ratio: 1;
        height: auto;
        width: calc(100% - 6rem);
        margin-left: auto;
        margin-right: auto;
    }
    .produit_card > .link_block_card {
        padding-bottom: 0;
    }
    .produit_card > .link_block_card .detail_pack_c {
        display: none;
    }
    .produit_card > .link_block_card .btn-custom.btn-primary {
        width: 100%;
    }
    .list_rubrique_c .header_rubrique {
        font-size: 2.5rem;
    }
    .list_rubrique_c .header_rubrique .light {
        line-height: 1.2;
        margin-bottom: 1rem;
    }
    .list_rubrique_c .header_rubrique .highlight {
        text-transform: none;
    }
    #w_container.pdv_page_c #chemin{
        margin-left: 0;
        margin-right: 0;
    }
    #w_container.pdv_page_c {
        padding: 0;
    }
}

@media only screen and (max-width: 575px) {

    #univers_block_content .bx-pager {
        display: block;
    }

    .lang-header {
        display: none;
    }

    #espaceclientheader .text,
    #panierheader .text {
        font-size: 1rem;
    }

    #header a .icon {
        font-size: 2.4rem;
    }

    .qualispa-c {
        position: absolute;
        bottom: 50px;
        left: 50%;
        transform: translateX(-50%);
    }

    #logo_f {
        display: none;
    }

    #footer .right-col {
        text-align: center;
        margin-bottom: 120px;
    }

    .link-footer-facebook,
    .link-footer-instagram {
        position: absolute;
        top: 240px;
    }

    .link-footer-facebook{
        left: 30px;
    }

    .link-footer-instagram{
        right: 30px;
    }

    #footer .footer_bot_links li.link-footer-facebook::after,
    #footer .footer_bot_links li.link-footer-instagram::after {
        display: none;
    }

    #footer .footer_bot_links a:has(.icon) {
        margin-left: 0;
        margin-right: 0;
    }
    #footer .footer_bot_links a .icon {
        font-size: 20px;
    }

    .page_home .cta-mobile-fixed a,
    .page_news .cta-mobile-fixed a,
    .page_pdv .cta-mobile-fixed a,
    .page_cms .cta-mobile-fixed a,
    .page_avis .cta-mobile-fixed a {
        display: flex;
    }

    .btn-lg{
        padding: 1.5rem 3rem;
    }

    .slider_container .bx-viewport,
    .slider_container .slider,
    .slider_container .noslideshow, .slider_container .slide{
        height: 200px!important;
    }

    .slider_container .card_slider{
        padding-right: 7rem;
    }

    #offres_block_cadeau .bg-grey{
        margin-right: 1.5rem;
    }

    #description_block {

        margin-left: 1rem;
        margin-right: 1rem;
    }

    #description_block a{
        width: auto;
    }

    #offres_block_cadeau .bg-grey a,
    #offres_block_cadeau .bg-grey button[type="submit"]{
        width: 22rem;
    }

    #offres_block_cadeau .bg-grey input{
        margin-bottom: 0;
    }
    .block_actus_c .bx-wrapper .bx-prev, .block_actus_c .bx-wrapper .bx-next {
        display: block;
    }
    .produit_card .link_block_card h3,
    .produit_card .link_block_card .h3 {
        height: auto;
    }
    #btn-acheter > div::after {
        content: none;
    }
    #fiche #contenufiche form {
        display: flex;
        flex-direction: column;
    }
    #contenufiche #btn-acheter {
        margin-top: 2rem;
    }
    #contenufiche #panier {
        order: -1;
    }
    #fiche .select_forfait.nb1btn,
    #fiche .select_forfait.nb2btn,
    #fiche .select_forfait.nb3btn,
    #btn-acheter > div.nb1btn,
    #btn-acheter > div.nb2btn,
    #btn-acheter > div.nb3btn {
        width: calc(50% - .5rem);
    }
    #contenufiche .select_forfait_c {
        display: flex;
        width: 100%!important;
    }
    #fiche #contenufiche .select_forfait {
        margin-left: 0;
    }
    #contenufiche .select_forfait_c > * {
        width: calc(50% - .5rem)!important;
    }
    #contenufiche #btn-acheter .btn-custom.btn-primary {
        font-size: 1.3rem;
    }
    #fiche #contenufiche .select_forfait label {
        display: none;
    }
    #fiche #inpQty {
        height: 100%;
        background-color: #fff;
        border: 1px solid var(--color1);
        color: var(--color1);
    }
    .list_rubrique li:nth-child(4n + 2)::after {
        content: none;
    }
    .list_rubrique li:nth-child(4n + 3)::before {
        content: none;
    }
}
