/*
Theme Name: Le Cyrano
Description: Wordpress theme for the Cyrano hostel at Bergerac
Author: Studio Sentria
Author URI: https://sentria.fr/
Template: Divi
Version: 1.0
*/

@font-face {
font-family: Zapfino;
src: url('/wp-content/themes/cyrano/assets/fonts/Zapfino.woff') format('woff');
font-weight: normal;
}

:root {
    --cb-red: #C2000C;
    --cb-black: #323232;
    --cb-gold: #C6B38E;
}

::-webkit-input-placeholder {
    color: var(--cb-black) !important;
    opacity: .5
}

:-moz-placeholder {
    color: var(--cb-black) !important;
    opacity: .5
}

::-moz-placeholder {
    color: var(--cb-black) !important;
    opacity: .5
}

:-ms-input-placeholder {
    color: var(--cb-black) !important;
    opacity: .5
}

.et_pb_preload:before {
    background: url(/wp-content/uploads/2023/04/hotel-cyrano-10.jpg)!important;
    top: 0!important;
    bottom: 0!important;
    left: 0!important;
    right: 0!important;
    width: auto!important;
    height: auto!important;
}

/* GLOBAL */

h1, h2 {
    font-family: "Zapfino", script !important;
}
.page-title h1:before {
    left: calc(50% - 100px);
    top: -2em;
    content: url(/wp-content/themes/cyrano/assets/gold-ornament.svg);
    display: block;
    position: absolute;
    width: 200px;
    vertical-align: middle;
    opacity: .25;
    z-index: -1;
}
.page-title h1:after {
    content: url(/wp-content/themes/cyrano/assets/3-stars.svg);
    display: block;
    position: relative;
    width: 42px;
    margin: 0 auto;
}
.page-title h1 span {
    color: var(--cb-red);
    font-size: .5em;
    text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff, 1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}
h2:before {
    content: url(/wp-content/themes/cyrano/assets/gold-ornament.svg);
    display: block;
    position: absolute;
    width: 200px;
    vertical-align: middle;
    left: -1em;
    top: -1em;
    opacity: .25;
    z-index: -1;
}
h2.centered:before {
    left: calc(50% - 100px);
    top: -2em;
}
h2 span {
    color: var(--cb-red);
    font-size: .5em;
    text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
             1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}
#et-main-area {
    margin-top: 84px;
}
.reservit-widget {
    border-right: 0;
    padding-right: 0;
    height: 0;
}
#rsvit_btn {
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    font-weight: 700;
    padding: 15px 15px 15px 25px;
}
#rsvit_btn i {
    border: 0;
    margin-right: 0;
    display: block;
}
#rsvit_btn i:before {
    content: url(/wp-content/themes/cyrano/assets/gold-ornament.svg);
    display: block;
    width: 42px;
    margin: auto;
}
#ReservitBestPriceWidget {
    background-color: rgb(255 255 255 / 90%);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
#sb_instagram .sbi_photo {
    border-radius: 8px;
}

/* HEADER */

