/* @font-face
--------------------------------------------------------------------------------------- */
@font-face {
    font-family: 'libre_caslon_textitalic';
    src: url('../font/librecaslontext-italic-webfont.woff2') format('woff2'),
         url('../font/librecaslontext-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'libre_caslon_textregular';
    src: url('../font/librecaslontext-regular-webfont.woff2') format('woff2'),
         url('../font/librecaslontext-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'quickpenregular';
    src: url('../font/quickpen-webfont.woff2') format('woff2'),
         url('../font/quickpen-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


/* Base structure
--------------------------------------------------------------------------------------- */
html, body {width: 100%; max-width: 100%; min-height: 100vh; overflow-x: hidden; background: #fff url(../img/bg-body.jpg); margin: 0; padding: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
body {font-family: 'libre_caslon_textregular', serif; font-weight: 400; padding-top: 240px; text-align: center;}
@media (max-width: 1024px) {
    body {padding-top: 165px}
} @media (max-width: 480px) {
    body {padding-top: 120px}
}
* {box-sizing: border-box;}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {font-weight: 400}
h1:first-child, h2:first-child, h3:first-child {margin-top: 0;}
strong {font-weight: bold}

a,
a i,
a span,
a path,
a:after,
button,
button i,
button span {color: inherit; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
a:hover {text-decoration: none;}
button {background: transparent; border: none; cursor: pointer; font-family: inherit; font-size: inherit;}

i, em {font-family: 'libre_caslon_textitalic';}

p:first-child,
ul:first-child {margin-top: 0;}
p:last-child,
ul:last-child {margin-bottom: 0;}

button, button:focus,
input, input:focus,
textarea, textarea:focus {outline: none; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0;}

::-webkit-input-placeholder  	{font-family: 'libre_caslon_textregular', serif;}
::-moz-placeholder 				{font-family: 'libre_caslon_textregular', serif;}
:-moz-placeholder 				{font-family: 'libre_caslon_textregular', serif;}
:-ms-input-placeholder 			{font-family: 'libre_caslon_textregular', serif;}

.text-center {text-align: center;}

.clearfix:before, .clearfix:after {content: "."; display:block; height:0; overflow:hidden}
.clearfix:after {clear: both}
.clearfix {*zoom:1;}

.overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: none; z-index: 1000; background: rgba(251, 251, 251, .01);}
.overlay-inner {width: 94%; max-width: 860px; position: absolute; top: 190px; left: 50%; transform: translate(-50%, 0); padding: 40px 150px; border: 1px solid #000; background: transparent; z-index: 1005; background: rgba(251, 251, 251, .9);}
.overlay-inner .modal-container {overflow: auto; max-height: 80vh;}
    .overlay-view {opacity: 0; display: none;}

    .btn-overlay-close {position: absolute; top: 28px; right: 25px; cursor: pointer; padding-right: 40px;}
    .btn-overlay-close:before,
    .btn-overlay-close:after {content: ''; position: absolute; top: 43%; right: 0; width: 33px; height: 1px; background: #000;}
    .btn-overlay-close:before {transform: rotate(45deg);}
    .btn-overlay-close:after {transform: rotate(-45deg);}

    .overlay-logo {margin-bottom: 22px;}

@media (max-width: 950px) {
    .overlay-inner {max-width: 633px; padding: 40px;}
} @media (max-width: 540px) {
    .overlay-inner {padding: 20px; font-size: 13px;}
}


.btn-booking {display: inline-block; text-align: center; -webkit-transition: none; -moz-transition: none; -o-transition: none; transition: none;}


/* section
--------------------------------------------------------------------------------------- */
.content {max-width: 1600px; margin-left: auto; margin-right: auto;}
.section-text-1 {display: table-cell; vertical-align: middle; width: 100vw; height: 450px;}
.section-text-1 > div,
.section-text-2 > div {width: 92%; max-width: 1600px; margin: 0 auto;}
.section-text-3 > div {width: 92%; max-width: 980px; margin: 0 auto;}

@media (max-width: 1100px) {
    .section-text-1 {display: block; height: auto; padding-top: 35px; padding-bottom: 40px;}
} @media (max-width: 1024px) {
    .content {max-width: 820px;}
} @media (max-width: 480px) {
    .section-text-1 > div,
    .section-text-2 > div {width: 86%;}
    .section-text-3 > div {width: 100%; padding-left: 65px; padding-right: 65px;}
}


/* Acordeon
--------------------------------------------------------------------------------------- */
.acordeons .acordeon {margin-top: 2em;}
.acordeons .acordeon:first-child {margin-top: 0;}
.acordeons .acordeon .acordeon-title {width: 100%; height: 58px; line-height: 58px; ;font-size: 17px; font-weight: 600; border: 1px solid #000; border-left: 0; border-right: 0;}
.acordeons .acordeon .acordeon-title span {cursor: pointer; font-family: 'libre_caslon_textitalic'; text-decoration: underline; font-weight: normal;}
.acordeons .acordeon .acordeon-title span + span {display: none;}
.acordeons .acordeon .acordeon-active span {display: none;}
.acordeons .acordeon .acordeon-active span + span {display: inline;}
.acordeons .acordeon .acordeon-content {height: 0; overflow: hidden; padding-left: 60px; padding-right: 60px;}
.acordeons .acordeon .acordeon-content p:first-child {padding-top: 2em;}

@media (max-width: 780px) {
    .acordeons .acordeon .acordeon-title {height: auto; min-height: 40px; line-height: 40px; font-size: 13px;}
    .acordeons .acordeon .acordeon-content {padding-left: 20px; padding-right: 20px;}
    .acordeons .acordeon .acordeon-content p {padding-bottom: 1em;}
    .acordeons .acordeon .acordeon-content br {display: none;}
} @media (max-width: 680px) {
    #page-info-3 {width: 86%; margin: 0 auto;}
    #page-info-3 > div {padding: 0;}
    .acordeons .acordeon .acordeon-title {line-height: 1.3em; padding-top: 7px; padding-bottom: 7px;}
    .acordeons .acordeon .acordeon-title i,
    .acordeons .acordeon .acordeon-title span,
    .acordeons .acordeon .acordeon-active span + span {display: none;}
}



/* full-slideshow
--------------------------------------------------------------------------------------- */
.full-slideshow-wrap {position: relative; overflow: hidden; width: 100%; height: calc(100vh - 240px);}
    .full-slideshow {width: 100%; height: 100%;}
    .full-slideshow article {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0;}
    .full-slideshow article:first-child {position: relative; opacity: 1}
    .full-slideshow article img {display: none;}

.full-slideshow-wrap button[class$=slide] {display: none;}
.full-slideshow-active button[class$=slide] {display: block; opacity: 0;}
.full-slideshow-active:hover button {opacity: 1;}

    .arrow {position: absolute; width: 60px; height: 60px; background: rgba(0, 0, 0, .4) url(../img/btn-arrow.svg) no-repeat center /80%; z-index: 10; border: none; cursor: pointer;}
    .arrow-left {top: 50%; left: 0; margin-top: -30px; transform: rotate(90deg);}
    .arrow-right {top: 50%; right: 0; margin-top: -30px; transform: rotate(-90deg);}
    .arrow-bottom {bottom: 0; left: 50%; margin-left: -30px;}

@media (max-width: 1024px) {
    .full-slideshow-wrap { height: calc(100vw / 1.4);}
    .arrow {width: 40px; height: 40px; margin-top: -20px;}
} @media (max-width: 768px) {
    .full-slideshow-wrap {height: auto; background: transparent;}
    .full-slideshow article img {display: inherit; width: 100%; height: auto; left: 0; transform: none;}
    .arrow {width: 30px; height: 30px; margin-top: -15px;}
    .full-slideshow-active button.slide {opacity: 1;}
} @media (max-width: 430px) {
    .arrow-bottom {display: none!important}
}


/* text
--------------------------------------------------------------------------------------- */
.rte h1,
.rte h2,
.rte h3 {font-size: 39px; color: #dba61f; margin-top: 0; margin-bottom: 21px;}
.rte h4 {font-size: 19px; margin-top: 0; margin-bottom: 2em; font-weight: 600;}
.rte p + h4 {margin-top: 1.2em;}

.rte p {margin: 0; padding: 0 0 2em; font-size: 19px; line-height: 1.6em;}
.rte p:last-of-type {padding: 0;}
.rte p:last-of-type + a {margin-top: 2em;}
.rte p:last-of-type + button {margin-top: 2em;}
.rte .acordeons + p {margin-top: 2em;}

.rte a,
.rte a:hover {text-decoration: underline;}

.rte [class*=btn-] {font-size: 15px; width: 415px; max-width: 100%; height: 40px; margin: 30px 0 0; border: 1px solid #000; cursor: pointer; text-transform: uppercase;}
.rte a[class*=btn-] {display:inline-block; line-height: 2.5em; text-decoration: none;}
.rte .btn-1 {color: #000; background: transparent;}
.rte .btn-1:hover {background: #000; color: #fff}
.rte p [class*=btn-],
.rte p + [class*=btn-] {margin-top: 0;}

.rte .btn-2 {background: #000; color: #fff;}
.rte .btn-2:hover {background: #fff; color: #000}

.text-left,
.rte .text-left {text-align: left;}

@media (max-width: 1300px) {
    .rte h1,
    .rte h2,
    .rte h3 {font-size: 35px;}
    .rte h4 {font-size: 18px;}
    .rte p {font-size: 18px;}
} @media (max-width: 1100px) {
    .rte h1,
    .rte h2,
    .rte h3 {font-size: 32px;}
    .rte h4 {font-size: 16px;}
    .rte p {font-size: 16px;}
} @media (max-width: 1024px) {
    .rte h1,
    .rte h2,
    .rte h3 {font-size: 24px; margin-bottom: 18px;}
    .rte h4 {font-size: 13px;}
    .rte p {font-size: 13px;}

    .rte [class*=btn-] {width: 300px; height: 23px; font-size: 13px; margin-top: 20px;}
    .rte a[class*=btn-] {line-height: 1.8em;}
} @media (max-width: 480px) {
    .rte h1,
    .rte h2,
    .rte h3 {font-size: 16px;}
    .rte h4 {font-size: 10px;}
    .rte p {font-size: 10px; padding-bottom: 1.6em;}
    /*.rte br {display: none;}*/
    .rte [class*=btn-] {font-size: 9px;}
    .rte a[class*=btn-] {line-height: 2.5em;}
}

/* HOME
--------------------------------------------------------------------------------------- */
#home-slide1 .btn-booking {position: absolute; top: 30px; right: 40px; z-index: 800;}
#home-slide1 article div {position: absolute; top: 50%; left: 10%; transform: translateY(-50%); width: 80%; text-align: center; color: #fff; font-family: 'quickpenregular'; font-size: 95px; line-height: 1.6em;}

#home-instagram article {float: left; width: 12.5%;}
#home-instagram article > a {position: relative; display: block; width: 100%; padding-bottom: 100%; background: no-repeat center; background-size: cover; overflow: hidden;}
#home-instagram article > a:hover {-webkit-filter: grayscale(1); filter: grayscale(1);}
#home-instagram article > a > video {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%;}
#home-instagram:after {content: ''; display: table; clear: both;}

#home-xp {width: 100%;}
#home-xp a {display: block; float: left; position: relative; width: 33.33%;}
#home-xp a > div {position: relative; width: 100%; padding-bottom: 100%; background-size: cover; overflow: hidden;}
#home-xp a > div.xp-details {position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; background: rgba(0, 0, 0, .5); -webkit-transition: opacity .3s ease-in-out,margin .3s ease-in-out; -moz-transition: opacity .3s ease-in-out,margin .3s ease-in-out; -o-transition: opacity .3s ease-in-out; transition: opacity .3s ease-in-out;}
#home-xp a:hover > div.xp-details {opacity: 1;}
    div.xp-details span {position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; text-align: center; font-size: 72px; font-family: 'quickpenregular'; color: #fff;}
    div.xp-details span.a {position: absolute; top: auto; left: auto; bottom: 38px; right: 38px; display: block; width: 53px; height: 53px; border: 1px solid #fff;}
    div.xp-details span.a:hover {background: #000;}
    div.xp-details span.a:before,
    div.xp-details span.a:after {content: ''; display: block; background: #fff; position: absolute;}
    div.xp-details span.a:before {width: 1px; height: 62%; top: 19%; left: 50%; margin-left: -0.5px;}
    div.xp-details span.a:after {width: 62%; height: 1px; top: 50%; left: 19%; margin-top: -0.5px;}

    @media (max-width: 1280px) {
        div.xp-details span {font-size: 60px;}
    } @media (max-width: 1024px) {
        #home-slide1 article div {font-size: 60px;}
        #home-xp {padding-left: 120px; padding-right: 120px;}
        #home-xp a {width: 50%;}
        #home-xp a:nth-child(4) ~ a {display: none;}
    } @media (max-width: 780px) {
        #home-slide1 article div {font-size: 40px;}
        #home-xp {padding-left: 6%; padding-right: 6%;}
    } @media (max-width: 600px) {
        #home-xp {padding-left: 0%; padding-right: 0%;}
        #home-xp a:nth-child(4) ~ a {display: none;}
        div.xp-details span {font-size: 30px;}
        div.xp-details span.a {display: none;}
    } @media (max-width: 480px) {
        #home-slide1 article div {font-size: 22px; line-height: 1.6em}
        #home-instagram {display: none;}
        #home-text3 {border-bottom: 1px solid #848484;}
    }

/* PAGE
--------------------------------------------------------------------------------------- */
section.page-text {padding: 81px 0 87px;}
section.page-text p img {margin: 42px 0;}
section.page-text p:first-child img {margin-top: 0;}
section.page-text + section.page-text {padding-top: 0;}

section#page-text2 {border-bottom: 1px solid #848484;}

@media (max-width: 1024px) {
    section.page-text {padding: 40px 0;}
    section.page-text p img {margin: 0; max-width: 100%; height: auto;}
}


    /* EXPERIENCES
    --------------------------------------------------------------------------------------- */
        #page-xp-1 {padding-bottom: 50px;}
        #page-xp-1 h1 {margin: 0; font-size: 60px; font-family: 'quickpenregular';}
        #page-xp-2 {width: 100%;}
        #page-xp-2 article {float: left; width: 50%;}
        #page-xp-2 article:nth-child(odd) {padding-right: 10px;}
        #page-xp-2 article:nth-child(even) {padding-left: 10px;}

        #page-xp-2 article > div {width: 100%;}
        #page-xp-2 article > div .xp-cover {width: 100%; padding-bottom: 85%; background: center no-repeat; background-size: cover;}

        #page-xp-2 .slideFade-auto-wrap {position: relative;}
        #page-xp-2 .slideFade-auto-wrap .slideFade-auto > div {position: absolute; top: 0; left: 0; opacity: 0}
        #page-xp-2 .slideFade-auto-wrap .slideFade-auto > div:first-child {position: relative; opacity: 1}


        #page-xp-2 article > div.xp-content {display: table-cell; height: 450px; padding: 0 70px; vertical-align: middle;}
            div.xp-content h3 {margin: 0 0 24px;}

        @media (max-width: 1024px) {
            #page-xp-1 h1 {font-size: 50px;}
            #page-xp-2 article > div.xp-content {height: 300px; padding: 0 40px;}
            #page-xp-2 article > div.xp-content br {display: none;}
        } @media (max-width: 980px) {
            #page-xp-1 h1 {font-size: 40px;}
        } @media (max-width: 768px) {
            #page-xp-1 h1 {font-size: 32px;}
            #page-xp-2 article {width: 100%; padding: 0 65px!important;}
            #page-xp-2 article > div.xp-content {display: block; height: auto; width: 100%; padding: 40px 0;}
        } @media (max-width: 480px) {
            #page-xp-1 h1 {font-size: 26px;}
        } @media (max-width: 400px) {
            #page-xp-1 h1 {font-size: 24px;}
            #page-xp-2 article {padding: 0 30px!important;}
        }


    /* BOOKING
    --------------------------------------------------------------------------------------- */
    #page-room-list {display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; flex-flow: row wrap;}
    #page-room-list a {-webkit-flex: auto; flex: auto; padding: 0 10px; text-decoration: none; letter-spacing: .02em;}
    #page-room-list a > span {display: block; width: 100%; height: 75px; line-height: 75px; font-size: 22px;}
    #page-room-list a > span.has_note {padding-top: 20px; line-height: 20px;}
    #page-room-list a > span.has_note small {line-height: 1em; font-size: 14px;}
    #page-room-list a > span:nth-child(1) {background: #a2a19e; color: #fff; margin-bottom: 20px;}
    #page-room-list a > span:nth-child(2) {background: #daa620; margin-bottom: 10px;}
    #page-room-list a > span:nth-child(3) {background: #e6c775;}

    #page-room-details {margin-top: 43px; margin-bottom: 7px;}
    #page-room-details span {display: inline-block; width: 280px; height: 70px; line-height: 1em; margin: 0 10px; padding-top: 13px; font-size: 22px; text-align: center;}
    #page-room-details span small {line-height: 1em; font-size: 16px;}
    #page-room-details span:nth-child(1) {background: #daa620;}
    #page-room-details span:nth-child(2) {background: #e6c775;}

    #page-booking-2 .btn-2 {margin: 0; height: 65px;}

    @media (max-width: 1350px) {
        #page-room-list a {letter-spacing: 0; font-size: 18px;}
        #page-room-list a > span.has_note small {font-size: 14px;}
        #page-room-details span {font-size: 18px; height: 64px;}
        #page-room-details span small {font-size: 14px;}
    } @media (max-width: 1350px) {
        #page-room-list a {padding: 0 5px;}
        #page-room-details span {margin: 0 2px;}
    } @media (max-width: 1280px) {
        #page-room-list a:nth-of-type(5) {-webkit-flex: 50%; flex: 50%; padding-top: 40px;}
    } @media (max-width: 980px) {
        #page-room-list a {min-width: 20%;}
        #page-room-list a:nth-of-type(3) ~ a {-webkit-flex: 50%; flex: 50%; padding-top: 40px;}
    } @media (max-width: 640px) {
        #page-room-details span {margin: 0 2px 6px;}
    } @media (max-width: 545px) {
        #page-room-list a {min-width: 40%;}
        #page-room-list a:nth-of-type(2) ~ a {-webkit-flex: 50%; flex: 50%; padding-top: 40px;}
    } @media (max-width: 480px) {
        #page-room-list { -webkit-flex-direction: column; flex-direction: column;}
        #page-room-list a {display: block;}
        #page-room-list a span,
        #page-room-details span {font-size: 14px; height: 40px; line-height: 40px; margin-bottom: 5px!important}
        #page-room-details span {line-height: 20px; padding: 6px;}
        #page-room-list a > span.has_note {padding-top: 7px; line-height: 14px;}
        #page-room-list a {min-width: 100%!important; padding-top: 30px!important;}
        #page-room-list a:nth-of-type(1) {padding-top: 0!important;}
        #page-room-details span {max-width: 100%; height: auto; padding: 0;}
        #page-room-list small,
        #page-room-details small {font-size: 10px!important;}
    }



    /* INFORMATIONS
    --------------------------------------------------------------------------------------- */
        #map {width: 100%; height: 600px; margin-bottom: 2em;}

        @media (max-width: 768px) {
            #map {height: 300px;}
        }

    /* ROOMS
    --------------------------------------------------------------------------------------- */
        .page-rooms {padding-top: 90px; padding-bottom: 90px; max-width: 1180px;}
            .page-rooms-details {display: flex; text-align: left;}
            .page-rooms-details > div {width: 50%; padding-right: 10px;}
            .page-rooms-details > div + div {width: 50%; padding-right: 0; padding-left: 10px;}

                .page-rooms-pictos {margin-top: 2em;}
                .page-rooms-pictos img {display: inline-block; margin-right: 19px; margin-bottom: 19px;}

        .page-rooms + #page-rooms-1 {padding-top: 0;}

        #page-booking-3 {width: 100%;}
        #page-booking-3 .btn-2 {margin-top: 45px; }

        @media (max-width: 1200px) {
            .page-rooms {max-width: 85%;}
        } @media (max-width: 1024px) {
            .page-rooms {max-width: 75%; padding-top: 40px; padding-bottom: 40px;}
            .page-rooms h2 {margin-bottom: 10px;}
            .page-rooms p {padding-bottom: 10px;}

            .page-rooms-pictos {margin-top: .8em;}
            .page-rooms-pictos img {width: 30px; height: auto; margin-right: 10px; margin-bottom: 10px;}

            .page-rooms .btn-1 {margin-top: 40px; }
            .page-rooms-details {display: block; text-align: center;}
            .page-rooms-details > div,
            .page-rooms-details > div + div {width: 100%; padding: 0;}
        } @media (max-width: 768px) {
            .page-rooms-pictos img {width: 20px; margin-right: 5px;}
        }

    /* PRESS
    --------------------------------------------------------------------------------------- */
    #page-press-1 {padding-bottom: 50px;}
    #page-press-1 h1 {margin: 0; font-size: 39px; margin-bottom: 21px;}
    #page-press-2 {display: flex; flex-flow: row wrap; align-items: center; justify-content: center; width: 100%;}
    #page-press-2 article {flex: 0 0 360px; min-width: 33%; padding: 15px 35px;}

    #page-press-2 article a {text-decoration: none;}
    #page-press-2 article img {max-width: 100%; height: auto;}
    #page-press-2 article h3 {margin: 15px 0 0; font-size: 26px;}
    #page-press-2 article h3 + span {display: block; padding-top: 15px; min-height: 36px;}
    #page-press-2 article .press-cover a,
    #page-press-2 article .press-cover span {display: block; position: relative; margin: 0 auto; width: 320px; height: 414px; overflow: hidden; border: 1px solid #000;}
    #page-press-2 article .press-cover a img,
    #page-press-2 article .press-cover span img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 90%;
        transform: translate(-50%, -50%);
    }
    #page-press-2 article .press-cover a:after {
        opacity: 0;
        transition: all .3s ease-in;
        content: '\f002';
        font: normal normal normal 14px/1 FontAwesome;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .4);
        display: flex;
        justify-content: center;
        align-items: center;
        color: rgba(251, 251, 251, .6);
        font-size: 60px;
    }
    #page-press-2 article .press-cover a:hover:after {
        opacity: 1;
    }

    @media (max-width: 1024px) {
        #page-press-1 h1 {font-size: 50px;}
        #page-press-2 article > div.press-content br {display: none;}
    } @media (max-width: 980px) {
        #page-press-1 h1 {font-size: 40px;}
    } @media (max-width: 768px) {
        #page-press-1 h1 {font-size: 32px;}
        #page-press-2 article {width: 100%; padding: 0}
    } @media (max-width: 480px) {
        #page-press-1 h1 {font-size: 24px;}
        #page-press-2 article .press-cover a,
        #page-press-2 article .press-cover span {width: 300px; height: 388px;}
    }


/* HEADER
--------------------------------------------------------------------------------------- */
header {position: absolute; top: 0; left: 0; width: 100%; height: 240px; background: #fff url(../img/bg-body.jpg); z-index: 1000; border-bottom: 1px solid #848484;}
header div.content {position: relative;}
header li {list-style: none;}
header li a {padding-bottom: 9px; border-bottom: 1px solid transparent; text-decoration: none; font-size: 18px;}
header li a:hover,
header li a.active {border-color: #000;}

    div#logo-wrap {position: absolute; top: 0; left: 50%; margin: 0 0 0 -135px; z-index: 5;}

    div.menu-secondary {position: absolute; top: 28px; right: 0; z-index: 10; text-align: right;}
    div.menu-secondary > div {position: relative; float: left; height: 26px; line-height: 26px; font-size: 16px; padding: 0 16px; border-left: 1px solid #000;}
    div.menu-secondary > div:first-child {border: none;}
    div.menu-secondary > div a,
    div.menu-secondary > div button {border: none; background-color: transparent; text-transform: uppercase; text-decoration: none;}
    div.menu-secondary > div.language-swicher > div {display: none; position: absolute; top: auto; left: 0; text-align: center; width: 100%;}

    a.btn-phone,
    a.btn-facebook,
    a.btn-instagram {display: inline; padding: 2px 0 2px 20px; margin: 0 5px; filter: gray; -webkit-filter: grayscale(1); filter: grayscale(1); background: no-repeat center /100%;}
    a.btn-phone {background-image: url(../img/btn-phone.png); display: none;}
    a.btn-facebook {background-image: url(../img/btn-fb.svg);}
    a.btn-instagram {background-image: url(../img/btn-inst.svg);}
    a.btn-facebook:hover,
    a.btn-instagram:hover {-webkit-filter: grayscale(0); filter: none;}

        header#header-wrap div.menu-secondary {opacity: 0;}
        @media (min-width: 1600px) {
            header#header-wrap div.menu-secondary {left: 1170px; right: auto; opacity: 1;}
            .lang-en header#header-wrap div.menu-secondary {left: 1150px;}
        } @media (max-width: 1024px) {
            header#header-wrap div.menu-secondary {left: auto; right: 0!important; opacity: 1;}
        }


/*header#header-wrap > div {max-width: 1270px;}*/
header#header-wrap > div > ul {position: relative; float: left; width: 50%; height: 100%; margin: 0; padding: 0; z-index: 1;}
header#header-wrap > div > ul:nth-child(1) {text-align: right; padding-right: 120px;}
header#header-wrap > div > ul:nth-child(3) {text-align: left; padding-left: 120px;}
header#header-wrap > div > ul > li {position: relative; padding: 100px 30px 0; vertical-align: top; display: inline-block;}
header#header-wrap > div > ul > li button {width: 10px; height: 16px; margin-left: 5px; background: transparent url(../img/btn-expand.svg) center no-repeat;}
header#header-wrap > div > ul:nth-child(1) > li:first-child {padding-left: 0;}
header#header-wrap > div > ul:nth-child(1) > li:last-child {padding-right: 44px;}
header#header-wrap > div > ul:nth-child(3) > li:first-child {padding-left: 44px;}
header#header-wrap > div > ul:nth-child(3) > li:last-child {padding-right: 0;}
header#header-wrap > div > ul ul {display: none; position: absolute; top: auto; left: 50%; width: 400%; transform: translateX(-50%); text-align: center; margin: 0; padding: 0;}
header#header-wrap > div > ul ul li {display: inline-block; padding: 20px 10px 0;}

header#header-wrap div.menu-secondary > div:last-child,
header#header-wrap div.menu-secondary > div a.btn-facebook {margin-right: 0; padding-right: 0;}

@media (max-width: 1300px) {
    /*header#header-wrap > div {max-width: 1085px;}*/
    header#header-wrap > div > ul > li {padding-left: 15px; padding-right: 15px;}
    header#header-wrap > div > ul > li a {font-size: 16px;}
    div.menu-secondary > div {font-size: 15px;}
} @media (max-width: 1100px) {
    /*header#header-wrap > div {max-width: 980px;}*/
    header#header-wrap > div > ul > li {padding-left: 10px; padding-right: 10px;}
    header#header-wrap > div > ul > li a {font-size: 14px;}
    div.menu-secondary > div {font-size: 13px; margin-left: 4px; margin-right: 4px; height: 20px; line-height: 20px;}
        a.btn-phone,
        a.btn-facebook,
        a.btn-instagram {padding-left: 16px}
        .language-swicher {padding-left: 8px; padding-right: 8px;}
} @media (max-width: 1024px) {
    header#header-wrap {height: 165px}
    div#logo-wrap {margin-left: -83px;}
    div#logo-wrap img {width: 166px; height: auto;}
    /*header#header-wrap > div {max-width: 820px;}*/
    header#header-wrap > div > ul:nth-child(1) {padding-right: 40px; text-align: left;}
    header#header-wrap > div > ul:nth-child(3) {padding-left: 40px; text-align: right;}
    header#header-wrap > div > ul > li {padding-top: 60px; padding-left: 10px; padding-right: 10px;}
    header#header-wrap > div > ul > li a {font-size: 12px;}
    header#header-wrap > div > ul > li button {height: 12px; background-size: 75%; margin-left: 0;}
    div.menu-secondary > div {font-size: 11px;}
} @media (max-width: 768px) {
    a.btn-phone {display: inline;}
    .desktop-phone {display: none;}
    div.menu-secondary > div {margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; border: 0;}
}


    .btn-booking i {float: left; width: 34px; height: 34px; margin-left: 2px; background: #dba61f url(../img/btn-arrow-small.png) no-repeat center;}
    .btn-booking span {float: left; width: 204px; height: 34px; line-height: 34px; text-transform: uppercase; background: #dba61f; color: #fff;}
    .btn-booking:hover i,
    .btn-booking:hover span {background-color: #000;}

@media (max-width: 780px) {
    #home-slide1 .btn-booking {top: 10px; right: 5px;}
    #home-slide1 .btn-booking i {display: none;}
} @media (max-width: 490px) {
    #home-slide1 .btn-booking {top: 5px; right: 0;}
        .btn-booking span {font-size: 12px; width: auto; padding: 2px 5px; height: auto; line-height: 22px;}
        .btn-booking i {height: 28px; width: 28px;}
}

header#header-mobile-wrap {position: fixed; height: 90px; z-index: 900; opacity: 0; background: #fff; border-bottom: 1px solid #efefee; -webkit-transition: opacity .3s ease-in-out,margin .3s ease-in-out; -moz-transition: opacity .3s ease-in-out,margin .3s ease-in-out; -o-transition: opacity .3s ease-in-out; transition: opacity .3s ease-in-out;}
header#header-mobile-wrap.isVisible {opacity: 1;}
header#header-mobile-wrap #logo-mobile-wrap {margin-top: 25px;}
header#header-mobile-wrap div.menu-secondary {top: 9px;}

    #logo-mobile-wrap img:nth-of-type(2) {display: none;}

header#header-mobile-wrap .btn-booking {margin-top: -6px;}

    .menu-toggle {position: absolute; top: 9px; left: 0;}
    .menu-toggle button {font-size: 16px; line-height: 22px;}
    .menu-toggle button > span {float: left; position: relative; margin-right: 20px; width: 30px; height: 20px;}
    .menu-toggle button > span span {display: block; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: #000;}
    .menu-toggle button > span span:nth-child(2) {top: 50%;}
    .menu-toggle button > span span:nth-child(3) {top: 100%;}

    #menu-mobile-primary {position: absolute; top: 90px; left: 0; width: 100%; height: 0; opacity: 0; overflow: hidden; background: rgba(255, 255, 255, .9); text-align: center;}
    #menu-mobile-primary ul {padding: 25px 0 0;}
    #menu-mobile-primary li {padding-bottom: 25px;}

    #menu-overlay {background: transparent; z-index: 890;}

    @media (max-width: 1460px) {
        header#header-mobile-wrap .menu-secondary div:nth-of-type(4) {display: none;}
    } @media (max-width: 1100px) {
        .menu-toggle button {font-size: 14px;}
        .menu-toggle button span {margin-right: 14px;}
    } @media (max-width: 1024px) {
        .menu-toggle button {font-size: 13px;}
        .menu-toggle button span {margin-right: 8px;}
    } @media (max-width: 768px) {
        header#header-wrap {display: none;}
        header#header-mobile-wrap {display: block; height: 165px; opacity: 1; background: #fff url(../img/bg-body.jpg); border-bottom: 1px solid #848484;}
            #logo-mobile-wrap img:nth-of-type(1) {display: none;}
            #logo-mobile-wrap img:nth-of-type(2) {display: inline-block; height: 145px; width: auto; margin-top: -20px;}
        #menu-mobile-primary {border-bottom: 1px solid #848484;}

        header#header-mobile-wrap.isVisible {height: 84px;}
            .isVisible #logo-mobile-wrap img:nth-of-type(2) {display: none;}
            .isVisible #logo-mobile-wrap img:nth-of-type(1) {display: inline-block;}

        header#header-mobile-wrap div.menu-toggle {top: 50%; left: 5px; transform: translate(0, -95%);}
        header#header-mobile-wrap div.menu-secondary {top: 50%; right: 5px; transform: translate(0, -120%);}
    } @media (max-width: 500px) {
        header#header-mobile-wrap.isVisible {height: 60px;}
            .isVisible #logo-mobile-wrap {display: none;}
            .isVisible a.btn-phone ~ a {display: none;}

        header#header-mobile-wrap.isVisible .menu-secondary div:nth-of-type(4) {display: inherit; margin-right: 0;}
        header#header-mobile-wrap.isVisible .menu-secondary div:nth-of-type(4) .btn-booking span {font-size: 11px; width: auto; padding: 2px 5px; height: auto; line-height: 16px; float: none;}
        header#header-mobile-wrap.isVisible .menu-secondary div:nth-of-type(4) .btn-booking i {display: none;}

        header#header-mobile-wrap.isVisible div.menu-toggle {top: 13px; left: 5px; transform: none;}
        header#header-mobile-wrap.isVisible div.menu-secondary {top: 20px; right: 5px; transform: none;}
    } @media (max-width: 480px) {
        .menu-toggle button {font-size: 12px; line-height: 18px;}
        .menu-toggle button span {margin-right: 4px; width: 24px; height: 16px; border-width: 2px;}
        .menu-toggle button span:after {height: 2px; margin-top: -1px;}

        header#header-mobile-wrap {height: 120px;}
            #logo-mobile-wrap img:nth-of-type(2) {height: 100px; margin-top: -20px;}

        header#header-mobile-wrap.isVisible div.menu-toggle {top: 17px;}
    }



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

#footer-wrap {margin: 100px 0; padding-top: 100px; text-align: center;}

    #footer-awards a,
    #footer-awards span { display: inline-block; vertical-align: middle; padding: 15px;}
    #footer-awards a img,
    #footer-awards span img { max-width: 190px; height: auto;}

    #footer-infos { margin: 0 0 100px; padding-bottom: 100px; border-bottom: 1px solid #848484; }
    #footer-infos hr {margin: 47px auto; width: 47px;}
    #footer-infos p {line-height: 2.2em;}
    #footer-infos p + p {margin-top: 47px;}
    #footer-infos a[type=tel] {text-decoration: none;}

    #footer-primary {margin-bottom: 55px;}
    #footer-primary a {display: flex; flex-flow: column; align-items: center; gap: 24px; width: max-content; margin: 0 auto; text-decoration: none;}
    #footer-primary a#logo {max-width: 80%;}
    #footer-primary a#logo img {max-width: 76%; height: auto;}

    #footer-primary form {margin: 26px 0 50px;}
    #footer-primary form input {width: 30%; min-width: 200px; height: 44px; line-height: 44px; margin: 0 10px 0 20px; border: 1px solid #000; padding: 0 10px; font-size: 16px; background: transparent;}
    #footer-primary form input::-webkit-input-placeholder    {font-size: 16px; line-height: 44px; color: #000;}
    #footer-primary form input::-moz-placeholder 			 {font-size: 16px; line-height: 44px; color: #000;}
    #footer-primary form input:-moz-placeholder 			 {font-size: 16px; line-height: 44px; color: #000;}
    #footer-primary form input:-ms-input-placeholder 		 {font-size: 16px; line-height: 44px; color: #000;}
    #footer-primary form button {width: 44px; height: 44px; line-height: 44px; border: 1px solid #000; padding: 0; font-size: 16px; text-align: center;}
    #footer-primary form button:hover {background: #000; color: #fff}

    br.mobile,
    br.tablette {display: none;}

    #footer-secondary a[class^=btn-] {margin-left: .5rem;}
    #footer-secondary nav {margin-top: 60px; font-size: 12px;}
    #footer-secondary nav a {text-transform: uppercase; text-decoration: none; }

    @media (max-width: 1100px) {
        #footer-wrap {margin: 40px 0;}
            #footer-primary {font-size: 14px;}
            #footer-primary form {margin: 16px 0 36px;}
            #footer-primary form input,
            #footer-primary form button {height: 32px; line-height: 32px; font-size: 14px;}
            #footer-primary form button {width: 32px;}
            #footer-primary form input::-webkit-input-placeholder    {font-size: 14px; line-height: 32px;}
            #footer-primary form input::-moz-placeholder 			 {font-size: 14px; line-height: 32px;}
            #footer-primary form input:-moz-placeholder 			 {font-size: 14px; line-height: 32px;}
            #footer-primary form input:-ms-input-placeholder 		 {font-size: 14px; line-height: 32px;}
            #footer-secondary address {font-size: 12px;}
            #footer-secondary nav {margin-top: 40px; font-size: 8.5px;}
    } @media (max-width: 600px) {
        #footer-primary form {margin: 16px 0;}
        #footer-primary form label {display: block; margin-bottom: 20px;}
        #footer-primary form input {min-width: 255px;}
        #footer-primary form input,
        #footer-primary form button {height: 24px; line-height: 24px; font-size: 8px;}
        #footer-primary form button {width: 24px;}
        #footer-primary form input::-webkit-input-placeholder    {font-size: 8px; line-height: 24px;}
        #footer-primary form input::-moz-placeholder 			 {font-size: 8px; line-height: 24px;}
        #footer-primary form input:-moz-placeholder 			 {font-size: 8px; line-height: 24px;}
        #footer-primary form input:-ms-input-placeholder 		 {font-size: 8px; line-height: 24px;}
        #footer-secondary address {font-size: 9px;}
        #footer-secondary nav {margin-top: 20px; font-size: 7.5px;}

        .footer-social a.btn-instagram {margin-right: 3px;}
        .footer-social a.btn-facebook {margin-right: 6px;}

        .footer-social span {line-height: 1.8em;}

        br.tablette {display: initial;}

    } @media (max-width: 460px) {
        #footer-primary form input {min-width: 220px;}
        #footer-primary form label {line-height: 1.8em; margin-bottom: 10px;}
        br.mobile {display: initial;}
    }


    /* BOOOKING FORM
    --------------------------------------------------------------------------------------- */
        .dhtmlxcalendar_material {z-index: 1200!important;}

            #bform-title {display: block; font-size: 27px; color: #dba61f; margin-top: 0; margin-bottom: 16px;}
            #bform-caption {display: block; margin-bottom: 46px;}

            #bform-form {text-align: left;}
            #bform-form > div {float: left; width: 100%; margin-bottom: 17px;}
            #bform-form label {float: left; width: 180px; line-height: 44px;}
            #bform-form input {float: left; width: 440px; height: 44px; line-height: 44px; border: 1px solid #000; padding: 0 10px; background: transparent; font-size: 16px;}
            #bform-form textarea {float: left; width: 370px; min-width: 370px; max-width: 370px; height: 140px; border: 1px solid #000; padding: 10px; background: transparent; font-size: 16px;}
            #bform-form .date-wrap input {background: url(../img/bg-date.png) right center no-repeat;}
            #bform-form .select-wrap {float: left; width: 370px; height: 44px; line-height: 44px; border: 1px solid #000; padding: 0 10px; background: url(../img/bg-select.png) right center no-repeat;}
            #bform-form .select-wrap select {-webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; padding: 0; margin: 0; line-height: 44px; width: 100%; height: 100%; float: left; outline: none; font-size: 16px;}
            #bform-form button {max-width: 100%; width: 335px; height: 50px; background: #daa620; color: #fff; text-transform: uppercase;}
            #bform-form button:hover {background: #000;}


            #bform-form .bform-text label {width: 110px;}
            #bform-form .bform-radio input {display: none;}
            #bform-form .bform-radio input + label {float: left; width: auto; margin-right: 20px; cursor: pointer; font-family: 'libre_caslon_textitalic'}
            #bform-form .bform-radio input + label:before {content: ''; display: inline-block; width: 17px; height: 17px; line-height: 15px; font-family: arial, sans-serif; margin-right: 8px; text-align: center; border: 1px solid #000; vertical-align: middle;}
            #bform-form .bform-radio input:checked + label:before {content: 'x';}


            #bform-callback {display: none;}

            @media (max-height: 1200px) {
                #booking-form { position: absolute; top: 100px; transform: translate(-50%, 0); }
            } @media (max-width: 768px) {
                #bform-form label {width: 30%}
                #bform-form input {width: 80%}
                #bform-form textarea,
                #bform-form .select-wrap {width: 70%; min-width: 70%; max-width: 70%;}
                #bform-form .bform-text label {width: 20%;}
            }  @media (max-width: 540px) {
                #booking-form {top: 2%; transform: translate(-50%, 0%);}
                #bform-form label {width: 100%!important;}
                #bform-form .bform-radio label {width: 40%!important;}
                #bform-form .bform-radio input + label {width: auto!important;}
                #bform-form .select-wrap,
                #bform-form div input,
                #bform-form textarea {width: 100%; min-width: 100%;}
            }

/* RGPD
--------------------------------------------------------------------------------------- */
    #cookies-law-banner {position: fixed; z-index: 10; bottom: 0; left: 0; width: 100%; padding: 10px 50px; background: #daa620; color: #fff; font-size: 14px; font-weight: bold; line-height: 1.6em; transition: all .4s ease;}
    #cookies-law-banner label {position: absolute; top: 14px; right: 8px; width: 20px; height: 20px; cursor: pointer;}
    #cookies-law-banner label:before {position: absolute; top: 50%; left: 50%; margin: -7px 0 0 -7px; display: block; content: ''; width: 14px; height: 2px; background: #fff; transform: rotate(45deg); transform-origin: center;}
    #cookies-law-banner label:after {position: absolute; top: 50%; left: 50%; margin: -7px 0 0 -7px; display: block; content: ''; width: 14px; height: 2px; background: #fff; transform: rotate(-45deg); transform-origin: center;}
    input#hideCookieBanner {display: none;}
    input#hideCookieBanner:checked + #cookies-law-banner {opacity: 0;}

    input#accept_policy {display: none;}
    label#accept_policy-label {width: 100%; line-height: 24px; margin: 20px 0;}
    label#accept_policy-label:after {content:''; display: inline-block; width: 17px; height: 17px; margin-left: 1em; line-height: 15px; font-family: arial, sans-serif; margin-right: 8px; text-align: center; border: 1px solid #000; vertical-align: middle;}
    input#accept_policy:checked + label#accept_policy-label:after {content:'X';}
    button.submit-form {display: none;}
    button.submit-form-disabled { background: #bbb!important; cursor: default; cursor: not-allowed;}
    input#accept_policy:checked ~ button.submit-form {display: inline-block;}
    input#accept_policy:checked ~ button.submit-form-disabled {display: none;}

    #newsletter-accept_policy {font-size: .7em;color: #888;font-style: italic;max-width: 900px; margin: 8px auto 0; padding: 0 10px;}
    @media (max-width: 1025px) {
        #newsletter-accept_policy {font-size: 1em;}
    }