/*
Theme Name: asticotheme
Theme URI: None
Author: asticoweb.com
Author URI: https://asticoweb.com
Description: Simple wordpress theme made with ❤️ by asticoweb.com | All rights reserved ©
Tags: theme, madewithlove, asticonet, asticoweb, asticoweb.com, asticotheme, coding, spreadthelove, personal, personaluseonly
Version: 5.0
License: License asticoweb.com
License URI: https://asticoweb.com
Text Domain: asticotheme
*/

::selection {
    background: var(--vert);
    color: white;
    text-shadow: none;
}

::-webkit-selection {
    background: var(--vert);
    color: white;
    text-shadow: none;
}

::-moz-selection {
    background: var(--vert);
    color: white;
    text-shadow: none;
}

*,
*:after,
*:before {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    outline: none !important;
    text-decoration: none;

}

section,
div,
header,
nav,
article,
section,
aside,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
ul,
li,
figure,
figcaption,
class,
img {

    margin: 0;
    padding: 0;
}


html,
body {

    width: 100%;
    padding: 0;
    margin: 0;
    font-family: 'Incluse Sans', sans-serif;
    position: relative;
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: transparent;
}

body {

    overflow-x: hidden;
    overflow-y: overlay;
    background: white;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    border-left: solid 1px var(--blanc90);
}

::-webkit-scrollbar-thumb {
    background: var(--vert);
    border-left: solid 1px var(--blanc90);
}

::-webkit-scrollbar-button {
    display: none;
}

.page main>section>h1,
br.clear,
a.post-edit-link {

    display: none;
}

input::placeholder,
textarea::placeholder {

    opacity: 1 !important;
}

input {

    accent-color: var(--vert);
}


:root {
    --or: #C7B273;
    --or2: #99865C;
    --vert: #17453F;
    --olive: #6F7B59;
    --gris25: #3F3E3Ded;
    --gris50: #7F7D7A;
    --gris75: #BFBCB8;
    --blanc90: #E5E1DA;
    --blanc95: #F2EFE7;
}

.balance {

    text-wrap: balance;
}

.title span {

    color: var(--vert);
}

.frame:after {

    content: '';
    position: absolute;
    inset: 12.5px;
    border: solid 2px var(--vert);
    pointer-events: none;
}

.scroll {

    scroll-margin-top: 100px;
}

/*------------------------------------*\
    DARK MODE
\*------------------------------------*/

input[type="search"] {

    background: white;
}

/*------------------------------------*\
    UNDERLINE
\*------------------------------------*/

.underline .elementor-button-text,
.elementor-widget-text-editor a,
#header ul li a,
#footer ul li a,
#footer ul li button {

    position: relative;
}

.elementor-widget-text-editor a {

    line-height: 1.25 !important;
    display: inline-block;
}

.underline .elementor-button-text:before,
.elementor-widget-text-editor a:before,
#footer ul li a:before,
#header ul li a:not(.reserver):before,
#footer ul li button:before {
    content: '';
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
    transition: transform .5s;
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--or2);
    top: 100%;
    left: 0;
    pointer-events: none;
}

#nav a:before {

    top: auto;
    bottom: 0;
    background-color: white;
    transition: transform .5s, background-color .5s;
}

.underline .elementor-button-text:before,
.elementor-widget-text-editor a:before,
#header ul li a:hover::before,
#footer ul li a:hover::before,
#footer ul li button:hover::before {

    transform-origin: 0% 50% !important;
    transform: scale3d(1, 1, 1) !important;
}

.underline a:hover .elementor-button-text:before,
.elementor-widget-text-editor a:hover::before {

    transform-origin: 100% 50% !important;
    transform: scale3d(0, 1, 1) !important;
}

.underline a {

    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    color: var(--or2) !important;
}


/*------------------------------------*\
    VISIONNEUSE
\*------------------------------------*/