#menu-menu-principal, #menu-main-menu {
    padding: 5px 0 !important;
}
#menu-menu-principal .mobile-item, #menu-menu-principal .lang-item, #menu-main-menu .mobile-item, #menu-main-menu .lang-item {
    display: none;
}
#menu-menu-secondaire, #menu-secondary-menu {
    align-items: center;
}
#menu-menu-secondaire li, #menu-secondary-menu li {
    margin-top: 0 !important;
}
#menu-menu-secondaire li a, #menu-secondary-menu li a {
    padding-bottom: 0 !important;
}
#menu-menu-secondaire .three-stars-hotel:before, #menu-secondary-menu .three-stars-hotel:before {
    content: url(/wp-content/themes/cyrano/assets/3-stars.svg);
    display: inline-block;
    position: relative;
    width: 32px;
    margin-bottom: 5px;
    margin-right: 5px;
    vertical-align: middle;
    opacity: 1;
}
#menu-menu-secondaire .telephone:before, .fullscreen-menu .et_mobile_menu .telephone:before, #menu-secondary-menu .telephone:before {
    color: var(--cb-gold);
    content: '\e090';
    font-family: 'ETMODULES'!important;
    font-size: 14px;
    margin-right: 5px;
    margin-left: 5px;
}
#menu-menu-secondaire .booking-cta a, .et_mobile_menu .booking-cta a, #menu-secondary-menu .booking-cta a {
    padding: 8px 22px !important;
    border: 2px solid #fff;
    border-radius: 8px;
    transition: all 300ms ease 0ms;
}
.fullscreen-menu .et_mobile_menu .booking-cta a {
    width: fit-content;
    margin: 0 auto;
    border-bottom: 2px solid #fff;
}
.fullscreen-menu .et_pb_row {
    display: flex;
}
.fullscreen-menu .et_pb_row .et_pb_column {
    margin-bottom: 0;
}
.fullscreen-menu .main-logo {
    z-index: 999;
}
#menu-menu-secondaire .booking-cta:hover a, .et_mobile_menu .booking-cta:hover a, #menu-secondary-menu .booking-cta:hover a {
    background-color: var(--cb-gold);
    border-color: var(--cb-gold);
}
#menu-menu-secondaire li a.ig-icon:before, .fullscreen-menu .et_mobile_menu .ig-icon a:before, #menu-secondary-menu li a.ig-icon:before {
    font-size: 14px;
    line-height: 28px;
    height: 28px;
    width: 28px;
    font-family: ETmodules;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 0 0;
    direction: ltr;
    content: "\e09a";
}
.fullscreen-menu .et_mobile_menu .ig-icon a:before {
    color: var(--cb-gold);
    margin-right: 5px;
}
#menu-menu-secondaire li a.ig-icon span, #menu-secondary-menu li a.ig-icon span {
    display: none;
}
.pll-parent-menu-item img {
    width: 14px;
    height: 14px;
    border: 1px solid #fff;
    border-radius: 50px;
}
.pll-parent-menu-item>a span {
    display: none;
}
.pll-parent-menu-item .sub-menu {
    border-radius: 8px;
    width: 120px;
}
.pll-parent-menu-item .sub-menu li a {
    padding: 6px 0px;
}
.pll-parent-menu-item .sub-menu li a:hover {
    background-color: transparent;
}
.fullscreen-menu .et_pb_menu__wrap {
    justify-content: flex-end !important;
}
.fullscreen-menu .et_pb_menu__wrap .et_mobile_nav_menu {
    display: none;
    align-items: center;
}
.fullscreen-menu .opened .et_mobile_menu {
    background-color: var(--cb-red) !important;
    width: 100vw !important;
    position: fixed !important;
    top: 0em !important;
    left: 0vw !important;
    height: 100vh !important;
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: visibility 0.3s, opacity 0.3s ease-in-out;
    padding: 0 !important;
}
.fullscreen-menu .closed .et_mobile_menu {
    background-color: #fff !important;
    text-align: center !important;
    width: 100vw !important;
    position: fixed !important;
    left: 100vw !important;
    top: 0em !important;
    height: 100vh !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    transition: visibility 0.3s, opacity 0.3s, left 1s, ease-in-out;
    opacity: 0 !important;
    visibility: hidden !important;
}
.fullscreen-menu .et_mobile_menu li {
    list-style: none !important;
    text-align: center !important;
    width: 100%
}
.fullscreen-menu .et_pb_menu__wrap span.mobile_menu_bar {
    z-index: 888888 !important;
}
.fullscreen-menu .et_pb_menu__wrap .opened .mobile_menu_bar:before {
    content: "\4d" !important;
    color: #fff;
}
/*.fullscreen-menu .opened .mobile_menu_bar {
    position: fixed !important;
}*/
.fullscreen-menu .et_mobile_menu {
    border-top: none;
}
.fullscreen-menu .et_mobile_menu .menu-item-has-children>a {
    background-color: transparent;
}
.et_mobile_menu li a:hover {
    background-color: transparent;
    opacity: 1;
}
.fullscreen-menu .et_mobile_menu li a {
    border-bottom: none;
}
.fullscreen-menu .et_mobile_menu .lang-item img {
    width: 16px;
    border: 1px solid #fff;
    border-radius: 50px;
}

/* HOMEPAGE */

