/* 
Theme Name: Diruy
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child theme
Author: Elementor Team & Ajanco
Author URI: https://elementor.com/
Template: hello-elementor
Text Domain: diruy
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*HEADER*/

.menu-secondaire{
    position:relative;
}
.menu-secondaire .search-bar, .menu-secondaire .menu-produits{
    position: absolute;
    transition:all .2s ease-in-out;
}

.menu-secondaire .search-bar, body.search-open .menu-secondaire .menu-produits{
    top:-200px;   
}
.menu-secondaire .menu-produits, body.search-open .menu-secondaire .search-bar{
    top:0;   
}

.menu-principal .logo-diruy{
    position: absolute;
    opacity: 0;
    left:-50px;
    top:-10px;
    transition:all .2s ease-in-out;
}
.menu-principal .menu-scroll{
    opacity: 0;
    left:50px;
    transition:all .2s ease-in-out;
    
}

.menu-principal .slogan-diruy{
    opacity:1;
    left: 0;
    transition:all .2s ease-in-out;
}

body.scrolling .menu-principal .logo-diruy, body.scrolling .menu-principal .menu-scroll{
    opacity: 1;
    left: 0;
}
body.scrolling .menu-principal .slogan-diruy{
    opacity: 0;
    left: 50px;
}

body.elementor-editor-active:not(.elementor-page-8) .menu-secondaire{
    display: none;
}

body .menu-secondaire:hover .menu-produits,
body.menu-blanc .menu-secondaire:hover .menu-produits{
    background-color:#fff !important;
}

@media(min-width:1024px){
    body.menu-blanc .menu-secondaire .menu-produits svg > .logo-diruy-texte,body.menu-blanc .menu-secondaire .e-n-menu-title-container svg, body.menu-blanc .menu-secondaire .menu-produits .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-icon svg, body.menu-blanc .menu-secondaire .elementor-icon svg{
        fill:#fff;
    }

    body.menu-blanc .elementor-widget-n-menu .e-n-menu-title, body.menu-blanc .menu-produits .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text,  body.menu-blanc .menu-secondaire .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-icon i,body.menu-blanc .menu-secondaire .menu-produits .search-btn{
        color:#fff;
    }
    body.menu-blanc .menu-secondaire{
        min-height: 110px;
        margin-bottom: -110px;
        background: rgba(0,0,0,.2);
        background: linear-gradient(180deg,rgba(0, 0, 0, .6) 5%, rgba(0, 0, 0, 0) 100%);
    }

    body.menu-blanc .menu-secondaire:hover .menu-produits svg > .logo-diruy-texte,body.menu-blanc .menu-secondaire:hover .e-n-menu-title-container svg, body.menu-blanc .menu-secondaire:hover .menu-produits .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-icon svg, body.menu-blanc .menu-secondaire:hover .elementor-icon svg{
        fill:var(--e-global-color-primary);
    }

    body.menu-blanc .menu-secondaire:hover .elementor-widget-n-menu .e-n-menu-title, body.menu-blanc .menu-secondaire:hover .menu-produits .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text,  body.menu-blanc .menu-secondaire:hover .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-icon i,body.menu-blanc .menu-secondaire:hover .menu-produits .search-btn{
        color:var(--e-global-color-primary);
    }

}

@media(max-width:1023px){
    .menu-produits{
        background-color: var(--e-global-color-a719ac7);
    }   
}


/*top header*/
.top-header{
    padding-top: 240px;
    margin-top: -200px
}

/*Boutons*/
.elementor-button-icon, .e-n-menu-icon{
    transform: scale(1.4);
}

/*titres*/
.elementor-heading-title span, .parent-link span, form .title span{
    color:var( --e-global-color-accent );
}
form .title{
    margin: 10px 0 0;
}

.pre-titre{
    font-size: 20px;
    color:var(--e-global-color-accent);
    font-weight: 700;
    text-transform: uppercase;
}
/*paragraphes*/
.m0 p{
    margin: 0;
}

