/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: EcloLINK
 Author URI: https://eclolink.com
 Template: Divi
 Version: 1.0.0
*/

/* =Theme customization starts here
------------------------------------------------------- */
/*some default rules for ibis chalon*/


img {
    user-drag: none;
    -webkit-user-drag: none;
}
html {
    scroll-behavior: smooth;
}

:focus-visible {
    outline: 1px solid #d3a65d;
    outline-offset: 2px;
}

.section-flex {
    display: flex;
}
.section-flex-bottom{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.ligne-hrzntl-align {
    display: flex;
    flex-direction: row;
    align-items:center;
}
.gap-20{
    gap: 20px;
}
.ligne-vrtcl-align {
    display: flex;
    flex-direction: column;
    align-items:center;
}
.ligne-flex {
    display: flex;
}
.full-height-img,
.full-height-img .et_pb_image_wrap,
.full-height-img .et_pb_image_wrap img{
    height:100%
}
.full-height-img .et_pb_image_wrap img{
    object-fit: cover;
}

.f-w-deco{
    margin: auto;
}
@media screen and (max-width:980px){
    .ligne-hrzntl-align,
    .ligne-flex {
        display: flex;
        flex-direction: column;
    }
}

.et_button_no_icon a.btn-ibis-central:after {
    content: '';
    display: block;
    width: calc(100% - 8px);
    left: calc(3px - 1em);
    margin-left: 1em !important;
    height: calc(100% + 8px);
    top: -5px;
    position: absolute;
    border: 1px solid #d3a65d;
    opacity: 1;
    transition: all 0.3s ease-in-out;
}
.et_button_no_icon a.btn-ibis-central:hover:after {
        width: calc(100% + 8px);
        left: calc(-5px - 1em);
}

.h1,.h2,.h3,
h1,h2,h3{
    font-family: 'Poiret One', sans-serif;
}
.h4,.h5,.h6,
h4,h5,h6{
    font-family: 'mulish', sans-serif;
}
.h1{
    font-size: clamp(2.8125rem, 1.8531rem + 3.8374vw, 7.993rem);
}

.h2{
    font-size: clamp(2rem, 1.3235rem + 2.7059vw, 5.653rem);
}
.h3{
    font-size: clamp(1.4375rem, 0.9633rem + 1.8967vw, 3.998rem);
}
.h4{
    font-size: clamp(1.25rem, 0.9606rem + 1.1574vw, 2.8125rem);
}
.h5{
    font-size: clamp(1.0625rem, 0.8889rem + 0.6944vw, 2rem);
}
.h6{
    font-size: clamp(0.9375rem, 0.8493rem + 0.353vw, 1.414rem);
}

.image-border {
    padding: 15px 15px 15px 15px;
    border: 1px solid #D3A65D;
    border-left: 0;
    border-radius: 500px;
}
.image-section.droite {
    padding: 15px 15px 15px 0;
    border: 1px solid #D3A65D;
    border-left: 0;
    border-radius: 0 500px 500px 0;
}

.image-section.droite img {
    border-radius: 0 500px 500px 0;
}
.image-section.gauche {
    padding: 15px 0 15px 15px;
    border: 1px solid #D3A65D;
    border-right: 0;
    border-radius: 500px 0 0 500px;
}

.image-section.gauche img {
    border-radius: 500px 0 0 500px;
}

.img-deco-section{
    position: absolute !important;
    bottom: 0;
    left: 0;
    right: auto;
    transform: translateY(40px);
    width: fit-content!important;
}



.highlight {
    position: absolute;
    width: 10vw;
    height: 10vw;
    border-radius: 400px;
    border: none;
    z-index: -1;
    background-color: #306e7c;
    filter: blur(150px);
    box-shadow: 0 0 300px 300px #306e7c82;
    top: -10vw;
}

.highlight.left {
    left: 0;
}

.highlight.right {
    right: 0;
}
.highlight.center {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}
.mobile-logo .highlight.center {
    position: absolute;
    width: 10vw;
    height: 10vw;
    border-radius: 400px;
    border: none;
    z-index: -1;
    background-color: #306e7c;
    filter: blur(70px);
    box-shadow: 0 0 50px 150px #306e7c82;
    top: 130px;
}


.highlight.header {
    position: absolute;
    width: 80vw;
    height: 102px;
    border-radius: 0 0 400% 400%;
    border: none;
    z-index: 1;
    background-color: #306e7c;
    filter: blur(72px);
    box-shadow: 0 0 58px 77px #306e7c;
    top: 25px;
    left: 50%;
    transform: translate(-50%, -50%);
}

.deco-title-picto {
    display: flex
;
    align-items: center;
    gap: 60px;
}

.line{
    stroke-dasharray: 400;
    stroke-dashoffset: 400;

}
.line-600{
    stroke-dasharray: 600;
    stroke-dashoffset: 600;

}

.line-800{
    stroke-dasharray: 800;
    stroke-dashoffset: 800;

}


.line.animation{
    animation: dash-400 1.5s ease-in-out forwards;
}
.line-600.animation{
    animation: dash-600 2.5s ease-in-out forwards;
}
.line-800.animation{
    animation: dash-800 3.5s ease-in-out forwards;
}

.circle-animated{
    opacity:0;
}

.circle-animated-600{
    opacity:0;
}

.circle-animated-800{
    opacity:0;
}


.circle-animated.animation{
    animation: show 0.5s ease-in-out 1.2s forwards;
}
.circle-animated-600.animation{
    animation: show 0.5s ease-in-out 1.8s forwards;
}

.circle-animated-800.animation{
    animation: show 0.5s ease-in-out 2.5s forwards;
}

@keyframes dash-400 {
    0% {
        stroke-dashoffset: 400;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@keyframes dash-600 {
    0% {
        stroke-dashoffset: 600;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes dash-800 {
    0% {
        stroke-dashoffset: 800;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@keyframes show {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}


.light-link {
    color: #BCC3C8;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.light-link.contact {
    color: #BCC3C8;
}
.light-link.contact:hover {
    color: #DDAF66;
}

.illustration-bistrot {
    max-width: 20vw;
overflow: hidden;
}
.illustration-bistrot svg{
    width: 100%;
}

/*bouton avec une image - vertical*/

.btn-vrtcl-central-image-wrapper{
    border-radius: 500px;
    position: relative;
    display: flex;
    padding: 10px;
    border: 1px solid #DDAF66;
    transition: all 0.5s ease-in-out;
    background-color: transparent;
}
.btn-vrtcl-central-image-wrapper:hover{
    background-color: #DDAF66;
}

.btn-vrtcl-central-image-wrapper img{
    border-radius: 500px;
    width: 100%;
}

.btn-vrtcl-central-texte{
    position: absolute;
    width: 100%;
    top: -9%;
    left: -20%;
    height: 100%;
}
.btn-vrtcl-central-texte svg{
    width: 60%;
    height: 50%;
    display: flex;
    align-items: flex-start;
}
.btn-vrtcl-central-texte text{
    fill: #DDAF66;
    font-size: 16px;
    font-family: 'mulish', sans-serif;
    text-transform: uppercase;
}

.btn-vrtcl-central-arrow {
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 40px;
    background: #DDAF66;
    width: 60px;
    height: 60px;
    display: flex
;
    align-items: center;
    justify-content: center;
}


.deco-escargot::before {
    content: '';
    position: absolute;
    width: 70%;
    left: 50%;
    transform: translateX(-50%);
    height: 50px;
    top: -50px;
    background-image: url(/wp-content/uploads/frise-escargot.svg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
}

@media screen and (max-width: 980px){
    .reverse-mobile {
        flex-direction: column-reverse;
    }
    .reverse-mobile .et_pb_column:first-child {
        margin-bottom: 0;
    }
    .reverse-mobile .et_pb_column:last-child {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 560px){
    .btn-vrtcl-central-wrapper {
        max-width: 200px;
        margin: auto;
    }
    .btn-vrtcl-central-texte{
        left: -10%;
    }
    .btn-vrtcl-central-content{
        position: relative;
    }
}

/*restauration*/
.carousel-central .swiper-wrapper .swiper-slide {
    max-height: 284px;
    border-radius: 500px;
    overflow: hidden;
    aspect-ratio: 545 / 284;
    max-width: 545px;
}

.carousel-central .swiper-wrapper .swiper-slide img {
    width: 100%;
    border-radius: 0;
}

/* list central*/

ul.list-ibis-central {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 15px;
}
ul.list-ibis-central li {
    display: flex;
    align-items: flex-start;
}
ul.list-ibis-central li div{
    width: calc(100% - 20px);
}
ul.list-ibis-central li::before {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    background-image: url("/wp-content/uploads/list-decoration.svg");
    padding-right: 10px;
    margin-top: 4px;
    background-repeat: no-repeat;
}

/*rse*/
.picto-rse{
    width: fit-content;
    img{
        aspect-ratio: 1 / 1;
        width: 10vw!important;
        max-width: 80px;

    }
}

/*Map*/
#contactMap-wrapper{
    border-radius: 300px;
    border : 1px solid #DDAF66;
    padding: 15px;
}
#contactMap {
    height: 300px;
    border-radius: 300px;
}

@media screen and (max-width:960px){
    #contactMap-wrapper{
        border-radius: 100px;
    }
    #contactMap {
        height: 500px;
        border-radius: 90px;
    }
}


/* FAQ */
.faq{
    border-image-slice: 1;
    border-width: 1px;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid;
    border-image-source: linear-gradient(to right, #d3a65d00, #D3A65D, #d3a65d00);
}

.faq .et_pb_toggle_title:before {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}
.faq .et_pb_toggle_title:after {
    font-size: 25px;
    right: -5px;
    color: #D3A65D;
    font-family: ETmodules !important;
    font-weight: 400 !important;
    content: "" !important;
    border: 1px solid #D3A65D;
    position: absolute;
    width: 23px;
    height: 23px;
    transform: rotate(45deg);
}

/* contact form*/
.contact-form h2 {
    padding: 0;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 40px;
}
.contact-form .flex {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
.contact-form .flex.column {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.contact-form label.half {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.contact-form label.full {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.contact-form label input,
.contact-form label.full textarea{
    width: 100%;
    padding: 15px;
    background: transparent;
    color: #BCC3C8;
}

.contact-form input.text:focus,
.contact-form input.title:focus,
.contact-form input[type=text]:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    color: #BCC3C8;
}

.contact-form .wpcf7-list-item input{
    width: fit-content;
}
.contact-form span:has(.rgpd) {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.4em;
}
.contact-form .infos-supp{
    color: #777B80;
    font-size: 12px;
    line-height: 1.4em;
    margin-bottom: 20px;
}
.contact-form .btn-send-wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.contact-form button.btn-send {
    border-radius: 0;
    text-transform: uppercase;
    padding: 12px;
    cursor: pointer;
    width: fit-content;
}
.contact-form button.btn-send:after {
    content: '';
    display: block;
    width: calc(100% - 8px);
    left: calc(3px - 1em);
    margin-left: 1em !important;
    height: calc(100% + 8px);
    top: -5px;
    position: absolute;
    border: 1px solid #d3a65d;
    opacity: 1;
}
.contact-form button.btn-send:disabled {
    background: #363E45;
    color: grey;
    border: 1px solid grey;

}
.contact-form button.btn-send:disabled:after {
    border: 1px solid grey;

}
.contact-form button.btn-send:disabled:hover{
    background: #363E45;
    color: grey;
    border: 1px solid grey;

}
.contact-form button.btn-send:hover {
    border-radius: 0;
    padding: 12px;
    color: #85221e;

}

@media screen and  (max-width:1200px){
    .btn-chalon .et_pb_button_module_wrappers.et_pb_button_alignment_left{
        text-align: center !important;
    }
    body #page-container .et_pb_section .btn-chalon .et_pb_button_module_wrappers.et_pb_button_alignment_left .et_pb_button_two{
        margin-left: 0 !important;
    }

    .double-column-tablet,
    .double-column-tablet .et_pb_row{
        display: block !important;

        .et_pb_column_1_2{
            width: 100% !important;
            margin-bottom: 3%;
        }
    }
    .triple-column-tablet {
        display: block !important;

        .et_pb_column_1_3{
            width: 100% !important;
            margin-bottom: 3%;
        }
    }
    .four-column-tablet,
    .four-column-tablet.et_pb_gutters2.et_pb_row{
        flex-wrap: wrap;

        .et_pb_column_1_4 {
            width: calc(47%);
            margin-bottom: 3%;
        }
    }
}

@media screen and (max-width:960px){
    .contact-form .flex {
        flex-direction: column;
    }
    .contact-form label.half {
        width: 100%;
    }
}

@media screen and (min-width:980px) and (max-width: 1100px){
    #top-page-header.tablet-on    {
        display: block;
        .et_pb_column.et_pb_column_1_2.et_pb_column_0 .full-height{
            display: block!important;
        }
        .et_pb_column.et_pb_column_1_2.et_pb_column_0{
            width: auto;
        }

        .deco-left {
            justify-content: flex-start;
        }
        .et_pb_column_1{
            display: none !important;
        }
    }
}

/*règles specifique tablettes*/

@media screen and (min-width:768px) and (max-width: 980px) {
    .tablette-container1-5 {
        flex-wrap: wrap;
        flex-direction: row;
    }
    .tablette-container1-5 .et_pb_column_1_5{
        width: 46%;
    }
    .tablette-container1-5 .et_pb_column_1_5:first-of-type{
        margin-right: 4%;
    }
}