.home h1:before {
    content: url(/wp-content/themes/cyrano/assets/3-stars.svg);
    display: block;
    position: relative;
    width: 73px;
    vertical-align: middle;
    left: 29px;
    margin-bottom: 20px;
}
.home h1:after {
    content: url(/wp-content/themes/cyrano/assets/wave-gold.svg);
    display: block;
    position: absolute;
    width: 100%;
    left: -7px;
    opacity: .5;
    z-index: -1;
}
.intro-text span {
    font-size: 1.5em;
}
.hero-cta-row {
    align-items: center;
}
.hero-cta-row .et_pb_blurb_content {
    display: flex;
    justify-content: center;
}
.hero-cta-row .et_pb_blurb_content .et_pb_main_blurb_image {
    margin-bottom: 0;
}
.hero-cta-row .cta-btns {
    display: flex;
    justify-content: space-evenly;
}
h2.three-stars:after {
    content: url(/wp-content/themes/cyrano/assets/3-stars.svg);
    display: block;
    position: relative;
    width: 42px;
    margin: 0 auto;
}
.dernieres-actus h2:before {
    display: none;
}
.dernieres-actus h2.centered:after {
    content: url(/wp-content/themes/cyrano/assets/wave-gold.svg);
    display: block;
    position: absolute;
    width: 400px;
    left: calc(50% - 200px);
    top: 34px;
    opacity: .25;
    z-index: -1;
}
.et_pb_blog_grid .et_pb_image_container, .et_pb_blog_grid .et_pb_image_container a {
    margin-bottom: 0;
}
.et_pb_blog_grid h2 {
    z-index: 1;
    margin-top: -20px;
    position: relative;
    border-radius: 8px;
    padding: 10px 20px;
}
.home .et_pb_blog_grid h2 {
    background-color: var(--cb-black);
}
.liste-articles .et_pb_blog_grid h2 {
    background-color: var(--cb-black);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.liste-articles .et_pb_blog_grid h2:before {
    content: "";
    display: none;
}
.liste-articles .et_pb_blog_grid .post-meta {
    background-color: var(--cb-black);
    margin-bottom: 0; 
}
.liste-articles .et_pb_blog_grid .post-content {
    background-color: var(--cb-black);
    margin-bottom: 0;
    padding-bottom: 6px; 
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}
.liste-articles .et_pb_blog_grid .post-content .post-content-inner {
    padding: 12px;
}
.latest-post {
    display: flex;
    align-items: center;
}
.latest-post .post-info {
    background-color: var(--cb-black);
    border-radius: 8px;
    padding: 3em;
    transform: translateX(3em);
    z-index: 1;
}
.latest-post .post-info h2 {
    color: #fff;
    line-height: 1.5em;
}
.latest-post .post-info h2:before {
    content: "";
    display: none;
}
.latest-post .post-info .date {
    color: var(--cb-gold);
    padding: 1em 0;
}
.latest-post .post-info .excerpt {
    color: #fff;
    padding-bottom: 1em;
}
.latest-post .post-featured-img {
    background-size: cover;
    border-radius: 8px;
    height: 50vh;
    transform: translateX(-3em);
    width: 75vw;
}
.latest-post .post-info .post-btn {
    color: var(--cb-gold);
    border: 2px solid var(--cb-gold);
    border-radius: 8px;
    display: inline-block;
    font-size: 14px;
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif;
    font-weight: 700;
    line-height: 1.7em;
    padding: 16px 24px;
}
.post-cards {
    display: flex;
}
.latest-post.post-card {
    flex-direction: column;
    padding: 1em;
    width: calc(100% / 3);
}
.latest-post.post-card .post-featured-img {
    height: 184px;
    transform: none;
    width: 100%;
}
.latest-post.post-card .post-info {
    transform: none;
    text-align: center;
    width: 90%;
    transform: translateY(-3em);
    padding: 2em;
}
.latest-post.post-card .post-info h2 {
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif!important;
    font-size: 18px;
    line-height: 18px;
}

/* SINGLE POST */

.single-post h1:before {
    content: url(/wp-content/themes/cyrano/assets/gold-ornament.svg);
    display: block;
    position: absolute;
    width: 200px;
    vertical-align: middle;
    left: -1em;
    top: -1em;
    opacity: .25;
    z-index: -1;
}
.single-post .article-content h1:before {
    display: none;
}
.single-post .article-content h2 {
    line-height: 54px;
    position: relative;
    margin-top: 2em;
    margin-bottom: 2em;
}
.single-post .publish-date .et_pb_text_inner:before {
    color: var(--cb-gold);
    content: '\e023';
    font-family: 'ETMODULES'!important;
    font-size: 14px;
    margin-right: 5px;
    margin-left: 5px;
}

/* CONTENT */

.legals h2 {
    padding-top: 1em;
}
.legals h2:before {
    display: none;
}
.header-ctas {
    display: flex;
    justify-content: center;
}
.header-ctas .main-cta {
    color: #FFFFFF;
    border-radius: 8px;
    font-size: 14px;
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif;
    font-weight: 700;
    background-color: var(--cb-red);
    padding: 16px 32px;
}
.header-ctas .secondary-cta {
    color: var(--cb-gold);
    font-size: 14px;
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif;
    font-weight: 700;
    text-decoration: underline;
    padding: 16px 32px;
}
.about-room h3 {
    font-family: "Zapfino", script !important;
}
.infos-contact .left-block {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* SLICK SLIDERS */
.slick-slider {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
 
.slider.slick-slider .slick-list .slick-slide {
    float: left;
    margin: 10px;
    border-radius: 8px;
    cursor: grab;
    margin-bottom: 10px;
    transition: all .4s ease-in-out;
}
.slider.slick-slider .slick-list .slick-slide:hover {
    transform: scale(101%);
}
.slider.slick-slider .slick-list .slick-slide:hover {
    transform: scale(101%);
}
.offset-right-slider .slick-list {
    padding-right: 60px;
}
.offset-left-slider .slick-list {
    padding-left: 60px;
}
.offset-slider .slick-list {
    padding-right: 60px;
}
.offset-both-slider .slick-list {
    padding-left: 60px;
    padding-right: 60px;
}

/* CONTACT FORM */

input.wpcf7-form-control.wpcf7-text,textarea.wpcf7-form-control.wpcf7-textarea {
    color: var(--cb-black)!important
}

.input-group p {
    position: relative
}

.input-group p:before {
    display: block;
    position: absolute;
    width: 20px;
    top: -15px;
    left: -10px
}

.form-contact {
    margin-left: -3%
}

.form-contact input,.form-contact select,.form-contact textarea {
    padding: 16px;
    border: 1px solid #3232321a;
    border-radius: 8px;
    color: var(--cb-black);
    width: 100%;
    font-size: 16px;
    font-weight: 300;
    background-color: rgba(0,0,0,0);
}

input.text:focus,input.title:focus,input[type=text]:focus,select:focus,textarea:focus {
    border: 1px solid var(--cb-black);
}

.form-contact .row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}

.form-contact .row.accept-submit {
    align-items: baseline
}

.form-contact .row.accept-submit .input-group p:before {
    display: none
}

.form-contact .row .input-group {
    padding: 0 0 0 3%;
    margin-bottom: 30px!important
}

.form-contact .col-6 {
    width: 50%
}

.form-contact .col-4 {
    width: 33%
}

.form-contact .col-12 {
    width: 100%
}

span.your-file {
    position: relative
}

span.your-file:before {
    content: "Joindre un document (facultatif)";
    position: absolute;
    left: 0;
    right: 0;
    padding: 5px;
    background-color: transparent;
    padding: 15px;
    border: 2px solid;
    font-size: 1.25em;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    border-radius: 50px
}

span.your-file>input {
    opacity: 0
}

.form-contact .aligntop {
    align-items: baseline
}

.form-contact .submit-btn {
    padding: 0 0 0 3%
}

.form-contact .submit-btn input {
    color: #FFF;
    border-width: 0;
    border-radius: 8px;
    letter-spacing: 1px;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 32px;
    background-color: var(--cb-red)
}

.form-contact .wpcf7-acceptance {
    font-size: 12px
}

.form-contact .wpcf7-acceptance label {
    display: flex;
}

.form-contact .wpcf7-acceptance label input {
    width: auto;
    margin-right: 10px
}

.form-contact .wpcf7-acceptance label .wpcf7-list-item-label a {
    color: var(--cb-black);
    font-weight: 700;
}

.wpcf7 form .wpcf7-response-output {
    border: none;
    margin: 0;
    text-align: center;
    font-size: 16px;
    color: var(--cb-black);
}

.form-contact p {
    font-size: 20px;
    text-align: center;
    font-weight: 700
}

.wpcf7-not-valid-tip {
    font-size: 12px
}


/* MAPBOX */

.inner-map {
    height: 75vh;
}

.inner-map .et_pb_code_inner {
    height: 100%
}

.inner-map #map {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    top: 0;
    bottom: 0;
    height: 100%;
    border-top-left-radius: 8px;
}

.mapboxgl-canvas {
    left: 0;
    width: 100%;
    height: 100%
}

.mapboxgl-popup-close-button {
    display: none
}

#map .mapboxgl-popup-content {
    font: 400 15px/22px 'Playfair Display',Georgia,"Times New Roman",serif;
    padding: 0;
    width: 200px;
    border-radius: 8px;
}