.elementor-slideshow__header,
.elementor-lightbox .swiper .swiper-pagination-fraction,
.elementor-slideshow__footer,
.elementor-lightbox .dialog-lightbox-close-button,
.elementor-lightbox .elementor-swiper-button {

    color: var(--vert) !important;
    transition: color .3s;
}

.elementor-lightbox .elementor-swiper-button i {

    background: transparent !important;
}

.elementor-slideshow__header i {

    transition: color .3s;
}

.elementor-lightbox .dialog-lightbox-close-button:hover,
.elementor-lightbox .elementor-swiper-button:hover,
.elementor-slideshow__header i:hover {

    color: var(--or2) !important;
}

.elementor-lightbox .elementor-lightbox-image {

    box-shadow: none !important;
}

/*------------------------------------*\
    HBOOK
\*------------------------------------*/

.hb-search-specific-accom-number,
.hb-accom-price-caption-dash,
.hb-view-price-breakdown,
/* .hb-price-breakdown-title, */
.hb-title-search-form,
.hb-clearfix:after {

    display: none !important;
}

.hb-booking-search-form * {

    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: 1;
}

.hb-booking-search-form input[type="text"],
.hb-booking-search-form select {

    padding: 15px;
    border: solid 1px var(--gris75);
    color: var(--e-global-color-text);
    height: 100%;
}

input[type="submit"] {

    cursor: pointer;
    transition: color .3s, background-color .3s;
    width: 100% !important;
}

.hb-datepick-popup-wrapper,
.hb-datepick-wrapper {

    border-radius: 0 !important;
    border: solid 1px var(--e-global-color-ae2337a) !important;
    margin: -1px 0 !important;
}

.hb-search-fields,
.hb-search-fields-and-submit {

    display: flex;
    flex-wrap: wrap;
    gap: 12.5px;
}

.hb-search-fields-and-submit {

    flex-direction: column;
}

.hb-accom-number-wrapper,
.hb-search-form-multiple-accom .hb-check-dates-wrapper,
.hb-search-form-multiple-accom .hb-search-button-wrapper,
.hb-search-form-no-children .hb-check-dates-wrapper,
.hb-search-form-no-children .hb-people-wrapper,
.hb-search-form-no-children .hb-search-button-wrapper {

    flex: 1;
    margin: 0;
}

/*---Résultat de recherche---------------------------------*/

.hbook-wrapper {

    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
}

.hb-booking-search-form {

    margin: 0 !important;
}

.hb-accom-step-wrapper,
.hb-multi-accom-choices {

    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
}

.hb-multi-accom-choices:has(.hb-multi-accom-search-results-title) {

    width: calc(50% - 12.5px);
    flex-direction: column;
    gap: 12.5px;
}

.hb-search-result-title-section {

    text-align: center;
}

.hb-accom {

    padding: 25px !important;
    border: solid 1px var(--gris75);
    border-radius: 7.5px !important;
    text-wrap: balance;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    width: calc(50% - 12.5px);
    overflow: hidden;
    gap: 12.5px;
}

.hb-multi-accom-choices:has(.hb-multi-accom-search-results-title) .hb-accom {

    width: 100%;
}

.hb-accom a {

    margin: -25px -25px 12.5px -25px;
    border-bottom: solid 1px var(--gris75);
    overflow: hidden;
}

.hb-accom a:hover img {

    scale: 1.05;
}

.hb-accom-img {

    margin: 0 !important;
    aspect-ratio: 16/9;
    object-fit: cover;
    transition: scale .5s;
}

.hb-price-breakdown {

    color: var(--gris50);
}

.hb-accom-title {

    font-family: var(--e-global-typography-secondary-font-family);
    font-size: var(--e-global-typography-secondary-font-size);
}

.hb-accom-price,
.hb-accom-price-caption {

    margin: 0 !important;
    line-height: 1;
}

.hb-accom-price-total {

    display: flex;
    align-items: baseline;
    gap: 6.25px;
}

.hb-step-button {

    width: 100%;
}

