/* ==========================================================================
   VARIABLES & FONTS
   ========================================================================== */

:root {
    --first-font: 'MaisonNeue Medium', sans-serif;
    --highlight-font: 'Cambon-Book', sans-serif;
    --font-size: 18px;
    --bg-container: #FAF6EB;
}

@font-face {
    font-family: 'MaisonNeue Medium';
    src: url('./fonts/MaisonNeue-Medium.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Cambon-Book';
    src: url('./fonts/Cambon-Book.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Fuji Bold';
    src: url('./fonts/PPFuji-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* ==========================================================================
   COMPOSANTS
   ========================================================================== */

/* GENERAL */
.non-contractual-pictures{
    position: absolute;
    bottom: 10px;
    right: 10px;
    color: #fff;
    z-index: 10;
}

@media (min-width: 768px) {
    #logo{
        order: -1;
    }
}

@media (min-width: 991px) {
    #open_menu{
        display: none;
    }
}

#highlight_menu ul.menu > li.menu-item-has-children:before,
.languages .desktop > ul > li > a.lang_sel_sel:before{
   border-color: transparent transparent var(--highlighted) transparent;
}

#highlight_menu ul.menu ul.sub-menu,
.languages .desktop > ul > li > ul{
    background: var(--highlighted);
}

#highlight_menu ul.menu ul.sub-menu > li.current-menu-item > a,
#highlight_menu ul.menu ul.sub-menu > li:hover > a,
.languages .desktop > ul > li > ul > li a.lang_sel_other:hover{
    color: #ffffff;
}

/* --- HISTORY --- */
.history_time_line {
    max-width: 1370px;

    .year_wrap {
        .thumb_wrap {
            width: 50%;
        }

        .content .description {
            font-style: normal;
        }

        .title {
            color: var(--main);
            font-size: 3em;
        }
    }
}

/* --- POST PREVIEW CARDS --- */
/* Utilisation de :is() pour éviter la répétition du long sélecteur */
.post_preview_section.carousel .item_wrap .preview .col_content .content {
    :is(.title, .read_more):hover {
        color: white;
    }
}

.post_preview_section.list .wrap.list .prev_wrap .preview .col_content .content{
    text-align: left;
}

.post_preview_section.list .wrap.list .prev_wrap .preview .col_content .content .title:after,
.post_preview_section.list .wrap.list .prev_wrap .preview .col_content .content .price_wrap:after{
    margin-left: 0;
}

.post_preview_section.list .wrap.list .prev_wrap .preview .col_content .content .title:before,
.post_preview_section.list .wrap.list .prev_wrap .preview .col_content .content .price_wrap:before{
    left: 0;
    margin-left: 0;
}

/* --- SLIDESHOW --- */
.slideshow_container .caption {
    .title {
        font-size: 6em;
    }
    .the_subtitle {
        font-size: 1.5em;
    }
}

@media (min-width: 768px) {
    .wrap.list:before {
        display:none;
    }
}

#accommodation_features .room_details {
   gap: 30px;
}

/* PDF BUTTON */

.btns_wrap .btnPdf{
    padding: 0 10px;
    vertical-align: middle;
}

.btns_wrap .btnPdf a {
  border: solid 2px;
  padding: 10px 20px;
  border-color: var(--highlighted);
  color: var(--highlighted);
}
/* ROOM STARTING FROM */
.main #room_book_0 .btn{
    transform: none;
    left: initial;
    position: relative;
    display: inline-block;
}

/* ROOM AMENITIES BLOCK */

#accommodation_features .room_features_list .box_wrap .box:before{
    top: -3px;
    bottom: -3px;
    left: -3px;
}

/* OPENING HOURS BLOCK */
.opening_hours_section .opening_content:before{
    top: -3px;
    bottom: -3px;
    left: -3px;
}

/* ==========================================================================
   MEDIA QUERIES (RESPONSIVE)
   ========================================================================== */

/* --- MOBILE (< 768px) --- */
@media (max-width: 767px) {
    .history_time_line .year_wrap {
        .thumb_wrap {
            flex-wrap: wrap;

            .thumb {
                width: 100%;
                min-height: 350px;
            }
        }

        .title {
            width: 100%;
            margin-top: 1em;
        }

        /* Groupement par type de n-th-child */
        &:nth-child(3n+1) {
            .content {
                color: var(--bg-color-associated);
                
                &:before {
                    background: transparent;
                }
            }
            .title {
                color: var(--titles);
            }
        }

        &:nth-child(2n) .content {
            padding-top: 1.5em;
            padding-bottom: 1.5em;
        }
    }
}

/* --- DESKTOP (> 1400px) --- */
@media (min-width: 1400px) {
    .history_time_line .year_wrap .thumb_wrap {
        padding-right: 0;
    }

    h2:not(.the_subtitle), 
    .big_title, 
    .the_title {
        font-size: 3em;
    }
}


.slideshow_container .caption {
width:100%;
}

.slideshow_container .frame .frame_border {
display:none;
}

.image_left .container.container_large .content_container {
     background: var(--bg);
}

.image_right .container.container_large .content_container {
    background: var(--bg);
}

.wrap.list .prev_wrap .preview .col_content:before {
    background: transparent;
}

@media (min-width: 1200px) {
    .container {
        width: 1400px;
    }
}

.extra_content_section .subtitle {
    margin: 10px 0 10px 0;
}

#highlight_menu ul.menu > li > a {
    display: block;
    color: var(--secondary);
 }

#open_menu .icon:before {
    border-color: var(--secondary);
}

#open_menu .icon:after {
    background: var(--secondary);
}

@media (min-width: 768px) {
    .btns_wrap .btnPdf:after {
        display: none;
    }
}

#accommodation_features .room_features_list .box_wrap .box .box_title:before,
#accommodation_features .room_features_list .box_wrap .box .box_title:after {
    display: none;
}

.image_right .container.container_large .content_container,
.image_left .container.container_large .content_container {
    padding: 4em 3em 4em 3em;
}

.container.container_large .content_container .the_content {
    margin: 0;
}

.additonal_content_section .the_subtitle{
    text-align:left;
}

.additonal_content_section .container_title h2 {
    text-align: left;
}

.additonal_content_section h2:not(.the_subtitle):before,
.additonal_content_section .big_title:before,
.additonal_content_section .the_title:before {
    left: 0;
    margin-left: 0;
}


.additonal_content_section h2:not(.the_subtitle):after,
.additonal_content_section .big_title:after,
.additonal_content_section .the_title:after {
    margin-left: 0;
}