.mapboxgl-popup-content .typo {
    background: inherit;
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 5px;
    border-radius: 3px 3px 0 0;
    margin-top: -15px;
    font-size: 12px
}

.mapboxgl-popup-content h3 {
    background: var(--cb-red);
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif;
    text-align: center;
    color: #fff;
    font-size: 18px;
    margin: 0;
    padding: 10px;
    border-radius: 0;
    font-weight: 600;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.mapboxgl-popup-content h4 {
    font-family: 'Playfair Display',Georgia,"Times New Roman",serif;
    color: #000;
    margin: 0;
    padding: 10px;
    font-weight: 400;
    text-align: center
}

.mapboxgl-popup-content .jr-map-popup {
    padding: 10px;
    text-align: center;
    padding-bottom: 10px!important;
    font-size: 12px
}

.mapboxgl-popup-content div {
    padding: 10px
}
.mapboxgl-popup-content .sentria-map-popup {
    text-align: center;
}
.mapboxgl-popup-anchor-top>.mapboxgl-popup-tip {
    border-bottom-color: inherit;
}
.sentria-map-popup {
    padding: 0.5em !important;
}

.marker {
    border: none;
    cursor: pointer;
    height: 64px;
    width: 64px;
    background-image: url(/wp-content/themes/cyrano/assets/marker.png);
    background-size: cover;
}

/* FOOTER */

footer .three-stars-hotel:after {
    content: url(/wp-content/themes/cyrano/assets/3-stars.svg);
    display: inline-block;
    position: relative;
    width: 32px;
    margin-bottom: 5px;
    margin-left: 5px;
    vertical-align: middle;
    opacity: 1;
}
footer .et-menu {
    flex-direction: column;
}
footer .et-menu .mobile-item, footer .et-menu .lang-item {
    display: none !important;
}
footer .et-menu .mobile-item.booking-cta {
    display: block !important;
}
footer .et-menu .mobile-item.booking-cta a {
    padding: 8px 22px !important;
    border: 2px solid #fff;
    border-radius: 8px;
    transition: all 300ms ease 0ms;
    width: fit-content;
}
footer .et-menu .mobile-item.booking-cta:hover a {
    background-color: var(--cb-gold);
    border-color: var(--cb-gold);
}
footer .sub-footer h3 {
    font-family: "Zapfino", script !important;
}
footer .footer-contacts ul {
    list-style-type: none;
    padding: 0;
    padding-left: 22px;
}
footer .footer-contacts ul li:before {
    color: var(--cb-gold);
    font-family: 'ETMODULES'!important;
    font-size: 14px;
    left: 0;
    position: absolute;
}
footer .footer-contacts .telephone:before {
    content: '\e090';
} 
footer .footer-contacts .ig-icon:before {
    content: '\e09a';
} 
footer .footer-contacts .email:before {
    content: '\e010';
} 
footer .footer-contacts .address:before {
    content: '\e01d';
} 

/* MEDIA QUERIES */

@media all and (min-width: 981px) {
    #rsvit_btn {
        transform: translateX(5px);
        transition: transform .4s ease-in-out;
    }
    #rsvit_btn:hover {
        transform: translateX(0px);
    }
}