.hb-previous-step-2 {

    margin-bottom: 25px;
}

.hb-confirm-button {

    margin-top: 25px;
}

.hb-resa-summary-title {

    margin: 25px 0 12.5px 0;
}

/*------------------------------------*\
    LOADER
\*------------------------------------*/

.loader {

    position: fixed;
    inset: 0;
    z-index: 99999;
    transition: translate .5s;
}

.loader-1 {

    background-color: var(--blanc90);
    transition-delay: .3s;
}

.loader-2 {

    background-color: var(--or);
    transition-delay: .2s;
}

.loader-3 {

    background-color: var(--vert);
    transition-delay: .1s;
}

.active-loader {

    translate: 0 -100%;
}

.active-loader-link {

    opacity: 0;
    translate: 0 100%;
}

.active-loader-1 {

    transition-delay: 0s;
}

.active-loader-2 {

    transition-delay: .1s;
}

.active-loader-3 {

    transition-delay: .2s;
}


/*------------------------------------*\
    GTRANSLATE
\*------------------------------------*/

.gtranslate_wrapper {

    position: fixed;
    z-index: 999;
    top: 50%;
    translate: 0 -50%;
    right: 0;
    display: flex;
    flex-direction: column;
    background-color: white;
    border: solid 1px var(--blanc90);
    border-right: none;
}

.gtranslate_wrapper a {

    transition: color .3s;
    line-height: 1 !important;
    padding: 12.5px;
}

.gtranslate_wrapper a:not(:last-child) {

    border-bottom: solid 1px var(--blanc90);
}

.gtranslate_wrapper a.gt-current-lang,
.gtranslate_wrapper a:hover {

    color: var(--vert);
}

/*------------------------------------*\
    HEADER
\*------------------------------------*/

#header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}

#header .wrapper {
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 50px;
}

#header .wrapper>*:not(a#logo) {

    flex: 1;
}

#header a#logo {

    position: relative;
    padding: 25px;
    display: flex;
    transition: margin .3s;
}

.active-header a#logo {

    margin-bottom: -25px;
}

#header:before,
#header a#logo:before {

    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: white;
    transition: translate .3s;
    translate: 0 calc(-100% - 1px);
}

#header a#logo:before {

    border: solid 1px var(--blanc90);
    border-top: none;
}

#header:before {
    background-color: var(--blanc95);
    border-bottom: solid 1px var(--blanc90);
}

.active-header:before,
.active-header a#logo:before {

    translate: 0 !important;
}

#header a#logo svg {

    height: 75px;
    width: auto;
}

a#logo svg * {

    transition: fill .3s;
}

.active-header a#logo svg #txt * {

    fill: var(--vert) !important;
}

a#logo:hover svg * {

    fill: var(--or2) !important;
}

#header a {

    color: white;
    transition: color .3s;
}

.active-header a {

    color: var(--vert) !important;
}

#header ul {

    list-style: none;
    display: flex;
    align-items: center;
    gap: 37.5px;
}

#header ul.btn-wrapper {

    justify-content: flex-end;
}

#header ul.btn-wrapper a.reserver,
#footer a.reserver {

    padding: 15px 25px;
    color: var(--vert);
    background-color: var(--or);
    line-height: 1.75em;
    display: inline-block;
    transition: color .3s, background-color .3s;
}

#header ul.btn-wrapper a.reserver:hover,
#footer a.reserver:hover {

    background-color: var(--or2);
    color: white !important;
}

/*------------------------------------*\
    FOOTER
\*------------------------------------*/

#footer {

    background-color: #123732;
}

#footer .wrapper,
#footer .container {

    display: flex;
    justify-content: space-between;
}

#footer .wrapper {
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 100px;
    padding-bottom: 50px;
    gap: 50px 0;
}

#footer .container:not(.bottom) {

    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
}

#footer ul {

    list-style: none;
}

#footer a {

    color: white;
    transition: color .3s;
}

#footer a:hover {

    color: var(--or);
}

