/* @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;}

.d-none {display: none;}

.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; font-weight: 500;}
    .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%;}
    .full-slideshow {position: relative; width: 100%; height: 100%;}
    .full-slideshow article {position: absolute; top: 0; left: 0; width: 100%;}
    .full-slideshow article:first-child {position: relative; opacity: 1}
    .full-slideshow article img {display: block;}

.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) {
    .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
--------------------------------------------------------------------------------------- */
.text-left {text-align: left;}
.text-right {text-align: right;}
.text-center {text-align: center;}

.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: 2em 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: #dba61f; color: #fff; border: none;}
.rte .btn-2:hover {background: #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: 12px;}
    .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;}
}

/* PICTOS
--------------------------------------------------------------------------------------- */
i.btn-phone,
i.btn-facebook,
i.btn-instagram {padding: 10px; -webkit-filter: grayscale(1); filter: grayscale(1); background: no-repeat center /100%;}
i.btn-phone {background-image: url(../img/btn-phone.svg);}
i.btn-facebook {background-image: url(../img/btn-fb.svg);}
i.btn-instagram {background-image: url(../img/btn-inst.svg);}
i.btn-facebook:hover,
i.btn-instagram:hover {-webkit-filter: grayscale(0); filter: none;}
.btn-phone-mobile {display: none;}


/* 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: 68px; 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: 56px;}
    } @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: 980px) {
        div.xp-details span {font-size: 32px; line-height: 1.4em; padding: 0 .5em;}
    } @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: 26px;}
        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;}
    }

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

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


    /* EXPERIENCES
    --------------------------------------------------------------------------------------- */
        #page-xp-1 {padding-bottom: 50px;}
        #page-xp-2 {width: calc(100% - 40px); display: flex; flex-flow: row wrap; gap: 20px;}
        #page-xp-2 article {min-width: calc(50% - 10px); max-width: calc(50% - 10px);}
        #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: 100%; background: center no-repeat; background-size: cover;}
        #page-xp-2 article > div a {text-decoration: none;}
        #page-xp-2 article > div a span {display: inline-block; padding: 20px 0 5px; border-bottom: 1px solid; color: #dba61f; font-weight: bold;}

        #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 {padding: 50px 70px;}
            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 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 {min-width: 100%; max-width: unset;}
        } @media (max-width: 480px) {
            #page-xp-1 h1 {font-size: 26px;}
            #page-xp-2 article > div.xp-content {padding: 20px;}
        } @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: #dba61f; 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: #dba61f;}
        #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: 60px;}
            .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%; border-bottom: 1px solid #848484; padding-bottom: 45px;}
        #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.menu-secondary {position: absolute; top: 28px; right: 20px; 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; text-decoration: none;}
        div.menu-secondary > div.language-swicher > div {display: none; position: absolute; top: auto; left: 0; text-align: center; width: 100%;}

        @media (min-width: 1600px), (max-width: 1024px) {
            header#header-wrap div.menu-secondary {opacity: 1;}
        }


    /*header#header-wrap > div {max-width: 1270px;}*/
    header#header-wrap ul#main-menu {display: flex; flex-flow: row wrap; justify-content: center; width: 100%; padding: 0;}
    header#header-wrap ul#main-menu > li {position: relative; min-width: 160px; padding: 100px 30px 0; vertical-align: top; display: inline-block;}
    header#header-wrap ul#main-menu > li button {width: 10px; height: 16px; margin-left: 5px; background: transparent url(../img/btn-expand.svg) center no-repeat; vertical-align: text-top;}
    header#header-wrap ul#main-menu > li#logo-wrap {padding: 0;}
    header#header-wrap ul#main-menu > li#logo-wrap a {position: relative; border: none;}
    header#header-wrap ul#main-menu > li#logo-wrap a img:last-of-type {position: absolute; left: 50%; bottom: 13px; transform: translateX(-50%); width: 240px; height: unset; background: url(../img/bg-body.jpg);}
    header#header-wrap ul#main-menu ul {display: none; position: absolute; top: auto; left: 50%; width: 400%; transform: translateX(-50%); text-align: center; margin: 0; padding: 0;}
    header#header-wrap ul#main-menu 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}
        header#header-wrap ul#main-menu > li#logo-wrap a img {width: 200px; height: auto;}
        header#header-wrap ul#main-menu > li#logo-wrap a img:last-of-type {width: 88%; bottom: 13px;}
        header#header-wrap > div.content {max-width: 95%}
        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;}
        .desktop-phone {display: none;}
        .btn-phone-mobile {display: inline; margin-right: 5px;}
    } @media (max-width: 768px) {
        div.menu-secondary > div {margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; border: 0;}
        div.menu-secondary > div + div {margin-left: 10px;}
    }


        .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: 6px; width: 24px; height: 16px;}
            .menu-toggle button > span span {height: 1.5px;}

            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; 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 + 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: 80%; height: auto;}

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

        #footer-secondary a.btn-instagram-wrap {text-decoration: none;}
        #footer-secondary a.btn-instagram-wrap i {margin-left: .5em;}
        #footer-secondary address {font-style: normal; font-size: 18px; line-height: 2.3em;}
        #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; padding-top: 40px;}
                #footer-secondary address {font-size: 12px;}
                #footer-secondary nav {margin-top: 40px; font-size: 8.5px;}
        } @media (max-width: 600px) {
            #footer-secondary address {font-size: 9px;}
            #footer-secondary nav {margin-top: 20px; font-size: 7.5px;}

            br.tablette {display: initial;}

        } @media (max-width: 460px) {
            #footer-primary {margin-bottom: 45px;}
            #footer-primary a#logo {font-size: 16px;}
            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: #dba61f; 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: #dba61f; 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;}
    }