@media all and (max-width: 980px) {
    .home h1:before {
        width: 25px;
        left: 10px;
    }
    .home h1:after {
        width: 200px;
    }
    .home h1 {
        font-size: 25px;
    }
    #et-main-area {
        margin-top: 82px;
    }
    .fullscreen-menu .et_pb_menu__wrap .et_mobile_nav_menu {
        display: block !important;
        align-items: center !important;
    }
    .open-mobile-menu .et_pb_menu__menu {
        display: flex!important;
    }
    .open-mobile-menu .et_mobile_nav_menu {
        display: none!important;
    }
    .open-mobile-menu .et_pb_menu__wrap {
        justify-content: flex-start;
    }
    #rsvit_btn {
        border-top-left-radius: 8px;
        border-bottom-left-radius: 0px;
        border-top-right-radius: 8px;
    }
    #ReservitBestPriceWidget {
        background-color: rgb(255 255 255 / 100%);
        border-top-left-radius: 8px;
        border-bottom-left-radius: 8px;
        border-top-right-radius: 8px;
        border-bottom-right-radius: 8px;
    }
    .latest-post {
        flex-direction: column;
    }
    .latest-post .post-info {
        transform: translate(0,-3em);
        order: 2;
        width: 90%;
    }
    .latest-post .post-featured-img {
        height: 50vh;
        transform: translate(0,3em);
        width: 100%;
    }
    .post-cards {
        flex-direction: column;
    }
    .latest-post.post-card {
        width: 100%;
    }
    .slider.slick-slider .slick-list .slick-slide {
        height: 200px;
    }
}