#footer a#logo svg {

    height: 100px;
    width: auto;
}

#footer p {

    color: var(--gris75);
    font-size: 14px;
    width: 350px;
}

#footer .bottom {

    width: 100%;
    padding-top: 50px;
    border-top: solid 1px #0c2521;
}

#footer .bottom ul {

    display: flex;
    gap: 37.5px;
    list-style: none;
}

#footer .bottom li,
#footer .bottom a,
#footer button {

    border: none;
    padding: 0;
    background: transparent;
    color: var(--gris75);
    font-size: 14px;
    line-height: 1;
    transition: color .3s;
    cursor: pointer;
}

#footer .bottom a:hover,
#footer button:hover {

    color: var(--ciel);
}


#footer a#asticoweb {

    position: relative;
    display: flex;
    align-items: center;
    transition: color .3s;
}

#footer a#asticoweb:hover {

    color: var(--or);
}

#footer a#asticoweb:before {

    content: '';
    display: inline-block;
    width: 22.5px;
    height: 22.5px;
    margin-right: 6.25px;
    background-color: var(--gris75);
    transition: background-color .3s;
    -webkit-mask: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 194.4 200"><path d="M90.5,102.2c-1.2-.2-2.9-.3-4.1-.3-5.9-.4-12.2,1.5-15.3,6.3-5,6.9-3.9,19,3.7,23.8,3.4,2.3,7.8,2.8,13.4,2.2h0c11.7-1,22.3-7.9,28.6-17.6-6.6-7.8-15.9-13.2-26.3-14.4Z"/><path d="M108.3,0C59.7,0,0,59.3,0,109.3s59.7,90.7,108.3,90.7,86.1-40.7,86.1-90.7h0C194.4,59.5,156.9,0,108.3,0ZM137.2,142.2c0,3-2.5,5.4-5.5,5.3-2.9,0-5.3-2.4-5.3-5.3,0-3.1-.4-6.2-1.2-9.1-10,10.4-24.1,16.7-38.5,16.9-7.2.3-14.5-1.2-20.5-5.5-10.6-7.3-14.6-21.3-11.6-33.4,3-12.6,13.9-21.7,26.8-22.3,1.8-.2,3.7-.1,5.5,0,1,.1,3.1.2,4.1.3,11.6,1.5,22.6,7,30.8,15.3.4-1.6.6-3.5.8-5.1.1-1.1.1-2.7.1-3.9-.1-3.6-.8-7.1-2.3-10.4-.5-.9-1.1-2.3-1.7-3.1-8.6-14.2-28.9-16.6-40.3-4.5-9.8,9.5-24-4-14.9-14.3,17.9-18.3,49.2-17.5,65.9,2,6.7,7.5,10.7,17.4,11.1,27.4h0c.5,10.2-2.2,20.5-7.2,29.4,2.7,6.5,4,13.5,3.9,20.3Z"/></svg>') no-repeat;
    mask: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 194.4 200"><path d="M90.5,102.2c-1.2-.2-2.9-.3-4.1-.3-5.9-.4-12.2,1.5-15.3,6.3-5,6.9-3.9,19,3.7,23.8,3.4,2.3,7.8,2.8,13.4,2.2h0c11.7-1,22.3-7.9,28.6-17.6-6.6-7.8-15.9-13.2-26.3-14.4Z"/><path d="M108.3,0C59.7,0,0,59.3,0,109.3s59.7,90.7,108.3,90.7,86.1-40.7,86.1-90.7h0C194.4,59.5,156.9,0,108.3,0ZM137.2,142.2c0,3-2.5,5.4-5.5,5.3-2.9,0-5.3-2.4-5.3-5.3,0-3.1-.4-6.2-1.2-9.1-10,10.4-24.1,16.7-38.5,16.9-7.2.3-14.5-1.2-20.5-5.5-10.6-7.3-14.6-21.3-11.6-33.4,3-12.6,13.9-21.7,26.8-22.3,1.8-.2,3.7-.1,5.5,0,1,.1,3.1.2,4.1.3,11.6,1.5,22.6,7,30.8,15.3.4-1.6.6-3.5.8-5.1.1-1.1.1-2.7.1-3.9-.1-3.6-.8-7.1-2.3-10.4-.5-.9-1.1-2.3-1.7-3.1-8.6-14.2-28.9-16.6-40.3-4.5-9.8,9.5-24-4-14.9-14.3,17.9-18.3,49.2-17.5,65.9,2,6.7,7.5,10.7,17.4,11.1,27.4h0c.5,10.2-2.2,20.5-7.2,29.4,2.7,6.5,4,13.5,3.9,20.3Z"/></svg>') no-repeat;
}