.elementor-widget-text-editor ul,.elementor-widget-text-editor ol{
    margin-top: 15px;
    margin-bottom: 15px;
}

/*Buttons*/

.elementor-button {
    transition:all .5s ease-in-out, transform .6s  cubic-bezier(.75,-0.5,0,1.75);
}

.elementor-button:hover {
    transform: scale(1.1);
    fill:var( --e-global-color-accent );
}

/*notes*/
.etoiles{
    color:var(--e-global-color-accent);
}



/*header*/
div[data-elementor-type="header"] .elementor-sticky--active{
    box-shadow: 0 0 30px rgba(0,0,0,.1);
}

/*MENU MOBILE*/

.menu-mobile-panels-wrapper{
    --menu-mobile-height:auto;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: var(--menu-mobile-height);
    transition: height .32s ease;
}

.menu-mobile-panels-wrapper ul,
.menu-mobile-panels-wrapper li{
    list-style: none;
}

.menu-mobile-panels-wrapper ul{
    margin: 0;
    padding: 0;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel{
    position: absolute;
    inset: 0 0 auto 0;
    gap:5px;
    display: flex;
    flex-direction: column;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(100%,0,0);
    transition: transform .32s ease, opacity .32s ease, visibility 0s linear .32s;
    will-change: transform, opacity;
}

/*Une fois d\u00e9plac\u00e9 dans le wrapper par le JS, le sous-menu grille doit rester en grid (sinon la r\u00e8gle panel ci-dessus, plus sp\u00e9cifique, repasse en flex column).*/
.menu-mobile-panels-wrapper > .menu-mobile-panel.menu-produits-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-active,
.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-left,
.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-right{
    visibility: visible;
    background-color: transparent;
    transition: transform .32s ease, opacity .32s ease, visibility 0s linear 0s;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-active{
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0,0,0);
    z-index: 2;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-left{
    transform: translate3d(-100%,0,0);
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-right{
    transform: translate3d(100%,0,0);
}

.menu-mobile-panels-wrapper li > a,
.menu-mobile-panels-wrapper li > span,
.menu-mobile-panels-wrapper .menu-mobile-trigger,
.menu-mobile-panels-wrapper .menu-mobile-back-button{
    cursor: pointer;
    display: flex;
    align-items: end;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 14px;
    border: 0;
    background: transparent;
    color: var(--e-global-color-69a775a);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
    outline: 0;
    transition: color .2s ease;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel > li > a,
.menu-mobile-panels-wrapper > .menu-mobile-panel > li > .menu-mobile-trigger{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
    background-size: cover;
    background-position: center;
}


.menu-mobile-panels-wrapper li{
    background-color:var(--e-global-color-40ab070);
    border-radius: 5px;
    padding:0 20px;
}


.menu-mobile-panels-wrapper .menu-item-has-children > .menu-mobile-trigger:hover,
.menu-mobile-panels-wrapper .menu-item-has-children > .menu-mobile-trigger:focus,
.menu-mobile-panels-wrapper .menu-mobile-back-button:hover,
.menu-mobile-panels-wrapper .menu-mobile-back-button:focus,
.menu-mobile-panels-wrapper li > a:hover,
.menu-mobile-panels-wrapper li > a:focus{
    color: var(--e-global-color-accent);
    background-color: transparent;
    border: 0;
    box-shadow: none;
    outline: 0;
}

.menu-mobile-panels-wrapper .menu-mobile-header{
    padding: 0 0 8px;
    border-bottom: 1px solid rgba(0,0,0,.12);
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-mobile-panels-wrapper .menu-mobile-header > *{
    width: fit-content;
}

.menu-mobile-panels-wrapper .menu-mobile-back-button{
    min-height: 0;
    padding: 10px 0;
}

@media (max-width: 767px){
    .menu-mobile-panels-wrapper .menu-mobile-back-button{
        padding:  0;
    }
}

.menu-mobile-panels-wrapper .menu-mobile-title, .menu-mobile-panels-wrapper > .menu-mobile-panel > li > a.menu-mobile-title{
    display: flex;
    padding: 10px 0;
    color: var(--e-global-color-accent);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: 1;
    text-align: right;
}

.menu-mobile-panels-wrapper .sub-menu{
    background: inherit;
}
.menu-burger  .current-menu-item > span, .menu-burger  .current-menu-item > a{
    font-weight: 700 !important;
}
/*MENU PRODUITS (pages enfant en tuiles image + titre, partagé burger/mega)*/

.menu-produits-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.menu-mobile-panels-wrapper .menu-produits-grid > .menu-mobile-header{
    grid-column: 1 / -1;
    border-bottom: 1px solid rgba(0,0,0,.12);
}

.menu-mobile-panels-wrapper .menu-produits-grid > li{
    border-bottom: 0;
    padding:0;
}

.menu-mobile-panels-wrapper .menu-produits-grid{
    grid-template-columns: repeat(2, 1fr);
}

.menu-produit-tile{
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    min-height: 0;
    aspect-ratio: 1 / 1;
    width: 100%;
    padding: 12px;
    border: 0;
    border-radius: 8px;
    background-color: #ccc;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.menu-produit-tile::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 60%);
}

.menu-produit-tile-title{
    position: relative;
    z-index: 1;
    width: 100%;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    border-radius: 0;
}

.menu-mobile-panels-wrapper .menu-produit-tile-title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.menu-burger-produits .menu-mobile-panels-wrapper > .menu-mobile-panel > li{
    background-color:var(--e-global-color-7190584);
}


.menu-burger.menu-burger-produits  .current-menu-item > .menu-produit-tile{
    padding: 6px;
}

.menu-burger.menu-burger-produits  .current-menu-item > .menu-produit-tile > span{
    background-color:var(--e-global-color-accent);
    padding: 3px 10px;
    border-radius: 5px;
}

/*MENU MEGA PRODUITS (niveau 1 fixe en colonne de gauche, niveau 2/3 en colonne de droite)*/

.menu-menu-produits ul{
    
    list-style-type: none;
    padding: 0;
}

.menu-menu-produits div[role="button"]{
    cursor:pointer;
}

.menu-menu-produits__row{
    display: flex;
    align-items: flex-start;
    gap: 2vw;
}

.menu-menu-produits__level1{
    width: 30%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu-menu-produits__level1 i.icon{
    width: 30px;
    height: 30px;
    border-radius:30px;
    background-color: #fff;
    border:2px solid var(--e-global-color-accent);
    color:var(--e-global-color-accent);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 10px;
}

.menu-menu-produits__level1-item{
    background-color: var(--e-global-color-7190584);
    border:2px solid var(--e-global-color-40ab070);
    border-radius: 5px;
    padding: 0 20px;
    margin-bottom: 10px;
}

.menu-menu-produits__level1-trigger{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    padding: 14px 0;
    border: 0;
    background: transparent;
    color: var(--e-global-color-69a775a);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    outline: 0;
    transition: color .2s ease;
}

.menu-menu-produits__level1-text{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.menu-menu-produits__level1-title{
    display: flex;
    align-items: center;
    justify-content: start;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
}

.menu-menu-produits__level1-description{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    opacity: .7;
}
.menu-menu-produits__level1-item.is-active,
.menu-menu-produits__level1-item:hover,
.menu-menu-produits__level1-item:focus{
    border:2px solid var(--e-global-color-accent);
    background-color: var(--e-global-color-accent);
    
}
.menu-menu-produits__level1-item.is-active > .menu-menu-produits__level1-trigger,
.menu-menu-produits__level1-trigger:hover,
.menu-menu-produits__level1-trigger:focus{
    color: var(--e-global-color-a719ac7);
}

.menu-menu-produits__level1-item.current-menu-item > .menu-menu-produits__level1-trigger .menu-menu-produits__level1-title{
    font-weight: 700;
}

.menu-menu-produits__level2-wrapper{
    position: relative;
    width: 70%;
    display: grid;
    overflow: hidden;
}

/*Panneaux niveau 2 et niveau 3 empil\u00e9s dans la m\u00eame cellule grid : la hauteur du conteneur suit le contenu sans JS, translate ne fait que d\u00e9placer visuellement le panneau.*/
.menu-menu-produits__panel{
    grid-area: 1 / 1 / 2 / 2;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(100%,0,0);
    transition: transform .32s ease, opacity .32s ease, visibility 0s linear .32s;
}

.menu-menu-produits__panel.is-active,
.menu-menu-produits__panel.is-on-left,
.menu-menu-produits__panel.is-on-right{
    visibility: visible;
    transition: transform .32s ease, opacity .32s ease, visibility 0s linear 0s;
}

.menu-menu-produits__panel.is-active{
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0,0,0);
    z-index: 2;
}

.menu-menu-produits__panel.is-on-left{
    transform: translate3d(-100%,0,0);
}

.menu-menu-produits__panel.is-on-right{
    transform: translate3d(100%,0,0);
}

.menu-menu-produits__level2-list{
    order: 1;
    grid-template-columns: repeat(4, 1fr);
}

.menu-menu-produits__level2-item{
    position: relative;
}

.menu-menu-produits__level2-item.current-menu-item > .menu-produit-tile{
    padding: 6px;
}

.menu-menu-produits__level2-item.current-menu-item > .menu-produit-tile > span{
    background-color: var(--e-global-color-accent);
    padding: 3px 10px;
    border-radius: 5px;
}

.menu-menu-produits__level2-trigger .menu-produit-tile-title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
/*
.menu-menu-produits__level2-trigger .menu-produit-tile-title i.icon{
    width: 24px;
    height: 24px;
    flex: none;
    border-radius: 24px;
    background-color: #fff;
    border: 2px solid var(--e-global-color-accent);
    color: var(--e-global-color-accent);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 8px;
}*/

.menu-menu-produits__panel .menu-mobile-header{
    order: 2;
    padding: 8px 0 0;
    border-bottom: 0;
    border-top: 1px solid rgba(0,0,0,.12);
    margin-bottom: 0;
    margin-top: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.menu-menu-produits__level2-footer{
    order: 999;
}

.menu-menu-produits__panel .menu-mobile-header > *{
    width: fit-content;
    max-width: 100%;
}

.menu-menu-produits__panel .menu-mobile-back-button{
    cursor: pointer;
    display: flex;
    flex: none;
    align-items: center;
    min-height: 0;
    padding: 10px 0;
    border: 0;
    background: transparent;
    color: var(--e-global-color-69a775a);
    font-size: 18px;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: none;
    outline: 0;
    transition: color .2s ease;
}

.menu-menu-produits__panel .menu-mobile-back-button:hover,
.menu-menu-produits__panel .menu-mobile-back-button:focus{
    color: var(--e-global-color-accent);
}

.menu-menu-produits__panel .menu-mobile-title{
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 0;
    color: var(--e-global-color-primary);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: right;
    text-decoration: underline;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    justify-content: flex-end;
}
.menu-menu-produits__panel .menu-mobile-title:hover{
    color:var(--e-global-color-accent);
}
.menu-menu-produits__level3-list{
    order: 1;
    grid-template-columns: repeat(4, 1fr);
}

.menu-menu-produits__level3-item.current-menu-item > .menu-produit-tile{
    padding: 6px;
}

.menu-menu-produits__level3-item.current-menu-item > .menu-produit-tile > span{
    background-color: var(--e-global-color-accent);
    padding: 3px 10px;
    border-radius: 5px;
}

@media (max-width: 767px){
    .menu-menu-produits__row{
        flex-direction: column;
    }

    .menu-menu-produits__level1,
    .menu-menu-produits__level2-wrapper{
        width: 100%;
    }

    .menu-menu-produits__level2-list,
    .menu-menu-produits__level3-list{
        grid-template-columns: repeat(2, 1fr);
    }
}

/*FAQ*/
#faq-list{
    display: flex;
    flex-direction: column;
}

.faq-filter{
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(100,66,61,.15);
    padding: 20px;
    position:sticky;
    top:130px;
    align-self: flex-start;
    background-color: #fff;
}

body .faq-filter .h2{
    color:var(--e-global-color-accent);
    font-size:20px;
}

body .faq-filter form > div{
    display: flex;
    flex-direction: column;
}

body .faq-filter form > div input[type='radio']{
    display: none;
}

body .faq-filter form > div input[type='button'], body .faq-filter form > div label{
    background-color: transparent;
    font-size: 16px;
    font-weight: 400;
    color:var(--e-global-color-primary);
    text-align: left;
    padding:7px 10px;
    margin: 0;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .2s ease-in-out;
    letter-spacing: 0.5px;
    border:none;
    line-height: 1;
}
body .faq-filter form > div input[type='button']{
    font-weight: 700;
}

body .faq-filter form > div input[type='button']:hover, body .faq-filter form > div input[type='button']:focus, body .faq-filter form > div label:hover{
    background-color: transparent;
    border:none;
    outline: 0;
    color:var(--e-global-color-accent);
    transform: translateX(5px);
}


body .faq-recherche form > div.recherche {
    display: flex;
    border-radius: 30px;
    border:1px solid var(--e-global-color-e32229a);
    background-color: #fff;
    flex-direction: row;
    align-items: center;
}

body .faq-recherche .recherche input:not([type="button"]){
    box-shadow: none;
    border:none !important;
    background: none;
    outline: 0;
}

.faq-recherche .recherche input[type="button"]{
    width: fit-content;
    padding: 10px 20px;
    border-radius: 40px;
    border:2px solid var(--e-global-color-accent);
}

.faq-recherche .recherche input[type="button"]:hover, .faq-recherche .recherche input[type="button"]:focus{
    border:2px solid var(--e-global-color-accent);
    background-color:(var--e-global-color-a719ac7);
}


#faq-list article{
    border-bottom:1px solid var(--e-global-color-secondary);
    padding-bottom: 20px;
    margin-bottom: 20px;
    
}
#faq-list article:hover{
    cursor:pointer;
}

#faq-list article > span{
    background-color: var(--e-global-color-a719ac7);
    border-radius: 5px;
    padding: 2px 5px
}
body #faq-list article > h3{
    margin:0;
}

body .elementor-element.elementor-widget-n-accordion > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item:first-child > .e-n-accordion-item-title{
    border:none !important;
}

body #faq-list article > h3, body .elementor-widget-n-accordion .e-n-accordion-item-title-text{
    letter-spacing:0;
    font-size: 20px;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: start;
}

#faq-list article:hover h3, body .elementor-widget-n-accordion .e-n-accordion-item-title-header:hover .e-n-accordion-item-title-text{
    color:var(--e-global-color-accent);
}

