/* ------------------------ */
/* -------- HEADER -------- */
/* ------------------------ */
html,
body{
    overflow-x: hidden;
}
header>.elementor-element>.e-con-inner{
    padding-left: 31px;
}
header.onscroll {
    top: -100px;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.header-menu{
    padding-left: 15px;
    width: calc(100% - 233px);
}
header .bandeau-header-top{
    background-color: #F4F4F4;
    position: relative;
}
header .bandeau-header-top .elementor-widget-heading{
    width: 48.6%;
    text-align: center;
}
header .bandeau-header-top .elementor-widget-heading .elementor-widget-container{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
}
header .bandeau-header-top .elementor-widget-heading:before{
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' fill='%23fff' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 0,1 1,1'%3E%3C/polygon%3E%3C/svg%3E");
    height: 55px;
    width: 55px;
    position: absolute;
    left: 0;
    top: 0;
}
header .btn-telephone{
    padding-right: 55px;
    background-color: var(--e-global-color-primary);
    position: relative;
    width: 25.7%;
    text-align: right;
}
header .btn-devis{
    background-color: var(--e-global-color-secondary);
    position: relative;
    width: 25.7%;
}
header .btn-telephone:before{
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' fill='%2340466F' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 1,0 1,1'%3E%3C/polygon%3E%3C/svg%3E");
    height: 55px;
    width: 55px;
    position: absolute;
    left: -55px;
    top: 0;
}
header .btn-devis:before{
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' fill='%23439EA0' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 1,0 1,1'%3E%3C/polygon%3E%3C/svg%3E");
    height: 55px;
    width: 55px;
    position: absolute;
    left: -55px;
    top: 0;
}
header .btn-devis:after {
    content: '';
    background-color: var(--e-global-color-secondary);
    height: 55px;
    width: 600px;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(100%, 0);
}
header .elementor-widget-button .elementor-button{
    border-radius: 0;
    border: none;
    font-size: 20px;
    line-height: 26px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 55px;
    padding-top: 0;
    padding-bottom: 0;
}
header .btn-telephone .elementor-button{
    background-color: var(--e-global-color-primary);
    color: #fff;
    padding-left: 35px;
    padding-right: 10px;
}
header .btn-telephone .elementor-button:before{
    width: 20px;
    height: 55px;
    top: 0px;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../img/picto-smartphone-white.svg);
    transition: all 0.3s ease-in-out;
    transform: scale(1.0);
}
header .btn-telephone .elementor-button:hover:before{
    transform: scale(1.1);
    transform-origin: center;
}
header .btn-devis .elementor-button{
    background-color: var(--e-global-color-secondary);
    color: #fff;
    padding-left: 50px;
}
header .btn-devis .elementor-button:before{
    content: '';
    width: 32px;
    height: 55px;
    position: absolute;
    top: 0px;
    left: 5px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../img/icon-devis-popin.svg);
    transform: scale(1.0);
    transition: all 0.3s ease-in-out;$
}
header .btn-devis .elementor-button:hover,
header .btn-devis .elementor-button:focus,
header .btn-telephone .elementor-button:hover,
header .btn-telephone .elementor-button:focus{
    border-radius: 0;
    border: none;
}
header .btn-devis .elementor-button:hover{
    background-color: var(--e-global-color-secondary);
}
header .btn-devis .elementor-button:hover:before{
    transform: scale(1.1);
    transform-origin: center;
}
/*header .btn-devis .elementor-button:hover:before{
    background-size: contain;
    background-image: url(../img/picto-smartphone.svg);
}*/
header.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    background: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    z-index: 100;
    box-shadow: 0px 6px 6px #0000003E;
}
header.sticky .e-con.e-flex>.e-con-inner{
    align-items: center;
}
header.sticky + main,
header.sticky + .post{
    padding-top: 115px;
}
header.sticky .bandeau-header-top{
    display: none;
}
header.sticky .elementor-widget-theme-site-logo .elementor-widget-container img {
    width: 153px;
}
/*header.sticky #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
    line-height: 40px;
    height: 40px;
}*/
header .elementor-widget-wp-widget-maxmegamenu{
    padding-left: 29px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1{
    display: flex;
    justify-content: center;
    gap: 0 69px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link{
    font-weight: 700;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:hover, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:focus,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link{
    font-weight: 700;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link::after{
    width: 0%;
    height: 7px;
    background-color: var(--e-global-color-primary);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:hover::after,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link::after,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link::after{
    width: 100%;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after{
    font-size: 22px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator{
    margin-left: 0;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu>ul.mega-sub-menu{
    padding-left: 13.9%;
    padding-right: 11.6%;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row{
    background-color: #fff;
    box-shadow: 0px 6px 6px #0000003E;
    border-top: 2px solid var(--e-global-color-primary);
    padding-top: 10px;
    padding-bottom: 10px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row>ul.mega-sub-menu{
    display: flex;
    align-items: stretch;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 21px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12{
    padding-left: 18px;
    padding-right: 5px;
    padding-top: 20px;
    padding-bottom: 17px;
    border-right: 1px solid #E5E5E5;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12:first-child{
    padding-left: 30px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item{
    margin-bottom: 14px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item:last-child{
    margin-bottom: 0;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
    padding-left: 11px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item> a.mega-menu-link:after{
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 3.5px 0 3.5px 6px;
    border-color: transparent transparent transparent var(--e-global-color-text);
    transform: rotate(0deg);
    position: absolute;
    left: 0;
    top: 8px;
    transition: all 0.3s ease-in-out;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item.mega-current_page_item > a.mega-menu-link{
    color: var(--e-global-color-secondary);
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item> a.mega-menu-link:hover:after,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item.mega-current_page_item> a.mega-menu-link:after{
    border-color: transparent transparent transparent var(--e-global-color-secondary);
} 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus{
    font-weight: 700;
}

.widget-scroll{
    position: fixed;
    top: 30.8vh;
    right: 0;
    width: 214px;
    z-index: 102;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}
.widget-scroll.visible{
    opacity: 1;
}
.widget-scroll .elementor-widget-button{
    position: relative;
    right: -158px;
    height: 55px;
    width: 214px;
    transition: right 0.4s ease-in-out;
}
.widget-scroll .elementor-widget-button:hover{
    right: -10px;
}
header>.elementor-element.widget-scroll>.e-con-inner{
    padding-left: 0;
}
header .widget-scroll .btn-telephone{
    padding-right: 0;
}
header .widget-scroll .btn-telephone,
header .widget-scroll .btn-devis{
    box-shadow: 0px 3px 6px #00000066;
}
header .widget-scroll .btn-telephone{
    border-radius: 10px 0 0 0;
    overflow: hidden;
}
header .widget-scroll .btn-devis{
    border-radius: 0 0 0 10px;
    overflow: hidden;
}
header .widget-scroll .elementor-widget-button .elementor-button{
    padding-left: 55px;
    padding-right: 0;
    display: block;
}
header .widget-scroll .btn-devis.elementor-widget-button .elementor-button{
    font-size: 14px;
}
header .widget-scroll .btn-telephone .elementor-button:before,
header .widget-scroll .btn-devis .elementor-button:before{
    left: 27.5px;
    transform: translate(-50%, 0);
}
header .widget-scroll .btn-devis .elementor-button:before{
    width: 32px;
}
header .widget-scroll .btn-telephone:before,
header .widget-scroll .btn-devis:before,
header .widget-scroll .btn-devis:after{
    content: none;
}
header .widget-scroll .elementor-widget-button .elementor-button-content-wrapper{
    display: block;
    text-align: left;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link[data-has-click-event=true]:hover,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link[data-has-click-event=true]:focus{
    color: #40466f;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-collapse-children > ul.mega-sub-menu{
    height: auto !important;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link{
    font-weight: 700;
}
/* ------------------------ */
/* --------- PAGE --------- */
/* ------------------------ */
h1, h2, h3, h4, h5, h6{
    margin-top: 0;
}
h2,
h2.elementor-heading-title{
    margin-bottom: 6px;
}
p,
.elementor-widget-text-editor ul{
    margin-bottom: 21px;
}
p:last-child,
.elementor-widget-text-editor ul:last-child{
    margin-bottom: 0;
}
.elementor-widget-text-editor ul{
    padding-left: 25px;
}
.elementor-widget-text-editor ul li{
    list-style: '- ';
    list-style-position: inside;
}
.padding-content{
    padding-left: 9.7%;
    padding-right: 9.7%;
}
.page-simple{
    padding-top: 40px;
}
.page-simple h1{
    margin-bottom: 30px;
}
.fond-gris{
    background-color: #F4F4F4;
    margin-top: 75px;
    padding-top: 23px;
    padding-bottom: 23px;
}
.fil-ariane{
    line-height: 16px;
    width: 100%;
}
.fil-ariane>.elementor-widget-container{
    margin-bottom: 7px;
    height: auto !important;
}
.fil-ariane a{
    text-decoration: none;
}
.fil-ariane a, 
.fil-ariane span {
    font-size: 12px;
    line-height: 16px;
    color: #FFFFFF;
    font-weight: 500;
/*    display: inline-block;*/
}
.fil-ariane .breadcrumb_last{
    font-weight: 700;
}
.fil-ariane a:hover{
	color: var(--e-global-color-secondary);
}
.separator-fil-ariane {
    width: 12px;
    height: 12px;
    display: inline-block;
    transform: rotate(-45deg);
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    margin-right: 10px;
    vertical-align: middle;
}
.bandeau-img-titre,
.bandeau-titre{
    background-color: var(--e-global-color-primary);
    margin-bottom: 33px;
}
.bandeau-titre{
    padding: 15px 36px;
    height: 355px;
/*    overflow: hidden;*/
}
.bandeau-titre.titre-simple{
    height: 200px;
}
.home .bandeau-img-titre,
.home .bandeau-img-titre .elementor-widget-image,
.fil-ariane-titre.bandeau-img-titre,
.fil-ariane-titre.bandeau-img-titre .elementor-widget-image{
    height: 443px;
    overflow: hidden;
}
.home .bandeau-img-titre .elementor-widget-image img,
.fil-ariane-titre.bandeau-img-titre .elementor-widget-image img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.bandeau-img-titre>.e-child:last-child{
    background-image: url(../img/logo-filigrane.png);
    background-repeat: no-repeat;
    background-position: right;
    padding: 38px 9.9% 24px 36px;
}
.fil-ariane-titre.bandeau-img-titre>.e-child:last-child{
    padding: 16px 84px 24px 36px;
    background-position: right bottom;
}
.bandeau-titre {
    background-image: url(../img/logo-filigrane.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: 302px;
}
.single .bandeau-titre {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.bandeau-titre>.e-con-inner>.e-child:last-child {
    padding: 0 14.3%;
    height: 100%;
}
.bandeau-img-titre h1,
.bandeau-img-titre h2,
.bandeau-img-titre p,
.bandeau-img-titre li,
.bandeau-titre h1,
.bandeau-titre h2,
.bandeau-titre p,
.bandeau-titre li{
    color: #fff;
}
.bandeau-titre a{
    color: #fff;
}
.bandeau-titre a:hover{
    color: var(--e-global-color-secondary);
}
.bandeau-img-titre h1{
    margin-bottom: 50px;
}
.fil-ariane-titre.bandeau-img-titre h1{
    margin-bottom: 10px;
}
.bandeau-titre h1{
    margin-bottom: 22px;
}
.elementor-widget-text-editor + .elementor-widget-button{
    margin-top: 21px;
}
.elementor-widget-button.btn-blanc .elementor-button{
    color: #FFFFFF;
    border-color: #FFFFFF;
}
.elementor-widget-button.btn-blanc .elementor-button:hover{
    color: var(--e-global-color-text);
    background-color: #fff;
    border-color: #FFFFFF;
}
.elementor-widget-button.btn-vert .elementor-button{
    color: #FFFFFF;
    border-color: var(--e-global-color-secondary);
    background-color: var(--e-global-color-secondary);
}
.elementor-widget-button.btn-vert .elementor-button:hover{
    color: var(--e-global-color-secondary);
    background-color: #fff;
    border-color: var(--e-global-color-secondary);
}
.bloc-img-txt{
    margin-top: 38px;
    padding-left: 10.2%;
    padding-right: 10.2%;
}
.bloc-img-txt>.e-con-inner{
    margin-bottom: 14px;
}
.bloc-img-txt>.e-con-inner>.e-child:first-child{
    width: 37.8%;
}
.bloc-img-txt>.e-con-inner>.e-child:first-child .elementor-widget-image{
    border-radius: 10px;
    overflow: hidden;
}
.bloc-img-txt>.e-con-inner>.e-child:last-child{
    width: 62.2%;
}
.bloc-img-txt>.e-con-inner>.e-child:last-child{
    padding-left: 50px;
}
.bloc-img-txt.reverse>.e-con-inner>.e-child:last-child{
    padding-right: 50px;
    padding-left: 0;
}
.bloc-img-txt.only-txt>.e-con-inner>.e-child:last-child{
    padding-left: 0;
    width: 63.8%;
}
.bloc-img-txt h2{
    margin-bottom: 17px;
}
.bloc-img-txt ul{
    padding-left: 25px;
}
.bloc-img-txt.reverse ul{
    padding-left: 76px;
}
.page-simple h2{
    margin-bottom: 17px;
    margin-top: 30px;
}
.page-simple h2:first-child{
    margin-top: 0;
}
.page-simple h3{
    color: var(--e-global-color-secondary);
}
/* ------------------------ */
/* --------- HOME --------- */
/* ------------------------ */
.services{
    padding-left: 16.9%;
    padding-right: 16.9%;
}
.services>.e-con-inner>.elementor-widget-text-editor{
    width: 58%;
}
.service-item{
    margin-top: 33px;
}
.service-item>.e-child:first-child{
    width: 39%;
}
.service-item>.e-child:last-child{
    width: 61%;
    padding-left: 16px;
}
.service-item .elementor-widget-image{
    border-radius: 10px;
    overflow: hidden;
}
.service-item .elementor-widget-image{
    height: 340px;
}
.page-id-12 .service-item .elementor-widget-image{
    height: 306px;
}
.service-item .elementor-widget-image img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.service-item h3{
    margin-top: 11px;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--e-global-color-primary);
    margin-bottom: 18px;
}
.service-item .elementor-widget-text-editor h4{
    margin-bottom: 0;
}
.service-item .elementor-widget-text-editor a,
.autres-services .elementor-widget-text-editor a{
    padding-left: 40px;
    display: inline-block;
    position: relative;
    text-decoration: none;
    color: var(--e-global-color-secondary);
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
}
.service-item .elementor-widget-text-editor a:before,
.autres-services .elementor-widget-text-editor a:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 24px;
    border: 2px solid var(--e-global-color-secondary);
    background-image: url(../img/button-arrow-right.svg);
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 19px;
    transition: all 0.3s ease-in-out;
}
.service-item .elementor-widget-text-editor a:hover:before,
.autres-services .elementor-widget-text-editor a:hover:before,
.service-item .elementor-widget-text-editor h4 a:hover:before{
    background-image: url(../img/button-arrow-right-blanc.svg);
    background-position: 16px center;
    background-color: var(--e-global-color-secondary);
}
.choix-scg{
    padding-top: 52px;
    padding-bottom: 66px;
}
.choix-icons{
    margin-top: 33px;
}
.choix-icons>.e-child{
    background-color: #fff;
    border: 2px solid var(--e-global-color-secondary);
    border-radius: 11px;
    padding: 15px 7px;
    max-width: 198px;
}
.choix-icons .elementor-widget-image .elementor-widget-container{
    margin-bottom: 9px;
}
.choix-icons p{
    font-size: 14px;
    line-height: 19px;
    margin-bottom: 9px;
}
.choix-icons p:last-child{
    margin-bottom: 0;
}
.choix-icons p strong{
    color: var(--e-global-color-secondary);
}
.home-actus{
    margin-top: 75px;
    padding-left: 12.2%;
    padding-right: 12.2%;
}
.home-actus .elementor-widget-loop-grid{
    margin-top: 30px;
}
.actu-item{
    background-color: #F4F4F4;
    border-radius: 10px;
    overflow: hidden;
    padding: 19px;
}
.actu-item .elementor-widget-image{
    border-radius: 10px;
    overflow: hidden;
}
.actu-item .elementor-widget-heading{
    margin-top: 10px;
}
.actu-item .elementor-widget-heading h3{
    font-size: 20px;
    line-height: 26px;
    height: 52px;
    -webkit-line-clamp: 2;
    -moz-line-clamp: 2;
    -ms-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -ms-box-orient: vertical;
    box-orient: vertical;
}
.actu-item .elementor-widget-heading a{
    text-decoration: none;
}
.actu-item .elementor-widget-post-info{
    margin-top: 2px;
}
.actu-item .elementor-widget-theme-post-excerpt{
    margin-top: 15px;
}
.actu-item .elementor-widget-button{
    margin-top: 10px;
}
.actu-item .elementor-widget-button .elementor-button,
.tarifs table td a:last-child:not(:first-child),
.tarifs table td a.button{
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    padding-left: 30px;
    line-height: 21px;
    border: none;
}
.actu-item .elementor-widget-button .elementor-button:hover,
.tarifs table td a:last-child:not(:first-child):hover,
.tarifs table td a.button:hover{
    background-color: transparent;
    color: var(--e-global-color-primary);
}
.actu-item .elementor-widget-button .elementor-button:before,
.tarifs table td a:last-child:not(:first-child):before,
.tarifs table td a.button:before{
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    width: 25px;
    height: 19px;
    border: 2px solid var(--e-global-color-primary);
    background-image: url(../img/button-arrow-right-bleu.svg);
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 19px;
    transition: all 0.3s ease-in-out;
}
.actu-item .elementor-widget-button .elementor-button:hover:before,
.tarifs table td a:last-child:not(:first-child):hover:before,
.tarifs table td a.button:hover:before{
    background-image: url(../img/button-arrow-right-blanc.svg);
    background-position: 11px center;
    background-color: var(--e-global-color-primary);
}
.intervention{
    margin-top: 41px;   
}
.intervention>.e-con-inner>.elementor-widget-text-editor{
    width: 58%;
    margin-bottom: 20px;
}
.intervention>.e-con-inner>.elementor-widget-text-editor:last-child{
    width: 58%;
}
.btn-telephone .elementor-button{
    padding-left: 42px;
    position: relative;
    text-transform: uppercase;
}
.btn-telephone .elementor-button:before{
    content: '';
    position: absolute;
    left: 18px;
    top: 4px;
    width: 14px;
    height: 23px;
    background-size: contain;
    background-image: url(../img/picto-smartphone.svg);
}
.btn-telephone .elementor-button:hover:before{
    background-size: contain;
    background-image: url(../img/picto-smartphone-white.svg);
}
.btn-mail .elementor-button{
    width: 185px;
    padding-left: 61px;
    padding-right: 31px;
    position: relative;
    text-transform: uppercase;
}
.btn-email .elementor-button{
    padding-left: 50px;
    padding-right: 21px;
    position: relative;
}
.btn-mail .elementor-button:before,
.btn-email .elementor-button:before{
    content: '';
    position: absolute;
    left: 21px;
    top: 4px;
    width: 23px;
    height: 23px;
    background-size: contain;
    background-image: url(../img/icon-contact-blue.svg);
}
.btn-mail .elementor-button:hover:before,
.btn-email .elementor-button:hover:before{
    background-size: contain;
    background-image: url(../img/icon-contact-white.svg);
}
.btn-blanc.btn-email .elementor-button:before{
    background-size: contain;
    background-image: url(../img/icon-contact-white.svg);
}
.btn-blanc.btn-email .elementor-button:hover:before{
    background-size: contain;
    background-image: url(../img/icon-contact-blue.svg);
}
.avis-clients{
    padding-left: 5%;
    padding-right: 5%;
}
.avis-clients:last-child{
    margin-bottom: -98px;
}
.avis-clients>.e-con-inner>.elementor-widget-text-editor{
    width: 66%;
}
.avis-clients .elementor-widget-shortcode{
    margin-top: 25px;
}
.avis-clients .elementor-widget-button{
    margin-top: 5px;
}
/* ------------------------ */
/* ------ SERVICES -------- */
/* ------------------------ */
.listing-number{
    padding-left: 16.9%;
    padding-right: 16.9%;
    margin-top: 52px;
}
.list-number{
    counter-reset: section;
    margin-top: 32px;
}
.item-number{
    max-width: 352px;
    padding-top: 43px;
    position: relative;
    width: calc(50% - 8px);
}
.item-number:before{
    content: counter(section) ".";
    counter-increment: section;
    color: var(--e-global-color-secondary);
    font-size: 40px;
    line-height: 53px;
    font-weight: 400;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0);
    width: auto;
}
.item-number h3{
    color: var(--e-global-color-secondary);
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    display: block;
}
.item-number ul{
    padding-left: 0;
}
.bloc-bleu-contact{
    padding-left: 6.1%;
    padding-right: 6.1%;
    margin-top: 52px;
}
.bloc-bleu-contact>.e-con-inner{
    padding: 28px 56px 35px;
    background-color: var(--e-global-color-secondary);
    box-shadow: 0px 3px 10px #00000066;
}
.bloc-bleu-contact h2,
.bloc-bleu-contact h3,
.bloc-bleu-contact p, 
.bloc-bleu-contact a{
    color: #fff;
}
.bloc-bleu-contact a{
    font-weight: 700;
}
.bloc-bleu-contact>.e-con-inner>.e-child:last-child{
    width: 37.7%;
}
.bloc-bleu-contact .btn-vert{
    position: absolute;
    left: 0%;
    bottom: 16px;
    width: 100%;
}
.bloc-bleu-contact>.e-con-inner>.e-child:first-child{
    width: 62.3%;
    padding-left: 50px;
    padding-top: 8px;
    padding-bottom: 30px;
}
.bloc-bleu-contact .elementor-widget-image{
    border-radius: 10px;
    overflow: hidden;
    height: 100%;
}
.bloc-bleu-contact .elementor-widget-image .elementor-widget-container{
    height: 100%;
}
.bloc-bleu-contact .elementor-widget-image img{
    height: 100%;
    object-fit: cover;
}
.bloc-bleu-contact h2{
    margin-bottom: 17px;
}
.bloc-bleu-contact h3{
    margin-top: 38px;
    padding-bottom: 3px;
    border-bottom: 1px solid #FFFFFF;
    margin-bottom: 5px;
}
.bloc-bleu-contact .btn-vert .elementor-button,
.bandeau-titre .btn-vert .elementor-button{
    text-transform: uppercase;
    padding-left: 62px;
    padding-right: 30px;
    padding-top: 15px;
    padding-bottom: 15px;
    position: relative;
}
.bloc-bleu-contact .btn-vert .elementor-button:before,
.bandeau-titre .btn-vert .elementor-button:before {
    content: '';
    width: 32px;
    height: 48px;
    position: absolute;
    top: 0px;
    left: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../img/icon-devis-popin.svg);
}
.bloc-bleu-contact .btn-vert .elementor-button:hover:before,
.bandeau-titre .btn-vert .elementor-button:hover:before {
    background-image: url(../img/icon-devis-popin-vert.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* ------------------------ */
/* ---- CANALISATIONS ----- */
/* ------------------------ */
.bloc-img-txt + .services{
    margin-top: 38px;
}
.autres-services{
    padding-left: 16.9%;
    padding-right: 16.9%;
    margin-top: 59px;
}
.autres-services h2{
    margin-bottom: 32px;
}
.avantages{
    margin-top: 38px;
}
.avantages h3{
    padding-bottom: 4px;
    position: relative;
    margin-bottom: 5px;
}
.avantages h3:after{
    content: '';
    max-width: 536px;
    width: 100%;
    height: 1px;
    background-color: var(--e-global-color-primary);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
}
.avantages ul{
    padding-left: 0;
}
/* ------------------------ */
/* ---- QUI SOMMES NOUS --- */
/* ------------------------ */
.valeurs{
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.valeurs>.e-con-inner>.elementor-widget-text-editor{
    width: 49%;
}
.valeurs-list{
    margin-top: 34px;
}
.valeurs-list>.e-child{
    max-width: 288px;
}
.valeurs-list .elementor-widget-image>.elementor-widget-container{
    background-color: var(--e-global-color-secondary);
    border-radius: 100%;
    width: 135px;
    height: 135px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.valeurs-list h3{
    margin-top: 13px;
    color: var(--e-global-color-secondary);
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 2px;
}
.valeurs-list .elementor-widget-text-editor{
    font-size: 14px;
    line-height: 19px;
}
.avenir-durable{
    margin-top: 73px;
    padding-top: 52px;
    padding-bottom: 46px;
    padding-left: 27%;
    padding-right: 27%;
}
.avenir-durable:before{
    content: '';
    background-image: url(../img/avenir-durable.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 280px;
    height: 267px;
    position: absolute;
    left: 4.4%;
    top: -31px;
}
/* ------------------------ */
/* -------- TARIFS -------- */
/* ------------------------ */
.page-id-47 .bandeau-titre{
    padding-bottom: 40px;
}
.bandeau-titre .btn-devis{
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translate(-50%, 50%);
}
.tarifs{
    padding-left: 19.7%;
    padding-right: 19.7%;
    margin-top: 56px;
}
.tarifs>.e-con-inner{
    background-color: #F4F4F4;
    padding: 22px;
    border-radius: 10px;
    overflow: hidden;
}
.tarifs table tbody>tr:nth-child(odd)>td, 
.tarifs table tbody>tr:nth-child(odd)>th,
.tarifs table tbody tr:hover>td, 
.tarifs table tbody tr:hover>th{
    background-color: #F4F4F4;
}
.tarifs table td{
    vertical-align: middle;
    font-size: 16px;
    line-height: 21px;
    border: none;
    padding-top: 6px;
    padding-bottom: 6px;
}
.tarifs table tr:nth-child(2) td{
    padding-top: 10px;
}
.tarifs table tr:first-child td{
    text-transform: uppercase;
    font-weight: 700;
    font-size: 20px;
    line-height: 26px;
    border-bottom: 1px solid var(--e-global-color-text);
    padding-top: 0;
    padding-bottom: 11px;
}
.tarifs table tr td:first-child{
    border-right: 1px solid var(--e-global-color-text);
}
.tarifs table td:last-child{
    text-align: center;
    width: 30%;
}
.tarifs table tr:first-child td:last-child{
    color: var(--e-global-color-primary);
}
.tarifs table td:first-child{
    font-weight: 700;
    line-height: 21px;
    padding-left: 23px;
    padding-right: 34px;
}
.tarifs table td:last-child{
    color: var(--e-global-color-secondary);
    font-size: 30px;
    line-height: 39px;
    font-weight: 700;
}
.tarifs table td:last-child em{
    display: inline-block;
    color: var(--e-global-color-text);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 19px;
    vertical-align: middle;
}
.tarifs table td a:first-child{
    color: var(--e-global-color-text);
}
.tarifs table td a:last-child:not(:first-child),
.tarifs table td a.button{
    color: var(--e-global-color-text);
    text-decoration: none;
    font-size: 12px;
    display: inline-block;
    float: right;
}
/* ------------------------ */
/* --------- FAQ ---------- */
/* ------------------------ */
.page-id-49 .page-content{
    position: relative;
}
.sommaire{
    width: 34.1%;
}
.sommaire .elementor-widget-text-editor{
    background-color: #F4F4F4;
    border-radius: 0 10px 10px 0;
    margin-left: 0;
    margin-right: auto;
    padding: 16px 31px 16px 139px;
}
.sommaire p{
    font-size: 19px;
    font-weight: 700;
    text-transform: uppercase;
}
.sommaire ul{
    padding-left: 0;
    margin-top: 25px;
}
.sommaire ul li{
    list-style: none;
    margin-bottom: 13px;
}
.sommaire ul li:last-child{
    margin-bottom: 0;
}
.sommaire li a{
    position: relative;
    padding-left: 17px;
    display: inline-block;
    text-decoration: none;
    color: var(--e-global-color-text);
}
.sommaire li a:hover{
    color: var(--e-global-color-secondary);
}
.sommaire li a:before{
    content: '';
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 3.5px 0 3.5px 6px;
    border-color: transparent transparent transparent var(--e-global-color-text);
    transform: rotate(0deg);
    position: absolute;
    left: 0;
    top: 8px;
    transition: all 0.3s ease-in-out;
}
.sommaire li a:hover:before{
    border-width: 6.5px 0 6.5px 12px;
    border-color:  transparent transparent transparent var(--e-global-color-secondary);
    transform: rotate(90deg);
}
.sommaire-faq{
    padding-right: 9.5%;
    margin-top: 70px;
}
.sommaire-faq>.e-child:last-child{
    width: 65.9%;
    padding-left: 30px;
}
.faq-item{
    margin-top: 70px;
}
.faq-item:first-child{
    margin-top: 0px;
}
.elementor-widget-n-accordion{
    padding-left: 67px;
}
.elementor-widget-n-accordion .e-n-accordion-item-title{
    border: none;
    border-bottom: 1px solid var(--e-global-color-secondary);
    padding-top: 20px;
    padding-bottom: 11px;
    padding-left: 0;
    padding-right: 90px;
    position: relative;
}
.elementor-widget-n-accordion .e-n-accordion-item-title h3{
    font-size: 25px;
    line-height: 33px;
}
.elementor-widget-n-accordion .e-n-accordion-item-title>span.e-n-accordion-item-title-icon{
    position: absolute;
    right: 41px;
    top: calc(50% + 9px);
    transform: translate(0, -50%);
}
.e-n-accordion-item-title-icon svg{
    display: none;
}
.e-n-accordion-item-title-icon .e-closed:before{
    content: '';
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 6px 0 6px 13px;
    border-color: transparent transparent transparent var(--e-global-color-primary);
    transform: rotate(0deg);
}
.e-n-accordion-item-title-icon .e-opened:before{
    content: '';
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 12px 6.5px 0 6.5px;
    border-color: var(--e-global-color-secondary) transparent transparent transparent;
    transform: rotate(0deg);
}
.elementor-widget-n-accordion .e-child{
    border: none;
    padding-top: 7px;
}
/* ------------------------ */
/* --------- BLOG --------- */
/* ------------------------ */
.padding-blog-list{
    padding-left: 12.2%;
    padding-right: 12.2%;
}
.filtre-label{
    font-size: 14px;
    line-height: 19px;
    font-weight: 700;
}
.elementor-widget-taxonomy-filter{
    margin-top: 4px;
}
.elementor-widget-taxonomy-filter .e-filter-item{
    text-decoration: underline;
}
.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed=true]{
    text-decoration: none;
    font-weight: 700 !important;
}
.elementor-widget-taxonomy-filter .e-filter{
    gap: 6px 15px;
}
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=bassin-darcachon],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=blaye],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=bordeaux],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=cenon],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=langon],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=latresne],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=libourne],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=non-classe],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=nos-services],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=pessac],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=saint-andre-de-cubzac],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=saint-laurent-du-medoc],
.elementor-widget-taxonomy-filter .e-filter .e-filter-item[data-filter=saint-medard-en-jalles]{
    display: none;
}
.padding-blog-list .elementor-widget-loop-grid{
    margin-top: 39px;
}
.elementor-pagination .page-numbers{
    font-size: 14px; 
    line-height: 20px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    display: inline-block;
    min-width: 20px;
    text-decoration: none;
    text-align: center;
    display: inline-block;
}
.elementor-pagination{
    margin-top: 60px;
}
.elementor-pagination .page-numbers:hover,
.elementor-pagination .page-numbers.current{
    color: #FFFFFF;
    background-color: var(--e-global-color-primary);
    border-radius: 5px;
}
.elementor-pagination .page-numbers.prev,
.elementor-pagination .page-numbers.next{
    text-indent: -9999px;
    position: relative;
}
.elementor-pagination .page-numbers.prev:after,
.elementor-pagination .page-numbers.next:after{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 19px;
    background-image: url(../img/button-arrow-right-bleu.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: all 0.3s ease-in-out;
    transform: translate(-50%, -50%);
}
.elementor-pagination .page-numbers.prev:after{
    transform: translate(-50%, -50%) rotate(180deg);
}
.elementor-pagination .page-numbers.prev:hover:after,
.elementor-pagination .page-numbers.next:hover:after{
    background-image: url(../img/button-arrow-right-blanc.svg);
}
/* ------------------------ */
/* ----- BLOG - SINGLE ---- */
/* ------------------------ */
.single .bandeau-titre{
    margin-bottom: 7px;
    position: relative;
}
.single .bandeau-titre:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url(../img/logo-filigrane.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: 302px;
}
.single .bandeau-titre>.e-con-inner{
    z-index: 3;
}
.bandeau-titre>.e-con-inner>.e-child.titre-single {
    padding: 0 22.2%;
}
.titre-single{
    height: 100%;
}
.titre-single h1{
    margin-bottom: 10px;
}
.titre-single .elementor-widget-post-info>.elementor-widget-container{
    margin-bottom: 33px;
    font-size: 12px;
    line-height: 16px;
}
.titre-single .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{
    position: relative;
    margin-left: 5px;
    margin-right: 5px;
}
.titre-single .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:before{
    content: '|';
    position: absolute;
    left: -6px;
    top: 0;
    color: #fff;
}
.titre-single .elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:first-child:before{
    content: none;
}
.titre-single .elementor-widget-text-editor{
    padding-left: 12%;
    padding-right: 12%;
}
.titre-single p,
.titre-single a{
    color: #fff;
}
.titre-single a:hover{
    color: var(--e-global-color-secondary);
}
.btn-back{
    margin-bottom: 10px;
    width: 168px;
    margin-left: 23.6%;
    transform: translate(-185px, 0);
    transition: all 0.3s ease-in-out;
    top: 0;
}
.btn-back.fixed{
    position: fixed;
    top: 70px;
}
.btn-back .elementor-widget-heading .elementor-heading-title a{
   font-weight: 700; 
   font-size: 14px;
   line-height: 19px;
   text-decoration: none;
   position: relative;
   padding-left: 15px;
}
.btn-back .elementor-widget-heading .elementor-heading-title a:before{
    content: '';
    width: 11px;
    height: 19px;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/angle-left-solid.svg) no-repeat left top;
    background-size: contain;
}
.btn-back .elementor-widget-heading .elementor-heading-title a:hover{
    color: var(--e-global-color-secondary);
}
.btn-back .elementor-widget-heading .elementor-heading-title a:hover:before{
    background: url(../img/angle-left-solid-hover.svg) no-repeat left top;
    background-size: contain;
}
.padding-single{
    padding-left: 23.6%;
    padding-right: 23.6%;
}
.addtoany-share{
    border-top: 1px solid var(--e-global-color-text);
    padding-top: 12px;
    width: 168px;
    margin-left: 23.6%;
    transform: translate(-185px, 0);
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.3s ease-in-out;
}
.addtoany-share.fixed{
    position: fixed;
    top: 99px;
}
.addtoany_list a, 
.widget .addtoany_list a{
    margin-bottom: 4px;
}
.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service)>span{
    border-radius: 30px;
}
.addtoany_list a img{
    margin-top: 0;
}
.addtoany_shortcode{
    width: 40px;
    margin-left: auto;
    margin-right: auto;
}
.single h2{
    margin-bottom: 15px;
    margin-top: 37px;
}
.single h2:first-child{
    margin-top: 0;
    margin-bottom: 37px;
}
.padding-single ul li{
    margin-bottom: 16px;
}
.padding-single ul li:last-child{
    margin-bottom: 0;
}
.padding-single img{
    border-radius: 10px;
    overflow: hidden;
    margin-top: 46px;
}
/* ------------------------ */
/* ------- CONTACT -------- */
/* ------------------------ */
.contact-form{
    padding-left: 10.2%;
    padding-right: 10.2%;
}
.contact-form h2{
    font-size: 20px;
    line-height: 40px;
}
.icon-map,
.icon-phone,
.icon-mail,
.icon-horaire,
.icon-intervention{
    padding-left: 54px;
    position: relative;
}
.icon-map,
.icon-phone,
.icon-horaire{
    margin-bottom: 23px !important;
}
.icon-mail{
    margin-bottom: 47px !important;
}
.icon-map:before,
.icon-phone:before,
.icon-mail:before,
.icon-horaire:before,
.icon-intervention:before{
    content: '';
    width: 33px;
    height: 33px;
    position: absolute;
    left: 0;
    top: 0;
}
.icon-map:before{
    background-image: url(../img/icon-contact-adresse.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.icon-phone:before{
    background-image: url(../img/icon-contact-tel.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.icon-mail:before{
    background-image: url(../img/icon-contact-email.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.icon-horaire:before{
    background-image: url(../img/icon-contact-horaires.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.icon-intervention:before{
    background-image: url(../img/icon-contact-zone.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
form.wpcf7-form{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
}
.input-label {
    width: calc(50% - 8px);
    position: relative;
    vertical-align: top;
    box-sizing: border-box;
}
.input-label.only{
    width: 100%;
}
.textarea-group label,
.input-label label{
    line-height: 21px;
    color: var(--e-global-color-primary);
    padding-left: 14px;
}
.input-label .wpcf7-form-control-wrap input,
.textarea-group .wpcf7-form-control-wrap textarea{
    width: 100%;
    border: 2px solid var(--e-global-color-primary);
    border-radius: 10px;
    padding: 3px 14px;
    color: var(--e-global-color-text);
}
.input-label .wpcf7-form-control-wrap input:focus,
.textarea-group .wpcf7-form-control-wrap textarea:focus{
    border-color: var(--e-global-color-secondary);
    outline: var(--e-global-color-secondary);
}
.textarea-group{
    width: 100%;
}
.textarea-group textarea{
    height: 136px;
}
p.confidentialite{
    padding-left: 24px;
    padding-right: 24px;
    font-size: 12px;
    line-height: 16px;
    width: 100%;
}
p.confidentialite a{
    color: var(--e-global-color-primary);
}
p.confidentialite a:hover{
    color: var(--e-global-color-secondary);
}
.wpcf7-list-item{
    margin-left: 0;
}
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label{
    vertical-align: middle;
}
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]{
    width: 18px;
    height: 18px;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    border: 2px solid var(--e-global-color-primary);
    border-radius: 2px;
    margin: 0 10px 0 0 ;
    vertical-align: middle;
    position: relative;
}
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:focus{
    outline: none;
}
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:hover,
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:checked{
    background-color: var(--e-global-color-primary);
}
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:checked:before{
    content: '';
    display: block;
    background-image: url(../img/check.svg);
    position: absolute;
    left: 0px;
    top: 0px;
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
}
span.wpcf7-not-valid-tip{
    font-size: 14px;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output,
div.wpcf7-response-output.wpcf7-validation-errors{

}
.wpcf7 form.sent .wpcf7-response-output{

}
select.wpcf7-form-control.wpcf7-select {
    background-image: url(../img/select.svg);
    background-repeat: no-repeat;
    background-position: 98%;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
}
/*.confidentialite .wpcf7-not-valid-tip {
    position: absolute;
    bottom: -20px;
    width: 100%;
    display: block;
}*/
.wpcf7 .wpcf7-submit:disabled{
    opacity: 0.6;
}
.submit{
    width: 100%;
    text-align: center;
    margin-bottom: 0 !important;
    position: relative;
}
.submit input[type="submit"]{
    text-transform: uppercase;
    font-size: 18px;
    line-height: 24px;
    padding: 5px 35px;
}
.submit .wpcf7-spinner{
    position: absolute;
    top: 6px;
}
/* ------------------------ */
/* --------- POPIN -------- */
/* ------------------------ */
.popin-devis{
    padding: 22px 20px 40px;
}
.popin-devis .elementor-heading-title{
    margin-bottom: 10px;
}
.popin-devis form.wpcf7-form{
    gap: 0;
}
.popin-devis .title{
    width: 100%;
    font-size: 20px;
    line-height: 26px;
    font-weight: 700;
    border-bottom: 1px solid var(--e-global-color-secondary);
    padding-bottom: 3px;
    text-align: center;
    margin-bottom: 7px;
}
.popin-devis .group-infos{
    padding-left: 30px;
    padding-right: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.popin-devis p,
.popin-devis .textarea-group label, 
.popin-devis .input-label label,
.popin-devis p.confidentialite a{
    color: #fff;
}
.popin-devis p.confidentialite a:hover{
    color: var(--e-global-color-secondary);
}
.popin-devis .input-label .wpcf7-form-control-wrap input, 
.popin-devis .textarea-group .wpcf7-form-control-wrap textarea{
    border-color: #fff;
    background-color: transparent;
}
.checkbox-group{
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.checkbox-label{
    width: calc(50% - 8px);
    position: relative;
    margin-bottom: 26px;
}
.checkbox-label > p > label{
    font-weight: 700;
}
.elementor-popup-modal .checkbox-label span.wpcf7-form-control-wrap{
    display: block;
}
.elementor-popup-modal .checkbox-label span.wpcf7-form-control-wrap .wpcf7-form-control input[type=checkbox]{
    width: 12px;
    height: 12px;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    border: 2px solid #fff;
    border-radius: 0;
    margin: 0 7px 0 0 ;
    vertical-align: middle;
    position: relative;
}
.elementor-popup-modal span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]{
    border-color: #fff;
}
.elementor-popup-modal .checkbox-label span.wpcf7-form-control-wrap .wpcf7-form-control input[type=checkbox]:focus{
    outline: none;
}
.elementor-popup-modal .checkbox-label span.wpcf7-form-control-wrap .wpcf7-form-control input[type=checkbox]:hover,
.elementor-popup-modal .checkbox-label span.wpcf7-form-control-wrap .wpcf7-form-control input[type=checkbox]:checked,
.elementor-popup-modal span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:hover,
.elementor-popup-modal span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:checked{
    background-color: #fff;
}
.elementor-popup-modal .checkbox-label span.wpcf7-form-control-wrap .wpcf7-form-control input[type=checkbox]:checked:before{
    content: '';
    display: block;
    background-image: url(../img/check.svg);
    position: absolute;
    left: -1px;
    top: -1px;
    width: 12px;
    height: 12px;
    background-size: contain;
}
.popin-devis .submit input[type="submit"]{
    border-color: #fff;
    color: #fff;
}
.popin-devis .submit input[type="submit"]:hover{
    background-color: #fff;
    color: var(--e-global-color-primary);
}
.popin-devis .input-label .wpcf7-form-control-wrap input,
.popin-devis .textarea-group .wpcf7-form-control-wrap textarea{
    color: #fff;
}
.popin-devis .wpcf7 form.failed .wpcf7-response-output, 
.popin-devis .wpcf7 form.aborted .wpcf7-response-output, 
.popin-devis .wpcf7 form.spam .wpcf7-response-output, 
.popin-devis .wpcf7 form.invalid .wpcf7-response-output, 
.popin-devis .wpcf7 form.unaccepted .wpcf7-response-output, 
.popin-devis .wpcf7 form.sent .wpcf7-response-output, 
.popin-devis div.wpcf7-response-output.wpcf7-validation-errors{
    color: #fff;
}
/* ------------------------ */
/* -------- FOOTER -------- */
/* ------------------------ */
.grecaptcha-badge{
    visibility: hidden;
}
footer{
    margin-top: 98px;
}
.footer-top{
    background-color: var(--e-global-color-primary);
    padding: 13px 10.2% 14px;
}
.footer-top>.e-con-inner>.e-child:nth-child(1){
    width: 176px;
    padding-right: 8px;
    border-right: 1px solid var(--e-global-color-secondary);
    padding-top: 10px;
}
.footer-top>.e-con-inner>.e-child:nth-child(2){
    width: 158px;
    padding-left: 8px;
    padding-top: 8px;
}
.footer-top>.e-con-inner>.e-child:nth-child(3){
    width: calc(100% - 176px - 158px);
    padding-top: 8px;
}
.footer-top>.e-con-inner>.e-child:nth-child(3) .elementor-widget-text-editor{
    max-width: 168px;
    width: calc(25% - 12px);
}
.footer-top>.e-con-inner>.e-child:nth-child(1) .elementor-widget-image{
    margin-bottom: 29px;
}
.footer-top>.e-con-inner>.e-child:nth-child(1) .elementor-widget-social-icons{
    margin-bottom: 21px;
}
.footer-top>.e-con-inner>.e-child:nth-child(1) .elementor-widget-social-icons .elementor-social-icon svg{
    height: 97%;
}
.footer-top>.e-con-inner>.e-child:nth-child(1) .elementor-grid-item:not(:first-child) .elementor-icon svg {
    width: 1.2em;
}
.footer-top>.e-con-inner>.e-child:nth-child(1) p,
.footer-top>.e-con-inner>.e-child:nth-child(1) p a{
    font-size: 16px;
    line-height: 19px;
}
.footer-top p,
.footer-top>.e-con-inner>.e-child:nth-child(2) li,
.footer-top>.e-con-inner>.e-child:nth-child(2) a{
    font-size: 14px;
    line-height: 19px;
    font-weight: 700;
    margin-bottom: 10px;
}
.footer-top p:last-child{
    margin-bottom: 0;
}
.footer-top ul{
    padding-left: 0;
}
.footer-top li{
    margin-bottom: 8px;
}
.footer-top .elementor-widget-text-editor ul li{
    list-style: none;
}
.footer-top li:last-child{
    margin-bottom: 0;
}
.footer-top li,
.footer-top li a{
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    text-decoration: none;
}
.footer-top p,
.footer-top li,
.footer-top a{
    color: #fff;
}
.footer-top a:hover,
.footer-bottom a:hover{
    color: var(--e-global-color-secondary);
}
.footer-bottom{
    color: #F4F4F4;
    padding: 10px 10.2% 20px;
}
.footer-bottom p,
.footer-bottom a{
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    color: var(--e-global-color-text);
}
.footer-bottom a{
    text-decoration: none;
}
.footer-bottom .elementor-widget-shortcode{
    width: 100%;
}
.footer-bottom .ville-list{
    padding-bottom: 11px;
    border-bottom: 1px solid var(--e-global-color-text);
    margin-bottom: 4px;
}
.footer-bottom .ville-list-wrapper{
    max-width: 740px;
    text-align: center; 
    font-size: 11px;
    line-height: 18px;
    margin-left: auto;
    margin-right: auto;
}
.footer-bottom .ville-list a{
    margin: 0 6px;
    display: inline-block;
    white-space: nowrap;
    font-size: 11px;
    line-height: 18px;
    font-weight: 400;
    position: relative;
}
.footer-bottom .ville-list a:after{
    content: '|';
    font-size: 10px;
    position: absolute;
    right: -7px;
    top: 0;
}
.footer-bottom .ville-list a:last-child:after{
    content: none;
}
/* ------------------------ */
/* ------ RESPONSIVE ------ */
/* ------------------------ */
/* Menu avant mobile */
@media only screen and (min-width: 769px){
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-collapse-children > ul.mega-sub-menu{
        display: block;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator{
        display: none;
    }
}
@media only screen and (min-width: 1100px) and (max-width: 1222px){
    header .elementor-widget-button .elementor-button{
        font-size: 16px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 {
        gap: 0 40px;
    }
}
@media only screen and (min-width: 1025px) and (max-width: 1099px){
    header .elementor-widget-button .elementor-button{
        font-size: 16px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 {
        gap: 0 40px;
    }
    header .bandeau-header-top .elementor-widget-heading:before{
        width: 45px;
    }
    header .btn-telephone{
        padding-right: 45px;
        width: 24.7%;
    }
    header .btn-telephone:before,
    header .btn-devis:before{
        width: 45px;
        left: -45px;
    }
    header .elementor-widget-button .elementor-button{
        padding-right: 5px;
    }
}

@media only screen and (min-width: 870px) and (max-width: 1024px){
    header>.elementor-element>.e-con-inner {
        padding-left: 20px;
    }
    header .bandeau-header-top .elementor-widget-heading{
        width: calc(100% - 180px - 55px);
    }
    header .elementor-widget-button .elementor-button{
        font-size: 16px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1{
        gap: 0 40px;
    }
    header .elementor-widget-wp-widget-maxmegamenu {
        padding-left: 0;
    }
    header .btn-telephone,
    header .btn-devis {
        width: 90px;
        box-sizing: content-box;
    }
    header .bandeau-header-top .elementor-widget-heading {
        width: 62.6%;
    }
    header .elementor-widget-button .elementor-button{
        padding: 0 50%;
        position: relative;
    }
    header .btn-telephone .elementor-button .elementor-button-content-wrapper,
    header .btn-devis .elementor-button .elementor-button-content-wrapper{
        text-indent: -9999px;
    }
    header .btn-devis .elementor-button:before,
    header .btn-telephone .elementor-button:before{
        left: 50%;
        transform: scale(1.0) translate(-50%, 0);
    }
    header .btn-devis .elementor-button:hover:before,
    header .btn-telephone .elementor-button:hover:before{
        transform: scale(1.1) translate(-50%, 0);
    }
}
@media only screen and (min-width: 870px) and (max-width: 1000px){
    #mega-menu-wrap-menu-1 #mega-menu-menu-1{
        gap: 0 20px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link{
        font-size: 17px;
    }
    header .bandeau-header-top .elementor-widget-heading{
        width: calc(100% - 160px - 55px);
    }
    header .btn-telephone,
    header .btn-devis {
        width: 80px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
    .home .bandeau-img-titre, 
    .home .bandeau-img-titre .elementor-widget-image, 
    .fil-ariane-titre.bandeau-img-titre, 
    .fil-ariane-titre.bandeau-img-titre .elementor-widget-image {
        height: 513px;
    }
    .bandeau-titre>.e-con-inner>.e-child:last-child {
        padding-left: 8.3%;
        padding-right: 8.3%;
    }
    .services,
    .listing-number {
        padding-left: 11.9%;
        padding-right: 11.9%;
    }
    .services>.e-con-inner>.elementor-widget-text-editor {
        width: 70%;
    }
    .padding-content {
        padding-left: 6.7%;
        padding-right: 6.7%;
    }
    .bloc-img-txt {
        padding-left: 7.2%;
        padding-right: 7.2%;
    }
    .bloc-img-txt>.e-con-inner>.e-child:last-child {
        padding-left: 40px;
    }
    .bloc-img-txt.reverse>.e-con-inner>.e-child:last-child {
        padding-right: 40px;
        padding-left: 0;
    }
    .bloc-bleu-contact>.e-con-inner>.e-child:first-child {
        padding-left: 30px;
        padding-bottom: 16px;
    }
    .sommaire-faq {
        padding-right: 6.5%;
    }
    .sommaire .elementor-widget-text-editor {
        padding-left: 69px;
    }
    .elementor-widget-n-accordion {
        padding-left: 47px;
    }
    .tarifs {
        padding-left: 14.7%;
        padding-right: 14.7%;
    }
    .padding-blog-list {
        padding-left: 9.2%;
        padding-right: 9.2%;
    }
    .bloc-img-txt.reverse ul {
        padding-left: 56px;
    }
    .contact-form {
        padding-left: 7.2%;
        padding-right: 7.2%;
    }
    .intervention>.e-con-inner>.elementor-widget-text-editor,
    .intervention>.e-con-inner>.elementor-widget-text-editor:last-child{
        width: 70%;
    }
    .avis-clients>.e-con-inner>.elementor-widget-text-editor{
        width: 90%;
    }
    .bandeau-img-titre>.e-child:last-child {
        padding-right: 6.9%;
    }
    .valeurs {
        padding-left: 9.5%;
        padding-right: 9.5%;
    }
    .avenir-durable {
        padding-left: 23%;
        padding-right: 23%;
    }
    .footer-top,
    .footer-bottom{
        padding-left: 7.2%;
        padding-right: 7.2%;
    }
    .avenir-durable:before {
        width: 230px;
        left: -1.6%;
    }
    .padding-single {
        padding-left: 19.6%;
        padding-right: 19.6%;
    }
    .addtoany-share,
    .btn-back{
        width: 128px;
        margin-left: 19.6%;
        transform: translate(-145px, 0);
    }
    .valeurs>.e-con-inner>.elementor-widget-text-editor {
        width: 69%;
    }
}
@media only screen and (max-width: 1000px){
	
}
@media only screen and (min-width: 768px) and (max-width: 1000px){
    .bandeau-titre {
        height: 435px;
    }
    .choix-icons{
        flex-wrap: wrap;
    }
    .bloc-img-txt.reverse ul {
        padding-left: 46px;
    }
    .bloc-bleu-contact>.e-con-inner {
        padding-left: 30px;
        padding-right: 30px;
    }
    .bloc-bleu-contact .btn-vert .elementor-button{
        padding-top: 9px;
        padding-bottom: 9px;
        max-width: 180px;
    }
    .tarifs {
        padding-left: 9.7%;
        padding-right: 9.7%;
    }
    .home .bandeau-img-titre, 
    .home .bandeau-img-titre .elementor-widget-image, 
    .fil-ariane-titre.bandeau-img-titre, 
    .fil-ariane-titre.bandeau-img-titre .elementor-widget-image {
        height: 693px;
    }
    .fil-ariane-titre.bandeau-img-titre>.e-child:last-child {
        padding-right: 34px;
    }
    .contact-form>.e-con-inner>.e-child:first-child{
        padding-right: 20px;
    }
    .contact-form h2 {
        line-height: 30px;
        margin-bottom: 8px;
    }
    .avenir-durable:before {
        left: -5.6%;
    }
    .footer-top, 
    .footer-bottom {
        padding-left: 5.2%;
        padding-right: 5.2%;
    }
    .footer-top>.e-con-inner>.e-child:nth-child(1) {
        width: 136px;
    }
    .footer-top>.e-con-inner>.e-child:nth-child(2) {
        width: 158px;
    }
    .footer-top>.e-con-inner>.e-child:nth-child(3) {
        width: calc(100% - 136px - 158px);
    }
}
@media only screen and (max-width: 869px){
    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        right: -100vw;
        z-index: 9998;
    }
    header>.elementor-element>.e-con-inner{
        padding-left: 20px;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle:before{
        content: '';
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' fill='%23f4f4f4' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 1,0 1,1'%3E%3C/polygon%3E%3C/svg%3E");
        height: 55px;
        width: 55px;
        position: absolute;
        left: -55px;
        top: 0;
    }
    header .elementor-widget-theme-site-logo{
        padding-top: 3px;
        padding-bottom: 3px;
    }
    header .elementor-widget-theme-site-logo img{
        width: 127px !important;
    }
    .header-menu{
        flex-wrap: nowrap;
        flex-direction: row !important;
        justify-content: flex-end !important;
    }
    header .bandeau-header-top .elementor-widget-heading{
        display: none;
    }
    header .btn-devis:after{
        content: none;
    }
    header .elementor-widget-wp-widget-maxmegamenu{
        padding-left: 0;
        width: 40px;
    }
    .header-menu{
        padding-left: 0;
        width: calc(100% - 127px);
    }
    header .bandeau-header-top{
        width: calc(100% - 40px);
        background-color: #fff;
        justify-content: flex-end;
    }
    header .btn-telephone,
    header .btn-devis{
        width: auto;
    }
    header .btn-devis{
        padding-right: 55px;
    }
    header .elementor-widget-button .elementor-button{
        padding-right: 5px;
    }
    header .widget-scroll .elementor-widget-button{
        padding-right: 0;
    }
    header .widget-scroll .elementor-widget-button .elementor-button{
        padding-left: 45px;
    }
    header .widget-scroll .btn-telephone .elementor-button:before, header .widget-scroll .btn-devis .elementor-button:before {
        left: 22.5px;
    }
    .widget-scroll .elementor-widget-button {
        right: -168px;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block{
        margin-left: 0 !important;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1{
        width: 100%;
        padding-top: 60px;
    }
    #mega-menu-wrap-menu-1:has(.mega-menu-open) #mega-menu-menu-1[data-effect-mobile^="slide_left"] + button.mega-close{
        right: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu>ul.mega-sub-menu{
        padding-left: 0;
        padding-right: 0;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1{
        background-image: url(../img/logo-filigrane.png);
        background-repeat: no-repeat;
        background-position: calc(100% + 30px) calc(100% - 9px);
        background-size: 345px;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom{
        /*position: absolute;
        bottom: 23px;
        left: 0;
        width: 100%;*/
        margin-top: 90px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row>ul.mega-sub-menu,
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom>ul.mega-sub-menu{
        display: block;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom>ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link{
        text-align: center;
        color: #FFFFFF;
        font-size: 20px;
        font-weight: 700;
        line-height: 26px;
    } 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link{
        font-weight: 700;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.menu-bottom > a.mega-menu-link{
        display: none;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.menu-bottom > a.mega-menu-link.btn-telephone{
        background-color: var(--e-global-color-primary);
        color: #fff;
        padding-left: 35px;
        padding-right: 10px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.menu-bottom > a.mega-menu-link.btn-telephone:before{
        width: 20px;
        height: 55px;
        top: 0px;
        left: 0;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(../img/picto-smartphone-white.svg);
        transition: all 0.3s ease-in-out;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.menu-bottom > a.mega-menu-link.btn-devis{
        background-color: var(--e-global-color-secondary);
        color: #fff;
        padding-left: 50px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.menu-bottom > a.mega-menu-link.btn-devis:before{
        content: '';
        width: 32px;
        height: 55px;
        position: absolute;
        top: 0px;
        left: 5px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(../img/icon-devis-popin.svg);
        transition: all 0.3s ease-in-out;
    }

    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item{
        text-align: center;
        margin-bottom: 26px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item:last-child{
        margin-bottom: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link{
        display: inline-block;
        line-height: 34px;
        height: 34px;
    } 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu.mega-menu-item ul.mega-sub-menu>li.mega-menu-row{
        padding-left: 43px;
        padding-right: 43px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu.mega-menu-item ul.mega-sub-menu>li.mega-menu-row>ul.mega-sub-menu{
        border-top: 1px solid #FFFFFF;
        border-bottom: 1px solid #FFFFFF;
        overflow: auto;
        padding-bottom: 16px;
        margin-bottom: 10px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12{
        border-right: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu{
        padding-bottom: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
        color: #fff;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu{
        padding-top: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row{
        border-top: none;
        box-shadow: none;
        padding-top: 0;
        padding-bottom: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12{
        padding-left: 0;
        padding-right: 0;
        padding-top: 7px;
        padding-bottom: 0;
        margin-bottom: 8px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12:last-child{
        margin-bottom: 0px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12:first-child{
        padding-left: 0;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{
        margin-bottom: 2px;
        font-size: 20px;
        line-height: 26px;
        font-weight: 700;
        text-align: center;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item {
        margin-bottom: 9px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus{
        background: transparent;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{
        color: #fff;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
        padding-left: 0;
        text-align: center;
        font-size: 18px;
        line-height: 24px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item{
        margin-bottom: 8px;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item:last-child, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item:last-child{
        margin-bottom: 0;
    }

    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom>ul.mega-sub-menu li.mega-menu-item.btn-telephone > a.mega-menu-link{
        padding-top: 37px;
        background-repeat: no-repeat;
        background-position: center top;
        background-image: url(../img/picto-smartphone-white.svg);
        background-size: auto 32px;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom>ul.mega-sub-menu li.mega-menu-item.btn-telephone,
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom>ul.mega-sub-menu li.mega-menu-item.btn-devis{
        margin-bottom: 14px;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 > li.mega-menu-item.menu-bottom>ul.mega-sub-menu li.mega-menu-item.btn-devis > a.mega-menu-link{
        padding-top: 37px;
        background-repeat: no-repeat;
        background-position: center top;
        background-image: url(../img/icon-devis-popin.svg);
        background-size: auto 32px;
        text-transform: uppercase;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item> a.mega-menu-link:hover:after, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item.mega-current_page_item> a.mega-menu-link:after{
        border: none;
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link[data-has-click-event=true]:hover, 
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link[data-has-click-event=true]:focus{
        color: #fff;
    }
}
@media only screen and (max-width: 767px){
    #mega-menu-wrap-menu-1 .mega-menu-toggle:before{
        width: 45px;
        left: -45px;
    }
    header .btn-telephone:before,
    header .btn-devis:before{
        width: 45px;
        left: -45px;
    }
    header .btn-telephone,
    header .btn-devis{
        padding-right: 45px;
        width: 35px;
        box-sizing: content-box;
    }
    header>.elementor-element>.e-con-inner{
        padding-left: 0;
    }
    header .elementor-widget-theme-site-logo{
        padding-left: 14px;
        width: 141px;
    }
    .header-menu{
        padding-left: 0;
        width: calc(100% - 141px);
    }
    header .bandeau-header-top{
        width: calc(100% - 40px);
        background-color: #fff;
    }
    header .btn-devis:after{
        content: none;
    }
    header .bandeau-header-top .elementor-widget-heading{
        display: none;
    }
    header .btn-telephone,
    header .btn-devis{
        display: block;
    }
    header .elementor-widget-button .elementor-button{
        padding: 0 50%;
        position: relative;
    }
    header .btn-devis .elementor-button:before,
    header .btn-telephone .elementor-button:before{
        left: 50%;
        transform: scale(1.0) translate(-50%, 0);
    }
    header .btn-devis .elementor-button:hover:before,
    header .btn-telephone .elementor-button:hover:before{
        transform: scale(1.1) translate(-50%, 0);
    }
    header .elementor-element:not(.widget-scroll) .btn-telephone .elementor-button .elementor-button-content-wrapper,
    header .elementor-element:not(.widget-scroll) .btn-devis .elementor-button .elementor-button-content-wrapper{
        text-indent: -9999px;
    }
    .bandeau-titre,
    .padding-content,
    .bloc-img-txt,
    .services,
    .listing-number,
    .bloc-bleu-contact>.e-con-inner,
    .tarifs,
    .padding-blog-list,
    .bandeau-titre,
    .fil-ariane-titre.bandeau-img-titre>.e-child:last-child,
    .home-actus,
    .autres-services,
    .contact-form,
    .bandeau-img-titre>.e-child:last-child,
    .valeurs,
    .avenir-durable,
    .footer-top, 
    .footer-bottom,
    .avis-clients,
    .padding-single{
        padding-left: 20px;
        padding-right: 20px;
    }
    .bandeau-titre>.e-con-inner>.e-child:last-child{
        padding-left: 0;
        padding-right: 0;
    }
    .bandeau-titre,
    .home .bandeau-img-titre, 
    .home .bandeau-img-titre .elementor-widget-image, 
    .fil-ariane-titre.bandeau-img-titre, 
    .fil-ariane-titre.bandeau-img-titre .elementor-widget-image{
        height: auto;
    }
    .bandeau-titre .btn-devis{
        width: 260px;
    }
    .bandeau-titre>.e-con-inner>.e-child:last-child{
        height: calc(100% - 24px);
    }

    .service-item>.e-child:first-child,
    .service-item>.e-child:last-child,
    .bloc-img-txt>.e-con-inner>.e-child:first-child,
    .bloc-img-txt>.e-con-inner>.e-child:last-child,
    .bloc-img-txt.only-txt>.e-con-inner>.e-child:last-child,
    .bloc-bleu-contact>.e-con-inner>.e-child:first-child,
    .bloc-bleu-contact>.e-con-inner>.e-child:last-child,
    .services>.e-con-inner>.elementor-widget-text-editor,
    .item-number,
    .sommaire-faq>.e-child:first-child,
    .sommaire-faq>.e-child:last-child,
    .input-label,
    .intervention>.e-con-inner>.elementor-widget-text-editor,
    .intervention>.e-con-inner>.elementor-widget-text-editor:last-child,
    .avis-clients>.e-con-inner>.elementor-widget-text-editor,
    .valeurs>.e-con-inner>.elementor-widget-text-editor{
        width: 100%;
    }
    .service-item>.e-child:last-child{
        padding-left: 0;
        padding-top: 10px;
    }
    .bloc-img-txt>.e-con-inner>.e-child:last-child{
        padding-left: 0;
        padding-top: 20px;
    }
    .bloc-img-txt.reverse>.e-con-inner>.e-child:last-child{
        padding-right: 0;
    }
    .bloc-img-txt ul,
    .bloc-img-txt.reverse ul {
        padding-left: 16px;
    }
    .bloc-bleu-contact>.e-con-inner>.e-child:first-child{
        padding-left: 0;
    }
    .bloc-bleu-contact .elementor-widget-image{
        min-height: 270px;
    }
    .sommaire-faq{
        padding-right: 20px;
    }
    .sommaire .elementor-widget-text-editor{
        padding-left: 40px;
        position: relative;
        top: auto;
    }
    .sommaire-faq>.e-child:last-child{
        padding-left: 20px;
        margin-top: 40px;
    }
    .elementor-widget-n-accordion {
        padding-left: 0px;
    }
    .elementor-widget-n-accordion .e-n-accordion-item-title{
        padding-right: 43px;
    }
    .elementor-widget-n-accordion .e-n-accordion-item-title>span.e-n-accordion-item-title-icon {
        right: 15px;
    }
    .elementor-widget-n-accordion .e-n-accordion-item-title h3{
        font-size: 22px;
        line-height: 30px;
    }
    .tarifs>.e-con-inner{
        padding-left: 10px;
        padding-right: 10px;
    }
    .tarifs table td:first-child{
        padding-left: 10px;
        padding-right: 15px;
    }
    .tarifs table td:last-child{
        padding-right: 10px;
        padding-left: 10px;
    }
    .tarifs table tr:not(:first-child) td{
        padding-bottom: 20px;
        vertical-align: top;
    }
    .tarifs table tr:last-child td{
        padding-bottom: 6px;
    }
    .tarifs table td:last-child em{
        display: block;
    }
    .tarifs table td a:last-child:not(:first-child), 
    .tarifs table td a.button{
        width: 100%;
        margin-top: 5px;
    }
    .contact-form>.e-con-inner>.e-child:last-child{
        margin-top: 40px;
    }
    .contact-form h2 {
        font-size: 19px;
        line-height: 30px;
        margin-bottom: 8px;
    }
    .popin-devis .group-infos {
        padding-left: 10px;
        padding-right: 10px;
    }
    .checkbox-label {
        width: 100%;
    }
    p.confidentialite {
        padding-left: 10px;
        aspect-ratio: 10px;
    }
    .avenir-durable:before {
        content: none;
    }
    .btn-back{
        width: auto;
        margin-left: 20px;
        margin-right: 20px;
        margin-bottom: 40px;
        transform: none;
    }
    .addtoany-share{
        width: auto;
        margin-left: 0;
        margin-top: 30px;
        transform: none;
        position: relative;
        left: auto;
        right: auto;
    }
    .addtoany_shortcode {
        width: 100%;
    }
    .footer-top>.e-con-inner>.e-child:nth-child(2){
        padding-left: 0;
    }
    .footer-top>.e-con-inner>.e-child:nth-child(1),
    .footer-top>.e-con-inner>.e-child:nth-child(2),
    .footer-top>.e-con-inner>.e-child:nth-child(3) {
        width: 100%;
    }
    .footer-top>.e-con-inner>.e-child:nth-child(1) {
        padding-right: 0;
        border-right: none;
        padding-bottom: 8px;
        border-bottom: 1px solid var(--e-global-color-secondary);
    }
    .footer-top>.e-con-inner>.e-child:nth-child(3) .elementor-widget-text-editor{
        width: 100%;
        max-width: none;
    }
}