#footer a#asticoweb:hover::before {

    background-color: var(--or);
}

/*------------------------------------------------------------------------*\
    RESPONSIVE
\*------------------------------------------------------------------------*/

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

    .img {

        aspect-ratio: 4/3;
    }

    /*------------------------------------*\
    HBOOK
\*------------------------------------*/

    .hb-search-fields {

        flex-direction: column;
    }

    .hb-accom-number-wrapper,
    .hb-search-form-multiple-accom .hb-check-dates-wrapper,
    .hb-search-form-multiple-accom .hb-search-button-wrapper,
    .hb-search-form-no-children .hb-check-dates-wrapper,
    .hb-search-form-no-children .hb-people-wrapper,
    .hb-search-form-no-children .hb-search-button-wrapper {

        width: 100% !important;
    }

    .hb-accom,
    .hb-multi-accom-choices:has(.hb-multi-accom-search-results-title) {

        width: 100%;
    }

    .hb-change-search-wrapper {

        margin-top: 12.5px !important;
    }
    
    /*------------------------------------*\
    HEADER
\*------------------------------------*/

    #nav {

        position: fixed;
        bottom: 0;
        left: 0;
        background-color: var(--blanc95);
        border-top: solid 1px var(--blanc90);
        width: 100%;
    }

    #nav ul {

        gap: 0 !important;
    }

    #nav li {

        flex: 1;
    }

    #nav li:nth-child(2) {

        border-left: solid 1px var(--blanc90);
        border-right: solid 1px var(--blanc90);
    }

    #nav a {

        line-height: 58px;
        display: inline-block;
        color: var(--vert) !important;
        width: 100%;
        text-align: center;
    }

    #nav a:before {

        top: -1px !important;
    }

    #header a#logo {

        margin-left: -25px;
    }

    .active-header a#logo {

        margin-left: 0 !important;
    }

    /*------------------------------------*\
        FOOTER
\*------------------------------------*/

    #footer {

        margin-bottom: 58px;
    }

    #footer .wrapper {

        padding: 100px 50px 50px 50px;
    }

    #footer .wrapper,
    #footer .container {

        flex-direction: column;
        justify-content: center;
        align-items: center !important;
        text-align: center;
    }

    #footer .bottom {

        gap: 25px;
    }

    #footer .bottom ul {

        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
}

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

    .scroll {

        scroll-margin-top: 108px;
    }

    #header ul.btn-wrapper li:first-child {

        display: none;
    }

    #header .wrapper {

        padding: 0 25px 0 0;
    }

    #header a#logo svg {

        height: 58px;
    }

    #header a#logo,
    .active-header a#logo {

        margin-left: 0 !important;
        margin-bottom: 0 !important;
    }

    #header a#logo:before {

        border-left: none !important;
    }


    /*------------------------------------*\
        FOOTER
\*------------------------------------*/

    #footer .wrapper {

        padding: 50px 25px 25px 25px;
        gap: 25px;
    }

    #footer .bottom {

        padding-top: 25px;
    }

    #footer .bottom li,
    #footer .bottom a,
    #footer button {

        font-size: 12px;
    }

    #footer .bottom ul {

        gap: 25px;
    }
}