body #faq-list article > h3 > div{
    
    display: flex;
    justify-content: start;
    gap: 5px;
}
body #faq-list article > h3 > div > strong{
    font-weight: 700;
}
body #faq-list article > h3 > div > strong span, body .elementor-widget-n-accordion .e-n-accordion-item-title-text > span{
    color:var(--e-global-color-accent);
}
body #faq-list article > h3 > div > strong span, body .elementor-widget-n-accordion .e-n-accordion-item-title-text > span{
    margin-right: 10px;
}


#faq-list article h3 i.fas{
    font-size: 18px;
    margin-top: 5px;
    margin-left: 10px;
    transition: all .2s ease-in-out;    
}

#faq-list article > div{
    height: 0;
    overflow: hidden;
}

#faq-list article.active > div{
    height: initial;
    margin-top: 20px;
}
#faq-list article.active h2 i.fas{
    transform: rotate(90deg);
    
}

#faq-list{
    transition: all .25s ease-in-out;
    opacity: 1;
    filter: blur(0);
}
#faq-list.loading{
    opacity: .3;
    filter: blur(2px);
}

body h2.faq-filter-titre i.fas{
    display: none;
}

@media (max-width:768px){
    body.post-type-archive-faq > div[data-elementor-type="header"] + div {
        z-index: 1;
    }

    #faq-list{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    body .faq-filter:before{
        content:"Filtrer";
        display: flex;
        justify-content: center;
    }
    body .faq-filter > form{
        background-color: var(--e-global-color-a719ac7);
        position:fixed;
        display: flex;
        flex-direction: column;
        top: initial;
        bottom:-410px;
        z-index: 20;
        width: 100%;
        left: 0;
        border-radius: 15px 15px 0 0;
        padding: 10px 20px 10px;
        box-shadow: 0 0 20px rgba(100,66,61,.25);
        transition: all .4s ease-in-out;
    }
    body .faq-filter.active > form{
        bottom:0;
    }
    
    .faq-filter{
        z-index: 10;
    }
    .faq-filter .h2{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
    .faq-filter .h2:after{
        content:"x";
        font-size: 120%;
        transform: scaleY(.8);
    }

    body h2.faq-filter-rechercher{
        display: none;
    }
    
    body h2.faq-filter-titre{
        order:1;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    body h2.faq-filter-titre i.fas{
        font-size: 18px;
        display: initial;
    }
    
    body .faq-filter.active h2.faq-filter-titre i.fas{
        transform: rotate(90deg);
    }
    body div.faq-filter-filtres{
        order:2;
        border-bottom:1px solid var(--e-global-color-secondary);
        padding-bottom: 20px;
        margin-bottom: 10px
    }
    body div.recherche{
        order:3;
    }
    
    body div.recherche > input:not([type="button"]):not([type="submit"]){
        padding: 10px;
    }

}

/*LISTE AGENCES*/
ul.boutons-liste-agences, ul.liste-localites-enfant{
    display: flex;
    list-style-type: none;
    padding: 0;
    gap:5px 10px;
    flex-wrap: wrap;
}

ul.boutons-liste-agences li a, ul.liste-localites-enfant li a{
   display: block;
    background-color: var(--e-global-color-7820ac8);
    color:var(--e-global-color-31c4bbc);
    border:1px solid var(--e-global-color-31c4bbc);
    padding: 2px 10px;
    border-radius:5px;
    transition: all .2s ease-in-out;
}

ul.boutons-liste-agences li a:hover, ul.liste-localites-enfant li a:hover{
    background-color: var(--e-global-color-a719ac7);
    color:var(--e-global-color-31c4bbc);
    border:1px solid var(--e-global-color-31c4bbc);
   
}

/*TOC*/
.elementor-widget-table-of-contents{
    box-shadow: 0 0 20px rgba(100,66,61,.15);
    border-radius: 30px;
    background-color: var(--e-global-color-a719ac7) ;
}
body .elementor-menu-anchor {
    top: -120px;
    position: relative;
}

/*ANCRES*/
body:not(.elementor-editor-active) .elementor-widget-menu-anchor {
    position: relative;
    z-index: -1;
  }
  body:not(.elementor-editor-active) .elementor-menu-anchor:before {
    content: "";
    display: block;
    height: 50px;
    margin: -50px 0 0;
    visibility: hidden;
    pointer-events: none;
  }

  

/***
* FORMULAIRES
*/
.elementor-field-group{
    position: relative;
}

body form.elementor-form .elementor-field-type-html{
    margin-bottom:10px !important;
}

body form.elementor-form .elementor-field-type-acceptance label {
    font-size: 12px;
}

body form.elementor-form .elementor-field-type-acceptance label > a {
    text-decoration: underline;
}

body form input[type=file]:not([type="button"]):not([type="submit"]){
    width: 100%;
    padding: 0;
}

input[type=file]::file-selector-button {
  
  margin-right: 20px;
  border: none;
  background: var(--e-global-color-primary);
  color:var(--e-global-color-a719ac7);
  padding: 20px;
  border-radius: 15px;
  cursor: pointer;
  transition: background .2s ease-in-out;
}

input[type=file]::file-selector-button:hover {
  background: var(--e-global-color-accent);
    color: var(--e-global-color-a719ac7);
}

.elementor-form .h2, .elementor-form .h3, .elementor-form .h4, .elementor-form .h5,.elementor-form .elementor-field-type-html{
    color:var(--e-global-color-text);
    margin: 0 0 4px;
}

.elementor-field-type-text ,.elementor-field-type-textarea, .elementor-field-type-email, .elementor-field-type-tel, .elementor-field-type-aj-telephone, .elementor-field-type-aj-code-postal {
    position: relative;   
}

.elementor-form .elementor-field-group > label{
    font-weight: 700;
    margin: 15px 0 0;
}
.elementor-form .elementor-field-group.elementor-field-type-select > label{
    
    margin: 5px 0 10px;
}

.elementor-form .elementor-field-type-text > label,.elementor-form .elementor-field-type-textarea > label,.elementor-form .elementor-field-type-email > label, .elementor-form .elementor-field-type-tel > label, .elementor-form .elementor-field-type-date> label, .elementor-form .elementor-field-type-aj-telephone > label, .elementor-form .elementor-field-type-aj-code-postal > label, .elementor-form .form-profil .elementor-field-type-profil > label, #adresse-form .adresse-wrapper > label{
   position: absolute;
    font-weight: 400;
    margin: 0;
    top:16px;
    left: 20px;    
    transform-origin: center left;
    transition: all .2s ease-in-out;
    color:var(--e-global-color-secondary);
    opacity: .8;
}

.elementor-form .elementor-field-type-text.focusin > label,.elementor-form .elementor-field-type-textarea.focusin > label, .elementor-form .elementor-field-type-email.focusin > label, .elementor-form .elementor-field-type-tel.focusin > label,.elementor-form .elementor-field-type-date.focusin > label, .elementor-form .elementor-field-type-aj-telephone.focusin  > label, .elementor-form .elementor-field-type-aj-code-postal.focusin  > label, .elementor-form .form-profil .elementor-field-type-profil.focusin > label,  #adresse-form .adresse-wrapper.focusin > label{
    transform:scale(.7) translatey(-24px);
    opacity: .4;
}

@media (max-width:767px){
    .elementor-form .elementor-field-type-text > label, .elementor-form .elementor-field-type-textarea > label, .elementor-form .elementor-field-type-email > label, .elementor-form .elementor-field-type-tel > label, .elementor-form .elementor-field-type-date > label,  .elementor-form .form-profil .elementor-field-type-profil > label, #adresse-form > label{
        top:15px;
    }
}


/*liste categories*/
.categories-list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.categories-list a.button{
    display: flex;
    width: fit-content;
    flex: initial;
    background-color: var(--e-global-color-ec3728e);
    border:none;
    color:var(--e-global-color-primary);
}
.categories-list span.button.current{
   pointer-events: none;
}
.categories-list a.button:hover{
    background-color: var(--e-global-color-accent);
    border:none;
    color:var(--e-global-color-a719ac7);
}
/*Listing inline*/
.listing-inline .jet-listing-grid__items{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.listing-inline .jet-listing-grid__items .jet-listing-grid__item{
    display: flex;
    width: fit-content;
    flex: initial;
}


/*FOOTER*/

.footer-links .menu-mini > ul{
    display: flex;
    flex-direction: column;
    list-style-type: none;
    padding: 0;
    gap: 10px;
    
}



.footer-links .menu-mini > ul a, .footer-links .menu-mini > ul span{
    font-size: 20px;
    font-weight: 400;
    color: var( --e-global-color-a719ac7 );
    cursor: pointer;
}

.footer-links .menu-mini > ul a:hover{
    color: var( --e-global-color-accent );
}
.footer-links .menu-mini > ul.menu-gammes {
    width: fit-content;
}

.footer-links .menu-mini > ul.menu-gammes a,.footer-links .menu-mini > ul.menu-gammes span{
    display: flex;
    justify-content: space-between;
    text-decoration: initial;
    gap: 20px;
}
.footer-links .menu-mini .current{
    color: var(--e-global-color-accent);
}

.footer-links .menu-mini span.current{
    cursor: default;
}

.footer-links .menu-mini > ul.menu-gammes .current.parent{
    font-weight: 700;
}


.footer-links .menu-mini > ul.menu-gammes > li > a:after,.footer-links .menu-mini > ul.menu-gammes > li > span:after{
    content:'\e80b';
    font-family: "diruy";
    font-style: normal;
    font-weight: normal;
    transition: all .2s ease-in-out;
}


.footer-links .menu-mini > ul.menu-gammes > li:hover > a:after{
    transform: translateX(10px);
}

.footer-links .menu-mini > ul.menu-gammes span:after{
    transform: rotate(90deg);
}

.footer-credits a, .footer-credits span {
    transition:all .2s ease-in-out;
    color: var(--e-global-color-primary);
}


.footer-credits a:hover, .footer-credits span:hover {
    color: var(--e-global-color-accent);
}


@media(max-width:767px){
    .footer-links .menu-mini > ul{
        
        flex-direction:column;
        align-items: center;
        gap: 10px;
        
    }   
    
}
/*agences*/
.horaires .aujourdhui{
    background-color: var(--e-global-color-a719ac7);
    width: fit-content;
    padding: 2px 10px;
    border-radius: 5px;
    border:1px solid var(--e-global-color-accent);
    box-shadow: 0 0 10px rgba(0,0,0,.15)
}


/*menu localites*/
.diruy-footer-localites__wrapper{
    margin-bottom: 30px;
}
.diruy-footer-localites__wrapper a{
    color:var(--e-global-color-primary);
}

.diruy-footer-localites__wrapper span.current{
    color:var(--e-global-color-accent);
    font-weight: 700;
}
.diruy-footer-localites__agency{
    display: flex;
    gap: 20px;
}

.diruy-footer-localites__agency > a, .diruy-footer-localites__agency > span{
    
    font-size: 20px;
    letter-spacing: -.05em;
    color:var(--e-global-color-primary);
}

.diruy-footer-localites__columns{
    display: flex;
    justify-content: start;
    gap:2vw;
    flex-wrap: wrap;
}

.diruy-footer-localites__column{
    min-width:150px;
}

ul.diruy-footer-localites__list {
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    gap:2px 20px;
}


.diruy-footer-localites__item{
    order:0;    
}
.diruy-footer-localites__item.has-children{
    width: calc(25% - 20px);
    margin-top: 15px;
    order:1;
}


.diruy-footer-localites__wrapper > a, .diruy-footer-localites__item.has-children > a, .diruy-footer-localites__list > a, .diruy-footer-localites__list > .diruy-footer-localites__department > a{
    font-weight: 700;
}
@media(min-width:1024px){
body:not(.single-localite) .diruy-footer-localites{
    display:flex;
    flex-direction:column;
    gap:0 20px;
    flex-wrap:wrap;
    height:500px;
}

body:not(.single-localite)  .diruy-footer-localites > .diruy-footer-localites__wrapper{
    width:calc(50% - 20px);
    margin-bottom: 10px;
}
}

/*Menu legal footer*/
.footer-credits .menu-mini > ul{
    display:flex;
    flex-wrap:wrap;
    width: fit-content;
    flex-wrap: wrap;
    justify-content: center;
    gap:5px 15px;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.footer-credits .menu-mini > ul span, .footer-credits .menu-mini > ul a{
    cursor:pointer;
}