:root {
    --color0: #fffffffa;
    --color1: #021c3f;
    --nuanceColor1: #021c3f;
    --color2: #021c3f;
    --color3: #212121;
    --bg-facultatif: #021c3f;
    --font_family_1: DMSans-Medium;
    --font_family_2: Gilroy-ExtraBold;
    --font_family_3: Gilroy-ExtraBold;
    --border-radius: 0;
    --font_family_4: 'Gilroy-Light';
    --border-radius1: 0.521vw;
    --taille_font: .9vw;
    --h1-size: 0.99vw;
     --h-size: clamp(7.5rem, 6vw, 8rem);
    --h-sub-size: clamp(2rem, 2.4vw, 6.2rem);
}.enc1 a {
    color: var(--color3) !important;
    display: contents;
    text-decoration: none !important;
}
.contenu-article ul {

    margin: 2vh 0 vh;
}
.corps .newsItem h2:first-of-type {
  position: relative;
  padding: 3vh 2vw;
  font-size: calc(var(--taille_font) + .2rem);
  line-height: calc(var(--taille_font) + 1rem);
  border: none;
  font-weight: 700;
  z-index: 1;
  margin-top: 0;
  color: var(--color0);
}
.service-group-37 .bloc-1 {
    background-size: auto 100% !important;
    background-position: center !important;
}

.service-group-37 .row.ligne-photos {
    width: 15%;
}

.newsItem h2:first-of-type:before {
    background: var(--color1);
    opacity: 1;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 1;
    left: 0;
    top: 0;
    z-index: -1;
    border-radius: 4px;
}
.contenu-article h2:after {
    border-bottom: 2px solid var(--color1);
    width: 46px;
    height: 2px;
    position: absolute;
    bottom: -1vh;
    left: 0;
}

.corps .newsItem h2 {
    position: relative;
    margin-bottom: 2vh;
}

.corps .newsItem h3 {
 margin-bottom: 2vh;
}

body.body-service.body-service-51.service-group-37 .row.ligne-photos {
    width: 40%;
}
.grid-exemples {
    column-count: 2; /* nombre de colonnes */
    column-gap: 2%; /* espace entre colonnes */
}

.exemple-photo {
    display: inline-block;
    width: 100%;
    margin-bottom: 2.5vh;
}

.exemple-photo img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s;
}

.exemple-photo img:hover {
}

.titre-sur-photo {
    text-align: center;
    margin-top: 5px;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 768px) {
    .grid-exemples {
        column-count: 2;
    }
}

@media (max-width: 480px) {
    .grid-exemples {
        column-count: 1;
    }
}
.main-page::before {/* content: ""; */width: 100%;height: 100%;position: absolute;z-index: 0;/* background: url(../images/background.svg) center top / auto; *//* opacity: .5; */}
.service-group-38 .news_avant_apres {
    display: none;
}.gallery.galerie .block {}
.service-group-38 .btn-service {
    display: none;
}
body.body-service.service-group-38  .gallery .description-galerie {
    column-count: 1;
    column-gap: 0;
    width: 66%;
}body.body-contact.body-contact-39 .input-group-btn>.btn, body.body-contact.body-contact-39 button#BoutonAjouter, body.body-contact.body-contact-39 button#BoutonSupprimer {
    background: #06254d;
}
.tel-2 i {
    margin-right: 5px;
}

.tel-2 {
    background-color: rgba(255, 255, 255, 0.1);
    padding: 1em;
    transition: all 0.2s ease 0s;
    position: relative;
    text-transform: uppercase;
    display: inline-block;
    color: var(--color0);
    transform: translate(0px);
    box-shadow: 1px 1px 1rem #ffffff4a;
    text-decoration: none;
    margin: 1em 0px;
    border-radius: var(--border-radius);
    text-decoration: none !important;
}

.tel-2::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 100%;
    top: 0;
    right: 1px;
    border: 1px solid var(--color0);
    border-left: none !important;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

.tel-2:before {
    content: "";
    position: absolute;
    width: 15px;
    height: 100%;
    top: 0;
    left: 1px;
    border: 1px solid var(--color0);
    border-right: none !important;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.tel-2:hover:before, .tel-2:hover:after {
width: 49.7% !important;}

.cards-grids {
    display: block;
    float: left;
}
   .cards-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
            gap: 30px;
            margin-top: 50px;
        }

        .card {
            padding: 40px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            margin: 0 0 1vh;
            background-color: #d8290b;
            /* max-width: 380px; */
            text-align: left;
        }



        .card ul {
            list-style: none;
            padding: 0;
        }

        .card li {
            margin-bottom: 12px;
            padding-left: 25px;
            position: relative;
            color: #fff;
        }

        .card li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: #ffffff;
            font-weight: bold;
        }
.titre-sur-photo {color: black;/*padding: 15px 0 0;*/margin: 0;font-weight: 200;font-family: var(--font_family_1);text-align: left;}
.service-group-38 .fluid-contenu .corps {
}
p.titreAB1 {
    font-size: 1.615vw;
    width: 100%;
    position: relative;
    letter-spacing: 0px;
    font-weight: bold;
    font-size: 2.6vw;
    line-height: 1.3;
    padding: 12px 0 0;
    margin: 0;
    text-align: left;
    text-transform: uppercase;
    font-weight: 200;
    color: #ffffff;
    margin-bottom: 40px;
    display: block;
    font-family: var(--font_family_2);
}
.service-group-38 .gallery .ligne-photos .propor:after {
    display: block;
    content: '';
    padding-top: 0;
}
body.body-service.service-group-38 .gallery h2:first-of-type:before {
    display: none;
}

body.body-service.service-group-38 .gallery h2:first-of-type {
    position: inherit;
    width: auto;
    padding: 0 0 3vh;
    font-size: calc(var(--taille_font) + 1.1rem);
}

body.body-service.body-service-60.service-group-38 {}

img.img-57 {
    float: right;
    width: 27%;
    margin-left: 7%;
}
.service-group-38 .gallery.galerie {
    /* padding-top: 0; */
    display: none;
    align-items: top;
}

.service-group-38 .gallery.clear.services {}
.service-group-37 .bloc-1 img {}
.service-group-37 .gallery .ligne-photos .propor:after {
    display: none;
}

.service-group-37 .gallery .ligne-photos .propor .propor-cont, .service-group-38 .gallery .ligne-photos .propor .propor-cont {
    position: relative;
}
.body-service .row.news_avant_apres {
    filter: invert(1);
}
.body-news img.logo-footer, .body-news-LIST img.logo-footer {
    filter: grayscale(100%) brightness(0%) contrast(200%);
}
.t1 .col-md-3 img{opacity: 1;filter: hue-rotate(213deg) brightness(1.2);}
.description-galerie2.clear {
    position: relative;
    float: left;
    width: 100%;
    padding: 2em 12vw;
}
/***********/
.bande_contact_footer address, .bande_contact_footer address i {
    color: white !important;
}

.titreAB {
    position: relative;
    letter-spacing: 0px;
    font-weight: bold;
    font-size: 2.6vw;
    line-height: 1.3;
    padding: 12px 0 0;
    margin: 0;
    text-align: left;
    text-transform: uppercase;
    font-weight: 200;
    color: #ffffff;
    margin-bottom: 40px;
    display: block;
    width: 65%;
    font-family: var(--font_family_2);
}
 p.titreAB {
    /* font-size: 2vw !important; */!i;!;
}
.body-service-list .titreAB {
    font-size: 1.615vw;
    width: 100%;
}
.titreAB {
    opacity: 0;
}

.titreAB.animate {
    opacity: 1;
    font-weight: bold;
}


[data-animate] {
  opacity: 0;
  will-change: auto;
  filter:blur(4px);
}.body-page-1 .corps strong::after {
    /* content: " "; */
    height: 50%;
    width: 100%;
    background-color: #ffffff;
    position: absolute;
    display: block;
    bottom: -1px;
    left: 0px;
    z-index: -40;
    opacity: 0.25;
}

.page-contenu.page-contenu-home.clear p {
    position: relative;
}

.body-page-1  strong {
    position: relative;
    display: inline-block;
}
.animated {
  transition: all .15s cubic-bezier(0.57, 0.08, 0.9, 0.36);
  opacity: 1;
  filter:blur(0px);
}
/***********/

strong {
    font-family: var(--font_family_2);
}


a.bouton-principal:after, .bouton-principal:after{
    content: "";
    position: absolute;
    width: 15px;
    height: 100%;
    top: 0;
    right: 1px;
    border: 1px solid var(--color0);
    border-left: none !important;!i;!;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
a.bouton-principal:before, .bouton-principal:before, .cta p.tel-header.bouton-principal:before{
    content: "";
    position: absolute;
    width: 15px;
    height: 100%;
    top: 0;
    left: 1px;
    border: 1px solid var(--color0);
    border-right: none !important;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.hvr-shutter-out-horizontal:hover:before, .hvr-shutter-out-horizontal:hover:after, .cta p.tel-header.bouton-principalhover:before {
    width: 49.7% !important;
}
.bouton-principal:hover:before, .bouton-principal:hover:after, .cta p.tel-header.bouton-principalhover:before {
    width: 49.7% !important;
}

.pagination li a.active {
    font-weight: bold;
    color: #fff;
    background-color: var(--color1);
}
.swiper.mySwiper.swiper-container-horizontal {height: auto !important;}
.swiper-wrapper {display: inherit;}
 .body-news-list .fixed.tete ,  .body-news .fixed.tete , .body-catalogue-list .fixed.tete , .body-catalogue-item  .fixed.tete {
    backdrop-filter: blur(20px);
}

.body-news-list .tete .logo-site a img, .body-news .tete .logo-site a img, .body-catalogue-list .tete .logo-site a img, .body-catalogue-item .tete .logo-site a img {filter: none;}
.body-news-list .tete img.logo-red, .body-news .tete img.logo-red, .body-catalogue-list .tete img.logo-red, .body-catalogue-item .tete img.logo-red {
    display: block !important;!i;!;
}

.body-news-list .fixed.tete .navh .menu_principal a, .body-news .fixed.tete .navh .menu_principal a, .body-catalogue-list .fixed.tete .navh .menu_principal a, .body-catalogue-item .fixed.tete .navh .menu_principal a {
    opacity: 0.6;
}
.tete.fixed .menu_principal a {
    /* color: var(--color1) !important; */
    opacity: .5;
}
.body-news-list .fixed.tete .navh .menu_principal .active a, 
.body-news-list .fixed.tete .navh .menu_principal a:hover, 
.body-news .fixed.tete .navh .menu_principal .active a, 
.body-news .fixed.tete .navh .menu_principal a:hover, 
.body-catalogue-list .fixed.tete .navh .menu_principal .active a, 
.body-catalogue-list .fixed.tete .navh .menu_principal a:hover, 
.body-catalogue-item .fixed.tete .navh .menu_principal .active a, 
.body-catalogue-item .fixed.tete .navh .menu_principal a:hover {
  opacity: 1;
}

body.body-service .gallery .description-galerie:first-child {
    padding: 0;
    min-height: 34vh;
    margin: 0 0 3vh;
}
body.body-service .gallery .description-galerie {
    column-count: 2;
    column-gap: 3%;
}
.row.description-galerie.clear.ligne2 {
    column-count: 2;
    column-gap: 5%;
}
.swiper.mySwiper1 .swiper-wrapper {
    width: 100%;
    display: initial;
}
.cont-sliderthumb.relative { display: flex; height: 80vh; gap: 10px; justify-content: space-between; }
.swiper-container { width: 100%; height: 300px; margin: 20px auto; overflow: hidden; }
.swiper-slide-container { text-align: center; font-size: 18px; background: #fff; height:100%; max-width: 600px; margin:auto; /* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
.gallery-top { height: 100%; width: 80%; margin: 0; position: relative; }
.cont-sliderthumb.relative { display: flex; height: 80vh; gap: 10px; justify-content: space-between; }
.swiper-container { width: 100%; height: 300px; margin: 20px auto; overflow: hidden; }
.swiper-container.gallery-top img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
p.btn-retour.text-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.prestation .cell.texte .contenu p {
    float: left;
    width: 100%;
    margin: 0 0 3vh;
}

body.body-service-list.body-service-list-38 .page.clear.services {
    padding: 0 12vw;
}
.swiper-container.gallery-top .swiper-slide > div {width: 100%;height: 100%;}
.gallery-thumbs {
        height: 100%;
        box-sizing: border-box;
        /* padding: 10px 0; */
        width: 20%;
        margin: 0;
}
.gallery-thumbs .swiper-slide {
        width: 100%;
        height: 20%;
        /* opacity: 0.4; */
        filter: brightness(0.7) blur(0px);
        cursor: pointer;
}



.gallery-thumbs .swiper-slide > div {
    width: 100%;
    height: 100%;
}

.gallery-thumbs .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-thumbs .swiper-slide >div:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    /* background: #0a0c1d4f; */
    transition: .3s ease;
}
.gallery-thumbs .swiper-slide-thumb-active {
        opacity: 1;
        filter: brightness(1);
}

.gallery-thumbs .swiper-slide-active >div:before {
    background: transparent;
}
.swiper-item-title {
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, black, transparent);
    z-index: 9;
    /* backdrop-filter: blur(6px); */
    width: 100%;
    height: 140px;
    display: flex;
    align-items: center;
    padding: 0 30px;
}
.cadre {
    /* border: 1px solid #fff; */
    position: relative;
    /* float: left; */
    /* width: 100%; */
    /* padding: 36px  17px; */
    margin: 24px 0;
}
p.title2 {
    font-size: 1.5vw;
}
.square {position: fixed;width: 10px;height: 10px;z-index: 1000;background-color: #ffffff17;border: #ffffff0f 0px solid;opacity: 0;border-radius: 0px;box-shadow: rgb(255 255 255 / 5%) 0px 0px 3px 2px;animation-name: floatAnimation;animation-duration: 5s;animation-iteration-count: infinite;animation-timing-function: ease-in-out;}
@keyframes floatAnimation{0%{opacity:0;transform:scale(1,1)}20%{opacity:.5}35%{opacity:1}50%{transform:scale(2,2)}100%{transform:scale(1,1)}}
body.body-service .gallery h2:first-of-type, body.body-gallery.body-gallery-36 .row.description-galerie.clear.ligne2 h2:first-of-type, .corps .seo-content h2:first-of-type{position: relative;padding: 3vh 2vw;font-size: calc(var(--taille_font) + .2rem);line-height: calc(var(--taille_font) + 1rem);border: none;font-weight: 700;z-index: 1;margin-top: 0;} 
body.body-gallery.body-gallery-36 .row.description-galerie.clear.ligne2 h2:first-of-type:before, .corps .seo-content h2:first-of-type:before, body.body-service .gallery h2:first-of-type:before{content: '';position: absolute;background: #225ca0;width: 100%;height: 100%;opacity: .2;left: 0;top: 0;z-index: -1;border-radius: 4px;}
 .corps .seo-content h2,  body.body-service .gallery h2, body.body-gallery.body-gallery-36 .row.description-galerie.clear.ligne2 h2{margin-bottom: 3vh;} 
.alert.alert-warning.alert-dismissable { width: 100%; }
.corps blockquote {font-size: inherit;background: var(--bg-facultatif);border-radius:  var(--border-radius);border: 0;padding: 3vh 2vw;margin: 3vh 0;}
img.img {
    position: relative;
    top: -11vh;
    width: 68%;
    max-width: fit-content;
    margin: 0 auto;
}
.linea2 .col-md-12 {
    display: flex;
    flex-wrap: wrap;
}
body.body-service-list .chifAB span {
    color: white;
}

body.body-service-list .chifAB p {
    color: white;
}
.linea2  .col-md-12 .chifAB {
    width: 24%;
    margin: 0 0 1vh;
    padding: 4vh 1vw 4vh;
    background-color: #00000036;
    /* max-width: 380px; */
    min-height: 225px;
    text-transform: uppercase;
}

   .my-Swiper2 .swiper,    .my-Swiper .swiper {
      width: 100%;
      height: 100%;
    }

     .my-Swiper2   .swiper-slide, .my-Swiper .swiper-slide  {
      text-align: center;
      font-size: 18px;
      background: transparent;
      display: flex;
      justify-content: center;
      align-items: center;
    }
.my-Swiper2 .swiper-slide img {
    width: auto;
}

.swiper.my-Swiper2 {
    margin: 0 0 2vh;
}

.swiper-button-next, .swiper-button-prev {
    color: white !important;
    border-radius: 0 !important;
}ul.products.col-md-6.nopad-l.nopad-xs.nopad-sm li:before {
    content: '';
}

li.puce-list span {
    font-size: 1vw;
}

.swiper-button-prev {
    margin-left: 0;
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 19px !important; 
}

body.body-catalogue-item .gallery .description-galerie {
    padding: 0;
}

.masonry-catalog{
  column-count: 2;
  column-gap: 10px;
  margin: 4vh 0 0;
}


.masonry-catalog figure img {
  max-width: 100%;
  display: block;
}

.masonry-catalog figure {
  margin: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  margin-bottom: 10px;
  break-inside: avoid;
  position: relative;
  overflow: hidden;
}

.masonry-catalog figure a {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 9;
}


.masonry-catalog figure * {
  transition:  all ease-in-out 0.3s;
}

.masonry-catalog figure .overlay {
  position: absolute;
  width: 100%;
  height: 0;
  opacity: 0;
  background: rgba(0,0,0, .35);
  background: radial-gradient(circle, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 80%);
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.masonry-catalog figure .overlay span {
  color: #FFF;
  font-size: 2.2em;
  opacity: 0;
  transform: translateY(-20px);
}

.masonry-catalog figure:hover .overlay span,
.masonry-catalog figure:focus .overlay span  {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;

}

.masonry-catalog figure:hover .overlay,
.masonry-catalog figure:focus .overlay {
  height: 100%;
  opacity: 1;
}

.masonry-catalog figure:hover img {
  transform: scale(1.1);
}

.masonry-catalog figure img {
  grid-row: 1 / -1;
  grid-column: 1;
  width: 100%;
}

.product-place-title h2.h1 {
  margin: 0 0 0 0;
}

.cat-produit .item-description {
  margin-bottom: 3em;
}

.product-place-title {
  padding: 0 0 3em 0;
}



.product-place-title .fil-arianne {
  float: right;
  text-transform: uppercase;
  font-size: 80%;
}



.product-place-title .fil-arianne i.separator {
  display: inline-block;
  margin: 0 3px;
  font-style: normal;
}

.product-place-title .fil-arianne span {
  opacity: 0.66;
}
    .my-Swiper2 .swiper{
      width: 100%;
      height: 300px;
      margin-left: auto;
      margin-right: auto;
    }

       .my-Swiper2 .swiper-slide{
      background-size: cover;
      background-position: center;
      height: 114vh;!;
    }

    .my-Swiper2 {
      height: 100%;
      width: 100%;
    }

    .my-Swiper {
      height: 20%;
      box-sizing: border-box;
      padding: 10px 0;
    }

    .my-Swiper .swiper-slide {
      width: 14% !important;
      height: 158px !important;
      opacity: 0.6;
    }

    .my-Swiper .swiper-slide-thumb-active {
      opacity: 1;
    }

     .my-Swiper .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    };
body.body-service-list.body-service-list-37 .prestation .cell.photo {background-size: contain !important;}
.formulaire fieldset .form-group.index_0,.formulaire fieldset .form-group.index_1,
.formulaire fieldset .form-group.index_2,.formulaire fieldset .form-group.index_3{ width:50%; display:inline-block;}
.formulaire fieldset .form-group.index_0,
.formulaire fieldset .form-group.index_2{padding-right:2% !important;}
.formulaire fieldset .form-group.index_1,
.formulaire fieldset .form-group.index_3{padding-left:2% !important;}
.typewriter { overflow: hidden; white-space: nowrap; margin: 0 auto; font-size: 30px; font-weight: 700;letter-spacing: .15em; transition: .3s ease; color: var(--color0); animation: typing 1s; width: 300px; text-align: center;}
.typewriter img {min-width: 200px;height: auto;filter: invert(1);}
@keyframes typing {
  from { width: 0 }
  to { width: 300px; }
}

.right-side {
  width: 50%;
  height: 100%;
  position: absolute;
  background: var(--nuanceColor1);
  z-index: -1;
  right: 0;
  transition: 1.2s ease;
}
.etapes {
    margin: 5vh -15px !important;
    padding: 10vh 0;
    position: relative;
    float: left;
    width: 100%;
}

.etapes.etap2:after {
    opacity: 0;
}

.etapes:before {
    z-index: 1;
    width: 100%;
    height: 1px;
    content: "";
    max-width: 90%;
    opacity: 0.6;
    background-image: radial-gradient(circle, var(--color0), transparent);
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: 1em;
    left: 0%;
    right: 0%;
}

.etapes:after {
    z-index: 1;
    width: 100%;
    height: 1px;
    content: "";
    max-width: 90%;
    opacity: 0.6;
    background-image: radial-gradient(circle, var(--color0), transparent);
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    bottom: 1em;
    left: 0%;
    right: 0%;
}

.etapes .col-md-3 {
    padding: 22px 3vw;
    width: 50%;
}
.t1 h2 {font-family: var(--font_family_2);}
.t1 {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0 0 4vh;
    min-height: 12vw;
    color: var(--color0);
}


.etapes.etap2 .t1 {
    display: flex;
    flex-direction: column;
    text-align: left;
    align-content: flex-start;
    align-items: flex-start;
    min-height: fit-content;
}
.cle1 {position: relative;padding: 15px 0px;flex-wrap: wrap;margin: 0px;}
.datescles { display: flex; flex-wrap: nowrap; place-content: center; column-gap: 1%; align-items: center; padding: 15vh 0px 11vh; }
.smallcle { width: 100%; font-size: 15px; font-family: var(--font_family_2); color: var(--color0transparent3); }
.date2 {margin: 0.5em 0px;font-size: 19px;font-family: var(--font_family_1);width: auto;display: inline-block;padding: 1vh 0vw;color: white;border-radius: var(--border-radius);}
.timeline {width: 100%;display: flex;position: relative;opacity: 1;flex-wrap: wrap;justify-content: space-between;margin: 2vh 0px 0px;}
.timeline span { width: 8px; height: 8px; display: block; border-radius: 50%; background: rgb(0, 0, 0); }
.timeline::after {content: "";position: absolute;width: 100%;}
.infodat {width: 84%;margin: 1em 0px 0px;color: var(--color0transparent2);align-items: center;justify-content: flex-start;flex-flow: wrap;height: 10.1vh;}
.infodat b {
    color: var(--color2);
}
.timeline2 span { width: 8px; height: 8px; display: block; border-radius: 50%; }
.timeline2 {width: 100%;display: flex;position: relative;opacity: 1;flex-wrap: wrap;z-index: 1000;justify-content: space-between;margin: 0px;}
span.c1:nth-child(2)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 18%; top: 3px; }
span.c1:nth-child(3)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 31%; top: 3px; }
span.c1:nth-child(4)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 45%; top: 3px; }
.timeline2 span.c1 { background: var(--color0); }
.progress-cles { padding: 5em 6% 0px; float: left; width: 100%; position: relative; }
.progress-cles .fleche { position: absolute; margin-top: 17vh; z-index: -1; width: 100%; left: 2%; }
.portfolio .title-ml3 {position: absolute;color: var(--color0transparent2);letter-spacing: 0.1em;font-size: 26rem;line-height: 37rem;opacity: 0.1;top: 52%;transform: translateY(-52%) !important;}
.progress-cles .fleche svg { width: 100%; }
span.c1:nth-child(5)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 55%; top: 3px; }
span.c1:nth-child(6)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 73%; top: 3px; }
span.c1:nth-child(7)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 83%; top: 3px; }
span.c1:nth-child(8)::before { content: ""; background: var(--color0); height: 2px; display: block; position: absolute; left: 0px; width: 100%; top: 3px; }

.right-side:before { content: ""; position: absolute; left: 0; top: 50%; transform: translate(0px, -50%); width: 1px; height: 0%; background: var(--color1); transition: 0.8s ease; }
.left-side {width: 50%;height: 100%;position: absolute;background: var(--nuanceColor1);z-index: -1;transition: 1.2s ease;left: 0;}
.left-side:before { content: ""; position: absolute; right: 0; top: 50%; transform: translate(0px, -50%); width: 1px; height: 0%; background: var(--color1); transition: 0.8s ease; }
.timeup::before { height: 100%; }
.cont { display: flex; align-items: center; justify-content: center; }

.loader {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: #d34654;
  z-index: 9999999999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sticky-block { transition: all 0.3s ease 0s; }
.sticky-block.sticky-fixed {position: fixed;top: 16vh;left: 12vw;width: 56vw;}
.bloc1 { height: 100vh; display: block; width: 100%; }
#sticky-block.sticky , #sticky-block2.sticky  { position: fixed; top: 20vh; }
.effet1 { height: 100%; display: grid; grid-template: auto / 46% 56%; overflow: clip; }
#sticky-block.sticky.absolute, #sticky-block2.sticky.absolute { position: absolute; top: inherit; bottom: 11vh; }
.sticky-block {transition: all 0.3s ease 0s;position: absolute;left: 12vw;width: 40vw;top: 0vh;}
/***/
.modele-liste{margin-left:-15px!important;margin-right:-15px!important;padding:0;display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 1em 1em;margin-top: 0em;}
.modele-liste:before, .modele-liste:after {display: none;}
.encarts .modele-liste,
.encarts2 .modele-liste,
.encarts3 .modele-liste{margin-left:0px !important;margin-right:0px !important;padding:0}
.modele-liste .col-md-2,
.modele-liste .col-md-3,
.modele-liste .col-md-4,
.modele-liste .col-md-6{padding-left:10px !important;padding-right:10px !important}
.modele-liste .item{/* margin-bottom:30px; */position:relative;}
.modele-liste.cont-sliderfav .item{width:100%;padding:0 20px;}
.modele-liste.cont-sliderred .item{width:100%;padding:0 20px;}
.modele-liste.cont-slidernouv .item{width:100%;padding:0 20px;}
.modele-liste.cont-sliderfav .item .div-proportionnel-item,
.modele-liste.cont-sliderred .item .div-proportionnel-item,
.modele-liste.cont-slidernouv .item .div-proportionnel-item{width:220px !important;display:inline-block;}
.modele-liste .item .div-proportionnel-item{width:100%;position:relative;margin-bottom: 10px;}
.modele-liste .item .div-proportionnel-item:after{padding-top: 130%;display:block;content:'';}
.modele-liste .item .div-proportionnel-item .cont-propor{position:absolute;top:0;bottom:0;right:0;left:0;}
.modele-liste .item .div-proportionnel-item .imagecont{height:100%;display:block;width:100%;overflow:hidden;position:relative;transition:all 400ms ease;filter: grayscale(1);}
.modele-liste .item .div-proportionnel-item .imagecont:hover{/* opacity:0.8; */filter:alpha(opacity=80);filter: none;}
.modele-liste .item .div-proportionnel-item .imagecont .imagefond{image-rendering:optimizeQuality;display:block;height:100%;width:100%;overflow:hidden;background-position:center center;background-repeat:no-repeat;}
.modele-liste .item .noimage{background:#fff url(../images/noim.jpg) no-repeat center center}
.modele-liste .item .tableau{width:100%}
.modele-liste .item h2,
.modele-liste .item h3{width: 100%;font-weig;color: black;padding: 5px 0 6px;margin: 0;font-weight: 200;font-family: var(--font_family_1);}
.modele-liste .item h2 a,
.modele-liste .item h3 a{display: flex;font-size: 1vw;height: 100%;width: 100%;justify-content: flex-start;align-items: flex-end;transition: all .4s ease;text-align: left;color: black;padding: 5px 0 6px;margin: 0;font-weight: 200;font-family: var(--font_family_1);}

a {}
.modele-liste .item .prix-item{font-size:30px;text-align:center;line-height:normal;display: none;}
.modele-liste .item .prix-item div{display:inline-block;vertical-align:top;padding:0;}
.modele-liste .item .prix-item div.cell2{display:inline-block;white-space:nowrap;}
.modele-liste .item .prix-item div.ancien{text-decoration:line-through;color:#9e9e9e;position:relative;font-size: 18px;}
.modele-liste .item .prix-item div.ancien:before{content:"";position:absolute;top:18px;left:2px;right:2px;border-bottom:1px solid #9e9e9e;display:inline-block;opacity:0;}
.text-encarts {
    position: relative;
    z-index: 1000;
    font-variant: proportional-nums;
    bottom: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.modele-liste .item h2 a:hover, .modele-liste .item h3  a:hover {
    text-decoration: none;
    color: var(--bg-facultatif);
}

.modele-liste .item:hover  .div-proportionnel-item .imagecont {
    filter: grayscale(0);
}
/********/
.btn-partage .btnp:after {content: none;position: relative;width: 0.05vw;height: 1.5vw;background: #676666;left: -11px;bottom: -29px;opacity: 0;}

.body-page-1 .btn-partage .btnp:after {
    opacity: 1;
}
a.btnp.btn-ami:after {   display: none;}
.swiper-button-next.hidden-sm.hidden-xs {left: 4.906vw;}
.swiper {width: 100%;height: 100%;overflow: hidden;position: relative;/* filter: grayscale(1); */}
.swiper-wrapper {display: flex;} .swiper-slide { text-align: center; }
.swiper-slide i {font-size: 70px;}
.swiper-slide img {display: block; width: 100%;height: 100%;object-fit: cover;}
.swiper-button-next { right: 0;}
.swiper-button-prev {left: 2vw  !important;}
.swiper-button-prev, .swiper-button-next {
    background: #ffffff2b;
    backdrop-filter: blur(5px);
    height: 2.344vw !important;
    width: 2.344vw !important;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color0);
    /* margin: 0 80px; */
    border-radius: 50%;
    border: 1px solid #eeeeee38;
    opacity: 1;
}

.mySwiper-bann .swiper-button-prev, .mySwiper-bann .swiper-button-next {
    background: #ffffff2b;
    backdrop-filter: blur(5px);
    height: 45px;
    width: 45px;
    display: flex;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    color: var(--color0);
    margin: 0 80px;
    border: 1px solid #eeeeee38;
}


/***/
body,html {
    height: 100%
}

body {
    width: 100%;
    margin: 0;
    padding: 0
}

a {
    -webkit-transition: color .3s ease-out;
    -moz-transition: color .3s ease-out;
    -o-transition: color .3s ease-out;
    transition: color .3s ease-out
}
.bloc {
    padding: 10vh 12vw;
    position: relative;
    float: left;
    overflow: hidden;
}

.enc1  img {opacity: 1;width: 76%;margin-top: -17px;height: auto;object-fit: contain;}
.swiper.mySwiper.swiper-container-horizontal .swiper-wrapper {
    display: inherit;
}
.enc1{
    font-size: 1.1vw;
    padding: 0;
    text-align: left;
    color: white;
    display: flex;
    align-content: center;
    flex-wrap: nowrap;
    background: transparent;
    padding: 7vh 2vw;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    gap: 1em;
}
.atouts1-cont .swiper-button-next {
    opacity: 1;
    right: 8vw;
    margin: 7vh 0 0;
}
.atouts1 .swiper-button-next i, .atouts1 .swiper-button-prev i{color:white }

.atouts1-cont .swiper-button-prev {
    left: 8vw !important;
    margin: 7vh 0 0;
}
.atouts1 .swiper-button-prev i, .atouts1 .swiper-button-prev i{color:white }

.titre {
    font-family: var(--font_family_2);
    letter-spacing: 0px;
    font-weight: bold;
    font-size: 2.615vw;
    line-height: 3.135vw;
    margin: 0 0 43px;
    text-align: left;
    color: white;);
}
a img {
    border: none
}

img {
    max-width: 100%;
    object-fit: cover;
}

ul {
    list-style-position: inside;
    list-style-type: none;
    list-style-image: none
}

ol li,ul li {
    padding-left: 0;
    position: relative
}
.gallery.galerie {
    display: flex;
}

.bloc-1 {
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.service-group-36 .gallery.galerie li:before, .service-group-37 .gallery.galerie li:before {
    color: var(--color1);
}
.newsItem .contenu-article ul li:before {
    color: var(--color1);
}
ul li::before {
  content: "\f054";
  font-family: 'Font Awesome 5 Free';
  font-weight: 700;
  position: absolute;
  left: -1.2em;
  top: 1em;
  font-size: calc(var(--taille_font) * 0.5);
  color: var(--color0);
  width: 0.56em;
  height: 1em;
  display: inline-block;
  line-height: 1;
}

ol li::marker {
    color: var(--color1)
}

ol li.niveau2,ul li.niveau2 {
    margin-left: 30px
}

dir,menu {
    padding-left: 15px
}

blockquote p {
    font-size: inherit
}

table,table td,table th {
    font-size: inherit;
    border: 1px solid #7c7c7c
}
.AvisClientsBg .col-md-4, .bande_contact_footer .row1 .col-md-4{
    padding: 0;
}

article,aside,footer,header,hgroup,main,nav,section {
    display: block
}

iframe {
    border: none
}

[data-anim] {
    opacity: 0
}

.row {
    margin-right: 0!important;
    margin-left: 0!important
}

.nopad {
    padding-left: 0;
    padding-right: 0
}

.nopad-l {
    padding-left: 0
}

.nopad-r {
    padding-right: 0
}

.nomargin {
    margin: 0
}

.hide {
    display: none
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.justify {
    text-align: justify
}

.clear:after {
    content: '';
    display: block;
    clear: both
}

.bold {
    font-weight: 700
}

.underline {
    text-decoration: underline
}

.relative {
    position: relative
}

.inline-block {
    display: inline-block;
    vertical-align: top
}

.noflicker {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.retrait {
    margin-left: -15px!important;
    margin-right: -15px!important
}

.transition {
    -webkit-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -ms-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.cover {
    -webkit-background-size: cover!important;
    -moz-background-size: cover!important;
    -o-background-size: cover!important;
    background-size: cover!important
}
body.body-gallery.body-gallery-36 .row.description-galerie.clear {
    padding: 0 12vw 3em;
}
hr.trait {
    height: 1px;
    margin: -.5em 0;
    padding: 0;
    color: var(--color3);
    background-color: var(--color3);
    border: 0;
    opacity: .4
}

.page-contenu img {
    margin: 10px
}

body {
    color: var(--color0);
    font-family: var(--font_family_1);
    font-size: var(--taille_font);
    background: var(--color1);
}

span.blogCnt {
    color: var(--color3);
    position: relative;
    float: left;
    MARGIN: 0;
}

svg.nejmaAB4 {
    position: absolute;
    width: 150px;
    top: 171px;
    display: none;
    left: -51px;
    z-index: 9000;
    fill: #facfd05c;
    rotate: 20deg;
}
.body-service-list-37 svg.nejmaAB4 {
    left: unset;
    right: -55px;
    transform: scaleX(-1);
    rotate: -16deg;
}

.cat-liste.catalogue-2 {
    position: relative;
    padding: 0 0vw;
}

svg.nejmaAB3 {
    position: absolute;
    width: 110px;
    z-index: 10;
    top: 20px;
    left: -36px;
    display: none;
    fill: #e7c052;
}

.contact.node-49 h1 {
    text-align: left;
}

.contact.node-49 .titre-secondaire {
    text-align: left;
}
.hide-print.banniere.cover:before {
    /* content: ''; */
    /* position: absolute; */
    /* background: var(--color1); */
    /* bottom: -1px; */
}


svg.nejmaAB2 {
    position: absolute;
    top: -75px;
    left: -4px;
    z-index: 10;
    width: 150px;
    fill: #ffffff2b;
    display: none;
}

.socialsAB {
    position: absolute;
    left: 8%;
    z-index: 100000;
    display: none;
    top: 50%;
    height: 100%;
    transform: translate(-50%, -50%);
    /* display: flex; */
}

.body-page-1 .socialsAB {
    display: flex;
    justify-content: center;
    align-items: center;
}

hr {
    opacity: 0.3;
}

.gallery-item-block img {
    min-height: 30vh;
    max-height: 70vh;
    width: auto !important;
    max-width: unset !important;
}

.btn-retour a:after {
    /* opacity: 0; */
}

.btn-retour a {
}

.btn-retour a:hover {
    border-color: transparent !important;
}

div#ListeDesFichiers .input-group {border-collapse: unset;display: inline-flex;width: 100%;flex-direction: row-reverse;align-items: end;gap: 17px;}

button#BoutonAjouter, button#BoutonSupprimer {
    background-color: var(--color1);
    border: none !important;
    padding: 0.521vw 1.042vw !important;
    border-radius: var(--border-radius) !important;
    outline: none !important;
    margin-top: 10px;
    font-size: var(--taille_font);
}


.input-group-btn{
    vertical-align: bottom;
    width: auto;
    margin: 0;
}
.input-group-btn>.btn {
    height: 2.188vw;
    background: var(--color2);
    color: var(--color0);
    display: flex;
    align-items: center;
    padding: 0.469vw 2.188vw;
    border-radius: var(--border-radius) !important;
    /* margin-right: 8px !important; */
    font-size: var(--taille_font);
    border: none;
}

svg.nejmaAB1 {
    position: absolute;
    width: 700px;
    height: auto;
    left: 0;
    top: 0;
    fill: var(--color1);
    opacity: 0.2;
    z-index: -1;
    display:none;
}

.body-contact label.checkbox.label-rgpd {
    color: var(--color0);
}
article.page.clear.node-1 {
    text-align: center;
    /* backdrop-filter: blur(5px); */
}.body-page-1 .fluid-contenu .corps {
    padding: 4vw 12vw 4em;
}
img.logo-footer {
    width: 12.771vw;
    margin-bottom: 42px;
}

.chifAB {
    width: 32%;
}
.chifAB::nth-child(2){grid-area: item2}
.chifAB::nth-child(3){grid-area: item2}
.chifAB::nth-child(4){grid-area: item2}
.chifAB::nth-child(5){grid-area: item2}
.chiffresAB {
    padding: 10vh 12vw;
    position: relative;
    float: left;
    width: 100%;
}.body-page-1 .chiffresAB {
    background: white;
}

.body-page-1 .chiffresAB .titreAB {
    color: black;
}

.atouts1 .titreAB.animate {
    color: var(--color3);
}

.body-page-1 .chifAB {
}
.chiffresAB .col-md-3 img {
    position: absolute;
    top: 12vh;
    right: -5vw;
    display: none;
}
.chifAB {
    padding: 2vh 0vw 1vh;
    background-color: #ffffff;
    /* max-width: 380px; */
    width: 100%;
    text-transform: uppercase;
    position: relative;
}

.chifAB:nth-child(1) {
    grid-area: item1;
}

.chifAB img {
    width: calc(var(--taille_font)*5);
    opacity: 1;
    /* position: absolute; */
    /* right: 0; */
}
.chifAB:nth-child(2) {
    grid-area: item2;
    width: 100%;
}
.chifAB:nth-child(3) {
    grid-area: item3; 
}
.chifAB:nth-child(4) {
    /*grid-area: item4;*/
}
.chifAB:nth-child(5) {
    /* grid-area: item5; */
}
p.sans-image {
    font-size: var(--h1-size);
    line-height: 34px;
    font-family: var(--font_family_2);
    margin: 2em 0px;
    color: rgb(255 255 255 / 56%);
}
.chifAB div {
    /* display: flex; */
    font-size: 1.1vw;
    font-family: var(--font_family_2);
    color: #000;
    flex-direction: column;
}
.chifAB:last-child {
}
.chifAB span {
    font-size: 2.865vw;
    margin-bottom: 0;
    font-family: var(--font_family_2);
    color: #000000;
}.chifAB  .textee {
    width: auto;
}

.chifAB  .textee span {
}

.chifAB p {
    font-size: 1.05vw;
    color: black;);
    text-transform: none;
    font-family: Gilroy-Light;
}

.chiffresAB .col-md-10 {
    display: grid;
    gap: 1em;
    margin-left: -11px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-areas:
        "item1 item2 item2 item3"
        "item4 item4 item5 item5";
}

a,a:link,a:visited {
    color: var(--color0);
    text-decoration: underline
}

a:hover {
    text-decoration: none
}

.corps a:hover {
    /* color: var(--color2); */
}

a:active {
    outline: 0
}

.h1,.h2,.h3,h1,h2,h3,h4,h5,h6 {
    font-family: var(--font_family_3);
    font-weight: 200
}h2.h1 {
    font-family: var(--font_family_2);
    letter-spacing: 0px;
    font-weight: bold;
    font-size: 1.615vw;
    line-height: 2.135vw;
    margin: 0 0 43px;
    text-align: left;
}

h2.h1 strong {
    color: white;
}
.titreABslog strong {color: white;font-size: var(--h-size);font-family: 'Gilroy-ExtraBold';text-transform: uppercase;line-height: 1;color: #ffffff !important;letter-spacing: 4px;text-align: center;margin: 0 0 1vh;text-wrap: balance;}
.h1,h1 {
    position: relative;
    /* bAbi ingenieurs */
    font-size: 1.875vw;
    line-height: 1.95vw;
/* or 150% */
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: var(--font_family_2);
}

.titreABslog {
    position: absolute;
    padding: 0 10vw;
    z-index: 2;
    text-align: left;
    font-size: 2.604vw;
    font-family: 'Gilroy-ExtraBold';
    text-transform: uppercase;
    line-height: 1;
    color: #ffffff !important;
    letter-spacing: 4px;
    margin: 4vh 0 1vh;
    text-wrap: balance;
    bottom: 1vh;
}

.title2 {
    color: white;);
    position: absolute;
    z-index: 100;
    left: 12vw;
    bottom: 1vh;
    font-size: 2.604vw;
}

.h1:before,h1:before {
    content: "";
    width: 75px;
    background: var(--color1);
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -37px;
    height: 2px;
    opacity: 0;
}

.h2,h2 {
    font-size: calc(var(--taille_font) + 1.1rem);
}

.h3,h3 {
    font-size: calc(var(--taille_font) + .7rem);

}

h4 {
    font-size: calc(var(--taille_font) + .4rem)
}

h5 {
    font-size: calc(var(--taille_font) + .3rem)
}

h6 {
    font-size: calc(var(--taille_font) + .2rem)
}

.h1 a,.h1 a:link,.h1 a:visited,.h2 a,.h2 a:link,.h2 a:visited,.h3 a,.h3 a:link,.h3 a:visited,h1 a,h1 a:link,h1 a:visited,h2 a,h2 a:link,h2 a:visited,h3 a,h3 a:link,h3 a:visited,h4 a,h4 a:link,h4 a:visited,h5 a,h5 a:link,h5 a:visited,h6 a,h6 a:link,h6 a:visited {
    font-size: inherit;
    color: inherit;
    text-decoration: none
}

.h1 a:hover,.h2 a:hover,.h3 a:hover,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {
    text-decoration: underline
}

.titre-secondaire {
    position: relative;
    font-size: 24px;
    line-height: 30px;
    padding: 12px 0 0;
    margin: 0;
    font-weight: 200;
    color: var(--color0);
    margin-bottom: 0;
    display: block;
    text-transform: initial;
}

.badge-optionnel {
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/badge-optionnel.png) no-repeat top right;
    width: 139px;
    height: 139px
}

.bg-optionnel {
    background: url(../images/bg-optionel.svg) repeat top center;
    background-size: 60px auto
}

.bg-optionnel-gris {
    background-size: 60px auto
}

a.bouton-principal,button.bouton-principal {text-align: center;font-weight: 400;margin: 1em 0 0;color: #fff;text-decoration: none;padding: 0.677vw 1.042vw;text-transform: uppercase;box-sizing: border-box;border: 1px solid transparent;position: relative;}
a.bouton-principal:hover,  button.bouton-principal:hover {
    /* color: #333; */
    /* background: white; */
    text-decoration: none;
}


.bouton-principal:hover:after {
    color: var(--color0);
}
a.bouton-principal.hvr-shutter-out-horizontal:focus {
}
.btn-news a.bouton-principal,.btn-news button.bouton-principal,.btn-service a.bouton-principal,.btn-service button.bouton-principal {text-align: center;font-weight: 400;margin: 31px 0 0;color: #fff;text-decoration: none;padding: 0.677vw 1.042vw;text-transform: uppercase;box-sizing: border-box;/* border: 1px solid #FFFFFF; */border-radius: 0 !important;}
.btn-news a.bouton-principal, .body-catalogue-item a.bouton-principal {/* border: 1px solid var(--color1); */color: var(--color3);}

.btn-news a.bouton-principal:before, .body-catalogue-item a.bouton-principal:before, .btn-news a.bouton-principal:after, .body-catalogue-item a.bouton-principal:after {
    border: 1px solid var(--color2);!i;!;!;
}
.btn-news a.bouton-principal:hover, .body-catalogue-item a.bouton-principal:hover {/* background:var(--color1); *//* color: white !important; */}
.btn-news a.bouton-principal:hover, .btn-service a.bouton-principal:hover{/* color: var(--color1); */}
.postulerAB {
    display: block;
    width: fit-content;
    margin: 2em auto 4em;
}

/* .btn-news a.bouton-principal:after,.btn-service a.bouton-principal:after {content: none} */
.btn-news a.bouton-principal::after,.btn-service a.bouton-principal::after {background-image: none}
.body-page-1 .corps a.bouton-principal,.body-page-1 .corps button.bouton-principal {margin: 15px 0;
    background: transparent;
    transition: all .3s ease;
    color: var(--color0);
/* Input */
    position: absolute;
    background: #F0696F;
    border-radius: 50px;
    float: left;
}

.body-page-1 .corps a.bouton-principal:after, .body-page-1 .corps button.bouton-principal:after {
    color: var(--color0);
}

.body-page-1 .corps a.bouton-principal:hover, .body-page-1 .corps button.bouton-principal:hover {
    /* background-color: var(--color1); */
    border-color: var(--color1);
    box-shadow: none;
}

.main-page {
    position: relative;
    overflow: hidden;
}

.tete {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 9000;
    height: 13vh;
    display: flex;
    transition: .5s;
    background: transparent;
    transition: all .3s ease;
    border-bottom: 1px solid #ffffff1a;);
    align-items: center;
    justify-content: flex-start;
}

.header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 0 10vw;
}

.header:before,.header:after {
    display: none;
}

.tete .header .flex-logo {
    width: 15%
}

.tete .header .flex-infos {
    width: 25%;
    height: 100%
}

.tete .logo-site {
    margin: 0
}

.tete .logo-site a {
    font-size: 15px;
    color: var(--color1);
    text-decoration: none;
    font-family: var(--font_family_1)
}

.tete .logo-site a:focus,.tete .logo-site a:hover {
    color: var(--color1);
    text-decoration: none
}

.tete .logo-site a img {
    height: auto;
    width: 8.771vw;
    /* filter: brightness(0) invert(1); */
    /* transition: all .3s ease; */
    padding: 15px 0;
}

img.logo-red {
    display: none;
}

.tete.fixed .logo-site a img {
    /* filter: brightness(0) invert(1); */
}

.tete .header .flex-infos .infos {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap
}

.tete .infos .tel {
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    font-weight: 700;
    color: var(--color0);
    padding: 8px 14px 8px;
    margin: 0;
    font-family: var(--font_family_1);
    background: var(--color1);
    border-radius: var(--border-radius);
    margin-right: 1rem;
    transition: .5s;
    white-space: nowrap
}

.cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal a {
    color: var(--color0);
    text-align: center;
}

.cta {
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
    align-items: stretch;
    column-gap: 10px;
    justify-content: flex-start;
    height: 100%;
    margin: 2em 0;
    font-weight: 700;
}

.cta a.bouton-principal:after {
    display: none;
}

.cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal {
    text-align: left;
    font-family: var(--font_family_1);
    color: var(--color0);
    text-decoration: none;
    margin: 0 0 0;
    display: inline-flex;
    text-transform: uppercase;
    border: 0;
    border-radius: var(--border-radius);
    overflow: hidden;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal span {
    font-size: 100%;
    text-align: center;
    min-width: auto;
    font-size: 14px;
}

.cta a.bouton-principal, button.bouton-principal, .cta .tel-header {
    display: inline-flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    line-height: 1.74em;
    font-size: 14px;
    /* padding: 13px 20px !important; */
    /* min-width: 213px; */
    outline: none;
    margin: 0 0 4vh;
    background: transparent;
}



.formABcont .callTracker:not(.active) a:hover, .formABcont .callTracker:not(.active):hover {
    color: var(--color0);
}

.tete .infos .tel a {
    color: inherit;
    text-decoration: none
}

.header-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.header-phone .icones {
    margin: 0 8px 0 0;
    fill: var(--color1);
    width: 25px;
    height: 25px
}

a.imagecont.noflicker.img1 {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px
}

.sidebar-scroll-right .callTracker {
    width: 100%;
    height: 50px
}

.callTracker {
    position: relative
}

.callTracker a,.callTracker span {
    display: inline-block;
    min-width: 145px;
    padding: 0;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    height: 100%;
    text-decoration: none
}

.callTracker .t_phone {
    opacity: 0;
    display: none
}

.callTracker .t_affiche {
    cursor: pointer
}.btn-partage {
    display: flex;
    flex-direction: column;
    gap: .5vw;
}

.body-page-1 .slogan small {
    display: block;
    position: relative;
    padding: 0 0 0 15px;
    font-size: var(--taille_font);
    margin: 8px 0 17px;
    font-family: 'Barlow-Regular';
    text-transform: uppercase;
    letter-spacing: 3px;
}

.body-page-1 .slogan small:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    left: 0;
    top: 1vh;
    background: white;
    border-radius: 0;
}

header .callTracker a,header .callTracker span {
    top: 5px
}

.callTracker.active .t_phone {
    opacity: 1;
    display: inline-block
}

.callTracker.active .t_affiche {
    opacity: 0;
    display: none
}

.coordonnees .callTracker a,.pied .callTracker a {
    position: relative;
    left: 0
}

.tete .infos .callTracker:not(.active) a:hover,.tete .infos .callTracker:not(.active):hover {
    color: var(--color0);
    background: var(--nuanceColor1)
}

.tete .widget-partage {
    display: none
}

.btn-partage .btnp {
    height: calc(var(--taille_font)*2.5);
    width: calc(var(--taille_font)*2.5);
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
    transition: all .4s ease;
    text-align: center;
    justify-content: center;
    align-items: center;
    /* margin-bottom: 23px; */
    opacity: 1;
    background-color: var(--color1);
    border-radius: 50%;
}

.btn-partage .btnp:hover {
    scale: 1.08;
}

.tete .infos.infos_small .btn-partage .btnp {
    width: 29px;
    height: 29px
}

.btn-partage .btnp:hover {opacity: 1;}

.copyright {
    text-align: justify
}

.tete .btn-partage {
    padding: 0;
    display: flex
}

.tete .header .flex-menuP {
    /* width: 60%; */
}

.navh .menu_principal {
    margin: 0 auto;
    padding: 0;
    display: table
}

.navh .menu_principal>li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    /* padding: 0 2rem; */
    padding: 0 1vw;
    background: 0 0
}

.navh .menu_principal>li:before {
    content: none
}

.navh .menu_principal>li:last-child {
    background: 0 0
}
.tete .f1 {
    display: block;
}

.tete .f2 {
    display: none;
}

.fixed.tete .f1 {
    display: none;
}

.fixed.tete .f2 {
    display: block;
}

.navh .menu_principal a,.navh .menu_principal a:visited {
    position: relative;
    color: var(--color0);
    display: block;
    font-size: 0.9vw;
    padding: 34px 0;
    --taille_font: clamp(1.4rem, 1vw, 1.6rem);
    font-weight: normal;
    text-decoration: none;
    font-family: Gilroy-ExtraBold;
    letter-spacing: 1px;
    transition: all .4s ease;
    text-transform: uppercase;
    text-shadow: 0px -1px 8px #00000045;
}

.fixed .navh .menu_principal a:hover, .fixed .navh .menu_principal li.active>a {color: #fffbfa !important;}

.fixed .navh .menu_principal .active a, .fixed .navh .menu_principal a:hover {
    opacity: 1 !important;
}

.navh .menu_principal li:last-child {
    /* padding-left: 5em; */
}

.navh .menu_principal a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background: var(--color0);
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    transition: .5s
}

.fixed .navh .menu_principal a:after {opacity:0;}

.navh .menu_principal a:hover, .navh .menu_principal li.active>a {
    color: #ffffff !important;!i;!;
    width: 100%;
    opacity: .65;
}

.icone-share {
    display: none
}

.btn-partage .icones {
    width: calc(var(--taille_font)*1.2);
    margin: 0;
    height: calc(var(--taille_font)*1.2);
    padding: 0;
    position: relative;
    left: 0;
    fill: var(--color0);
}

@media(max-width: 1580px) {
    .header {
        padding:0 1.5%
    }
        :root { 
    --h-size: clamp(4.5rem, 4vw, 7rem);
    --h-sub-size: clamp(2rem, 2.4vw, 6.2rem);
}

}

@media(max-width: 1376px) {
    .flex-infos {
        display:none
    }
    :root { 
    --h-size: clamp(4.5rem, 4vw, 7rem);
    --h-sub-size: clamp(2rem, 2.4vw, 6.2rem);
}
    .tete .header .flex-menuP {
        /* width: 80%; */
    }

    .fluid-infos {
        position: fixed;
        top: 20vh;
        right: 0;
        z-index: 9999
    }

    .fluid-infos .infos {
        display: block;
        position: relative
    }

    .fluid-infos .infos p.tel {
        margin: 0;
        position: relative;
        left: 155px;
        transition: .5s;
        background: var(--color1);
        line-height: 1;
        padding: 9px 9px;
        display: table;
        color: var(--color0)
    }

    .fluid-infos .infos p.tel span {
        height: initial;
        line-height: 1;
        top: 7px;
        position: relative
    }

    .fluid-infos .infos .tel .icones {
        margin: 0 15px 0 0;
        width: 26px;
        height: 26px;
        float: left
    }

    .fluid-infos .infos p.tel:hover {
        left: 0
    }

    .fluid-infos .infos .btn-partage {
        position: relative;
        margin: 8px 0 0;
        display: flex;
        left: 155px;
        transition: .5s;
        background: var(--color1);
        line-height: 1;
        padding: 7px 9px;
        align-items: center
    }

    .fluid-infos .infos .btn-partage .icones {
        fill: var(--color0)
    }

    .fluid-infos .infos .btn-partage .icones.icone-partage {
        width: 25px;
        height: 25px;
        top: 5px;
        margin-right: 14px;
        fill: var(--color0)
    }

    .fluid-infos .infos .btn-partage:hover {
        left: 0
    }

    .fluid-infos .icone-share {
        display: block;
        width: 34px;
        height: 22px;
        fill: var(--color0);
        padding-right: 10px
    }

    .tete .header .btn-partage .icone-partage {
        display: block
    }
}

.fixed.tete {
    background: #91919175;
    backdrop-filter: blur(20px);
    border-color: #eeeeee26;
}

.slogan {
    position: absolute;
    color: var(--color0);
    width: 100%;
    padding: 0 10vw;
    margin: 0;
    text-align: left;
    z-index: 2;
    bottom: 1vh;
}

.slogan h1 {
    position: relative;
    color: var(--color0);
    width: 100%;
    margin: 0;
    text-align: left;
    z-index: 2;
}

.h1.slogan:before,.slogan h1:before {
    content: "";
    width: 0;
    height: 0;
    background: 0 0;
    position: inherit;
    bottom: inherit;
    left: inherit;
    display: none;
}
a.btn, p.btn {
    text-align: center;
    font-weight: 400;
    margin: 31px 0 0;
    color: #fff;
    text-decoration: none;
    padding: 0.677vw 1.042vw;
    font-size: 0.729vw;
    text-transform: uppercase;
    box-sizing: border-box;
    /* height: 2.604vw; */
    /* border: 1px solid #FFFFFF; */
    border-radius: 0 !important;!i;!;
    position: relative;
}
.slogan .titre {
    font-size: 2.604vw;
    font-family: 'Gilroy-ExtraBold';
    text-transform: uppercase;
    line-height: 1;
    color: #ffffff !important;!i;!;
    letter-spacing: 4px;
    text-align: center;
    margin: 0 0 1vh;
    text-wrap: balance;
}

.slogan .titre span {
    font-size: 48px
}

.slogan .sous-titre {
    font-size: var(--h-sub-size);
    font-family: var(--font_family_1);
    line-height: 1;
    display: block;
    color: white;
    text-align: center;
    text-wrap: balance;
}
.btn.focus, .btn:focus, .btn:hover {
    color: #fff;
    /* background: var(--color1) !important; */!i;!;
    text-decoration: none;
}
.body-page-1 .slogan {
    padding: 0 10%;
    right: 0;
    position: absolute;
    z-index: 100;
    text-align: left;
    text-shadow: -6px 3px 8px #00000061;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: center;
    top: 0;
}

.video-accueil {
    position: fixed;
    top: 0;
    left: 50%;
    width: 120%;
    width: 120vw;
    height: 100vh;
    margin-left: -60%;
    margin-left: -60vw
}

.video-accueil video {
    width: 100%;
    height: auto;
    vertical-align: top;
    z-index: 1;
    position: relative
}

.video-accueil .banniere {
    z-index: 0
}
.btn-swiper {
    position: absolute;
    bottom: 5vh;
    width: 6.927vw;
    right: 5vw;
    height: 100px;
    z-index: 900000;
}

.swiper-button-prev.hidden-sm.hidden-xs {
    left: -4.01vw;
}
.banniere {
    position: absolute;
    top: 0 !important;
    margin-left: 0;
    height: 100%;
    left: 0;
    width: 100%;
    z-index: 9;
    display: flex;
}

.banniere:after {
    content: '';
    background: #1a1a1a69;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
}

.banniere::before {
    content: "";
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    /* backdrop-filter: blur(0px); */
    pointer-events: none
}

.banniere img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@keyframes zoomAB {
  0% {
    scale: 1;
  }
    50% {
        scale:1.05;
    }

  100% {
    scale: 1;
  }
}
.banniere .mySwiper-bann img {
    animation: 40s infinite ease zoomAB;
}

.hide-print.banniere.cover:after {width: 100%;height: 100%;z-index: 1;opacity: .6;}
.body-page-1 .banniere img {
    filter: none;
}

.body-page-1 .banniere::before {
    content: none
}

@-moz-document url-prefix() {
    .banniere img {
        filter: blur(4px);
        width: 100%
    }

    .body-page-1 .banniere {
        filter: blur(0);
        width: 100%;
        left: 0
    }
}

.btn-descendre,a.btn-descendre {
    width: 60px;
    height: 60px;
    position: relative;
    display: flex;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 100px;
    margin-top: 23px
}

.btn-descendre:after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    animation: pulse-border 1.5s ease-out infinite;
    background: #fff;
    z-index: -1
}

@keyframes pulse-border {
    0% {
        transform: scale(1);
        opacity: 1
    }

    100% {
        transform: scale(1.8);
        opacity: 0
    }
}

.btn-descendre i {
    font-size: 30px
}

.fluid-contenu {
    position: relative;
    z-index: 90;
    background: var(--color1);
    overflow: hidden;
}

main.fluid-contenu:before {
    /* content: ""; */
    position: absolute;
    width: 800px;
    height: 712px;
    left: -40px;
    top: 17vh;
    background-image: url('../images/bg-home.svg');
    background-repeat: no-repeat;
    background-size: 100%;
    opacity: 0.4;
    z-index: -1;
}
.body-service-list-38 .prestation:nth-child(even) { background: transparent !important;}
.body-news-list .fluid-contenu, .body-catalogue-list .fluid-contenu, .body-catalogue-item .fluid-contenu, .body-news .fluid-contenu {background: #fff !important;}

 .body-news  .titre ,  .body-catalogue-item .titre {color: black;!;!importan;}
 
  .body-news   .fluid-contenu ,  .body-catalogue-item .fluid-contenu {color: var(--color3) !important;}


.body-news-list .fluid-contenu:before
, .body-catalogue-list .fluid-contenu:before
, .body-catalogue-item .fluid-contenu:before{
    opacity:0.25
    ;
}.linea2 .col-md-12 {
    gap: 1%;
    margin: 0 -1%;
}
body.body-service-list.body-service-list-38 .chiffresAB {
    padding: 7vh 12vw 0vh;
}
.body-service .fluid-contenu .corps, .corps {
    padding: 0 0;
}
.fluid-contenu .corps, .body-catalogue-item .fluid-contenu .corps {
    padding: 4vw 12vw 7em;
    position: relative;
}
.body-gallery-36 .fluid-contenu .corps {
    padding: 13vh 0;
}
.body-contact .fluid-contenu .corps {
    padding: 1vw 12vw 2em;
}

.body-service-list .fluid-contenu .corps {
    padding: 0;
}

.body-service-list-38 .fluid-contenu .corps {
    padding: 7em 0 0;
}
h1.titreAB {
    text-align: center;
    width: 100%;
}
.page-contenu-home {
    position: relative;
    display: block;
    font-family: var(--font_family_4);
    font-size: calc(var(--taille_font) * 1.5);
    padding: 4vh 4vw !important;
}
.content-wrapper {
    position: relative;
}
.content-lines-wrapper {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: .5;
}
.content-lines-inner {
    position: absolute;
    width: 1191px;
    left: 50%;
    margin-left: -679px;
    top: 0;
    height: 100%;
    border-left: 1px solid rgba(255,255,255,0.1);
    border-right: 1px solid rgba(255,255,255,0.1);
    /* border-bottom: 1px solid rgba(255,255,255,0.1); */
}
.content-lines {
    position: absolute;
    left: 37%;
    right: 32.666666%;
    height: 100%;
}

figcaption.captionservice div.position-relative a:after {
    content: '';
    position: absolute;
    width: 2vw;
    height: 0.052vw;
    background: var(--color0);
    left: 0;
    bottom: 0;
}
.linea:before, .bande1:before {
    z-index: 1;
    width: 100%;
    height: 1px;
    content: "";
    max-width: 90%;
    opacity: 0.6;
    background-image: radial-gradient(circle, var(--color0), transparent);
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: 0em;
    left: 0%;
    right: 0%;
}

.title {}
.services.services-home {
    padding: 12vh 12vw 19vh 0;
}
.services-home .title {
    text-align: left;
    position: sticky;
    width: 100%;
    margin: 0 0 0;
}
.title {
    font-family: var(--font_family_2);
    letter-spacing: 0px;
    font-weight: bold;
    font-size: 2.6vw;
    line-height: 1.6;
    margin: 0 0 6vh;
    text-align: left;
    text-transform: uppercase;
    width: 79%;
    color: white;
    text-wrap: balance;
}


.recup-photos .propor .propor-cont .imagecont {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}

.recup-photos .propor .propor-cont .imagecont img {
    object-fit: cover;
    -o-object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    flex: 1;
    height: 100%;
}

.recup-photos .propor {
    width: 100%;
    position: relative;
    margin-bottom: 10px;
    border-radius: 0;
    overflow: hidden
}

.recup-photos .propor:after {
    padding-top: 78%;
    display: block;
    content: ''
}

.recup-photos .propor .propor-cont {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}

.recup-photos .propor .propor-cont .imagecont .imagefond {
    image-rendering: optimizeQuality;
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat
}

.recup-photos .propor .propor-cont .imagecont .masque {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    width: 100%;
    height: 100%;
    transition: .5s;
    background-color: var(--color1);
    background-image: url(../images/ico-zoom.svg);
    background-repeat: no-repeat;
    background-position: center center
}

.recup-photos .propor .propor-cont .imagecont:hover .masque {
    opacity: .7;
    filter: alpha(opacity=70)
}

.recup-photos .propor .propor-cont .imagecont:hover .imagefond {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -o-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15)
}

.certifs {
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 8000;
    background: var(--bg-facultatif);
    padding: 3em 10% 4em
}

.certifs .cell.gauche {
    display: block
}

.certifs .cell.gauche .contenu {
    padding: 2em 13%
}

.certifs .cell.droite {
    position: relative;
    display: block;
    padding: 2em 7% 4em
}

.certifs .logo-certifs {
    position: relative;
    padding: 30px 13% 20px
}

.certifs .swiper-slide {
    text-align: center
}

.certifs .swiper-slide .img-swiper {
    position: relative;
    display: inline-block;
    border-radius: var(--border-radius);
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: 80% auto;
    -moz-background-size: 80% auto;
    background-size: 80% auto;
    background-color: var(--color0)
}

.certifs .swiper-slide img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    display: block;
    box-shadow: 0 0 1px var(--color4)
}

.certifs .swiper-button-prev {
    background-image: none;
    left: 0;
    margin-top: -22px;
    opacity: .8
}

.certifs .swiper-button-next {
    background-image: none;
    right: 0;
    margin-top: -22px;
    opacity: .8
}

.certifs .swiper-button-next i,.certifs .swiper-button-prev i {
    font-size: 23px;
    color: var(--color2)
}

.swiper-button-next:hover,.swiper-button-prev:hover {
    opacity: 1
}

.certifs .logo-certifs .row-certifs {
    position: relative;
    display: table;
    width: 100%
}

.certifs .logo-certifs .row-certifs .certif-inline {
    position: relative;
    display: table-cell
}

.certifs .logo-certifs .row-certifs .certif-inline>div {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: 60% auto;
    -moz-background-size: 60% auto;
    background-size: 60% auto;
    text-align: center
}

.certifs .logo-certifs .row-certifs .certif-inline>div img {
    position: relative;
    overflow: hidden
}

.actualites .cell.photo a {
    display: block
}

.actualites .cell.photo.cover img {
    object-fit: cover;
    -o-object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    flex: 1;
    height: 100%
}

.actualites {
    display: table;
    width: 100%;
    position: relative;
    z-index: 8000;
    background-color: var(--color0);
    padding: 6em 10%
}

.actualites article {
    display: table;
    width: 100%
}

.actualites:nth-child(even+1) {
    direction: rtl
}

.actualites .cell.photo {
    display: table-cell;
    vertical-align: top;
    width: 50%;
    background-position: center center;
    border-radius: var(--border-radius)
}

.actualites .cell.photo:hover {
    opacity: .95;
    filter: alpha(opacity=95)
}

.actualites .cell.texte {
    display: table-cell;
    vertical-align: top;
    width: 50%;
    border-bottom: 2px solid var(--color0)
}

.actualites:last-child .cell.texte {
    border-bottom: none
}

.actualites .cell.texte .contenu {
    padding: 3em 10%;
    text-align: justify;
    direction: ltr
}

.actualites .cell.texte .contenu ul {
    padding: 0;
    margin: 0
}

.actualites .cell.texte .contenu ul li {
    padding: 5px 0 5px 20px;
    background: url(../images/puce.svg) no-repeat 0 9px
}

.actualites .cell.texte .contenu ul li .bouton-principal {
    display: block
}

.view-btn-all {
    position: relative;
    display: table;
    margin: 20px auto
}

.view-btn-all i {
    margin-left: 8px;
    font-size: 14px
}

.actualites .date_post,.news .date-article {
    font-size: 15px;
    font-weight: 700;
    color: var(--color2)
}

.news .ligne-actus .date-article {
    margin-top: 18px;
    margin-bottom: 0
}

.news .ligne-actus .contenu-article {
    margin-top: 0
}

.news .contenu-article {
    margin-top: 21px
}

.AvisClientsBg {
    padding: 0 7%
}

.AvisClientsBg .bx-prev {
    left: -6vw;
}

.AvisClientsBg .bx-prev:before {
    display: inline-block;
    content: "\f053";
    font-weight: 700;
    font-family: 'Font Awesome 5 Free';
    font-size: 23px;
    color: var(--color0)
}

.AvisClientsBg .bx-next {
    right: -6vw;
}

.AvisClientsBg .bx-next:before {
    display: inline-block;
    content: "\f054";
    font-weight: 700;
    font-family: 'Font Awesome 5 Free';
    font-size: 23px;
    color: var(--color0)
}

.AvisClientsBg .bx-next,.AvisClientsBg .bx-prev {
    text-indent: initial;
    font-size: 0;
    display: flex;
    align-items: center;
    text-decoration: none;
    margin-top: -55px;
    justify-content: center;
    opacity: .7;
    transition: .5s
}

.AvisClientsBg .bx-next:hover,.AvisClientsBg .bx-prev:hover {
    opacity: 1
}

.AvisClientsBg .contenu .bx-viewport {
    padding: 20px 0 45px;
    display: block;
    height: auto!important
}

.AvisClientsBg.bg-optionnel-gris .h1 {
    /* Témoignages */
    font-family: var(--font_family_2);
    font-style: normal;
    
    
    
/* identical to box height, or 150% */
    text-transform: uppercase;
    color: #F0696F;
    text-align: left !important;
}

.etoiles .fa {
    color: #ff9e0b;
    font-size: var(--taille_font);
}

.AvisClientsList {
    margin: 0;
    padding: 0
}

.AvisClientsList li {
    list-style: none;
    background: 0 0
}

.AvisClientsList li:before {
    content: none
}

.avisClientsBg .h {
    text-align: center
}
.btn2 {
    width: 9.531vw;
    z-index: 10000;
    height: 70px;
    position: relative;
    float: right;
    right: 0;
}

.btn2 .swiper-button-next {
    right: 0;
    margin: 0 1px;
}
.AvisClients,.AvisClients:link,.AvisClients:visited {
    position: relative;
    background: url(../images/quot.svg) no-repeat bottom right;
    padding: 1rem 0% 1rem;
    text-align: center;
    height: 11.25vw;
    margin-top: 0;
    display: block;
    text-decoration: none;
    border-radius: var(--border-radius)
}

.AvisClients:active,.AvisClients:hover {
}

.AvisClients .h {
    font-size: var(--taille_font);
    color: white;
    text-align: left;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0
}

.AvisClients p {
    font-size: var(--taille_font);
    margin-bottom: 0;
    color: var(--color0);
    padding-top: 15px
}

.AvisClients .blazy {
    font-size: 16px;
    color: var(--color0);
    width: 128px;
    margin: 0 auto;
    border-radius: 50%;
    margin-bottom: 20px;
    position: absolute;
    top: -70px;
    left: 50%;
    margin-left: -64px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: var(--color0)
}

.AvisClientsBg .bx-pager {
    bottom: 17px
}

.avisContent:before {
    content: '\00AB';
    display: inline-block;
    margin-right: 5px
}

.avisContent:after {
    content: '\00BB';
    display: inline-block;
    margin-left: 5px
}

.temoignageScroll {
    max-height: 165px;
    text-align: left;
    overflow: hidden
}

.temoignageScroll .scrollbar-content {
    padding: 0 10px 0 0;
    width: 100%
}
.AvisClientsBg .title {
    text-align: left;
}

.etoiles {
    text-align: left;
    gap: .1vw;
    display: flex;
}
.temoignageScroll .scrollbar-path-vertical {
    right: 0
}

.date_post {
    font-size: var(--taille_font);
    padding: 4px 0;
    color: white;);
    text-align: left;
}

.date_post i {
    margin-right: 8px
}

.AvisClientsBg .bx-controls.bx-has-pager {
    display: block;
    position: relative;
    height: 70px
}

.livre-elements {
    padding: 0 0%;
    margin-bottom: 40px;
    text-align: left;
}

.livre-elements .livre-ligne {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between
}

.livre-elements .blazy {
    margin: 0 auto 10px;
    border-radius: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: var(--color0);
    width: 115px;
    height: 115px
}

.livre-elements .pseudo {
    margin-bottom: 6px;
    font-size: 21px;
    color: #ffffff;
    text-align: left;
    text-transform: uppercase;
    font-weight: 600
}

.livre-elements .date {
    margin-bottom: 2px!important;
    color: white;);
    text-align: left;
}

.livre-elements .etoiles {
    margin-bottom: 0!important
}

.livre-elements .temoignage {
    text-align: left;
    display: block;
    margin-top: 20px;
    color: var(--color0);
}

.livre-elements .temoignage:before {
    content: '\00AB';
    display: inline-block;
    margin-right: 5px
}

.livre-elements .temoignage:after {
    content: '\00BB';
    display: inline-block;
    margin-left: 5px
}

.divAvis {
    padding: 25px 27px;
    margin-bottom: 3rem;
    background-color: #ffffff08;
    border-radius: var(--taille_font);
    width: 100%;
    border-radius: 0;
}

.btn-avis {
    margin-bottom: 30px
}

.modal-content a,.modal-content a:link,.modal-content a:visited {
    color: var(--color2)
}
.modal-header .h1 strong {
    color: var(--color2);
}
.modal-header .h1 {
    text-align: center;
    margin-bottom: 40px;
    color: var(--color2);
    font-size: 1.6vw;
    font-weight: 700;
    text-shadow: none
}

.modal {
    display: none;
    overflow: auto;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    -webkit-overflow-scrolling: touch;
    outline: 0;
    z-index: 9999;
    font-size: 16px;
    color: var(--color0)
}

.modal-backdrop.in {
    z-index: 0
}

.modal-open .modal {
    z-index: 99997;
    background: rgb(0 0 0 / 20%);
    color: var(--color2);
    text-shadow: none;
    font-family: Arial,Helvetica,sans-serif
}

.modal-content .btn-close {
    border: 0;
    background: 0 0;
    padding: 0;
    font-size: 21px;
    color: var(--color2);
    opacity: .2;
    line-height: 1
}

.modal-content .form-control {
    min-height: 44px;
    border-radius: 2px
}

.modal-content .btn-close:focus,.modal-content .btn-close:hover {
    opacity: .5
}

.modal-content .submit-review {
    padding-right: 60px!important
}

.modal-content label.control-label {
    display: none;
    padding-top: 0!important
}

.modal-content label.control-label.label-note,.modal-content label.control-label.label-photo {
    display: block;
    padding-top: 14px!important
}

#add-review {
    text-align: center
}

#add-review .form-group {
    text-align: left
}

#add-review input[type=file] {
    display: block;
    width: 100%;
    height: 50px
}

#add-review #stars-existing {
    margin: 0 auto 10px;
    display: block;
    text-align: left;
    padding-top: 15px
}

#add-review .form-group #captcha {
    height: 46px!important
}

.formulaire #add-review .form-group .form-control,.formulaire #add-review .form-group input,.formulaire #add-review .form-group textarea {
    background: var(--color0);
    border: 1px solid #ccc;
    color: var(--color2);
    border-radius: 2px
}

.modal-content .form-control::placeholder {
    color: var(--color2)!important;
    opacity: 1
}

#add-review .submit-review {
    margin: 15px auto!important;
    padding: 14px 15px!important;
    float: none;
    display: block;
    background-image: none
}

#add-review .body-review {
    height: 100px
}

#add-review .form-group.form-group-1 .col-md-10,#add-review .form-group.form-group-2 .col-md-10,#add-review .form-group.form-group-4 .col-md-10 {
    width: 100%
}

#add-review .conditions,.modal-content .email-block {
    font-size: 10px;
    font-weight: 400;
    font-style: italic;
    text-align: justify;
    opacity: .6;
    display: block;
    clear: both;
    color: var(--color2)!important
}

.cont-slider {
    position: relative
}

.sudo-slider {
    width: 100%;
    z-index: 8999999
}

.sudo-slider .slide {
    text-align: center;
    height: 135px;
    line-height: 135px
}

.sudo-slider .slide img {
    max-height: 100%
}

.cont-slider .controls {
    z-index: 9002;
    display: inline-block;
    position: absolute;
    bottom: -70px;
    left: 0;
    right: 0;
    text-align: center
}

.cont-slider .controls ol {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.cont-slider .controls ol li {
    display: inline-block;
    background: 0 0;
    padding: 0
}

.cont-slider .controls ol li a {
    display: block;
    width: 10px;
    height: 10px;
    background: var(--color2);
    margin: 0 5px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    opacity: .5
}

.cont-slider .controls ol li.current a {
    opacity: 1
}

.cont-slider .controls ol li a span {
    display: none
}

.centerservice2 {
    margin: 0 16%!important
}

.centerservice {
}

.services {
    width: 100%;
    position: relative;
    z-index: 8000;
    background: transparent;
    /* border-bottom: 2px solid var(--color0); */
}
.col2 .singleservice:last-child figure.serviceitem img {
}

figcaption.captionservice {
    width: 100%;
    bottom: 0;
    top: 0;
    /* color: violet; */
}

figcaption.captionservice div.position-relative {
    position: relative;
    z-index: 2;
}
.enc1 p {
    font-family: var(--font_family_1);
    display: flex;
    align-content: center;
    align-items: center;
    flex-direction: column;
    color: var(--color3);
    font-size: 96%;
    margin: 0 0 3vh;
}

.enc1 p img {
    width: calc(var(--taille_font)*5);
}

.bloc .row {
    
    !i;!;);
    width: 100%;
}
.singleservice:hover figcaption.captionservice div.position-relative {
    border-color: #dee2e654;
}
.liste-services .row  .col-md-6.col1 {
}
figcaption.captionservice div.position-relative img {
    width: 50px;
    height: 50px;
    margin: auto;
    margin-bottom: -45px;
    display: block;
    opacity: 0;
    visibility: hidden;
}
.liste-services .row {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 2%;
}

.col-md-6.col2 {
    float: right;
}

.liste-services .row .col-md-6 {
    width: 52%;
    padding: 0;
}

.col-md-6.col2 {
    padding-right: 0;
}
p.w-80.lg-w-100.fs-16.mx-auto.mb-15px.lg-mb-10px.text-light-opacity {
    color: #878898;
    display: block;
    height: 50px;
}

.singleservice:hover p.w-80.lg-w-100.fs-16.mx-auto.mb-15px.lg-mb-10px.text-light-opacity {
    color: var(--color0);
}

figure.serviceitem {
    display: block;
    padding: 4vh 1vw;
}
a.itemimage {
    display: block;
    width: 100%;
    opacity: 1;
    text-align: center;
}

a.itemimage img {
    width: 100%;
    height: 32vh;
    object-fit: cover;
    object-position: bottom;
    max-width: fit-content;
}
.singleservice {
    display: block;
    width: 91%;
    height: auto;
    margin-bottom: 5%;
    /* box-shadow: 0 19px 38px rgb(0 0 0 / 10%), 0 15px 12px rgb(0 0 0 / 2%); */
    border-radius: 6px;
    -webkit-transition: all .5s cubic-bezier(.5,1,.89,1);
    transition: all .5s cubic-bezier(.5,1,.89,1);
    will-change: auto;
    position: relative;
    z-index: 1;
    margin-bottom: 5vh;
}

.singleservice:hover figcaption.captionservice div.position-relative img {
    opacity: 1;
    visibility: visible;
    margin: auto;
    margin-bottom: 17px;
    filter: brightness(0) invert(1);
}

.singleservice * {
    -webkit-transition: all .5s cubic-bezier(.5,1,.89,1);
    transition: all .5s cubic-bezier(.5,1,.89,1);
    will-change: auto;
}
.btn.btn-link {
    padding: 20px;
    position: relative;
    display: block;
    border: 0;
    margin: 0 auto;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--color3);
    text-decoration: none;
    background-color: transparent;
    z-index: 2;
}

.singleservice .btn.btn-link {
    color: var(--color5);
}

.btn.btn-hover-animation-switch .btn-icon+.btn-icon {
    position: relative;
    order: -2;
    opacity: 0;
    transition-delay: 0s;
    margin-left: 0;
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
}
a.fw-600.d-inline-block.mb-5px.text-dark-gray.fs-18 {
    text-decoration: none;
    font-size: 1.079vw;
    line-height: 1;
    font-family: var(--font_family_2);
    color: white;);
    display: block;
    margin-bottom: 6vh;
    left: 0vw;
    text-transform: uppercase;
    position: relative;
    padding: 0vh 0 1vh;
}

.singleservice:hover a.fw-600.d-inline-block.mb-5px.text-dark-gray.fs-18 {
    color: white;
}
.box-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .4s cubic-bezier(.5,1,.89,1);
    transition: all .4s cubic-bezier(.5,1,.89,1);
}

.singleservice:hover .box-overlay {
    opacity: 1;
    visibility: visible;
}
.listes  figure.serviceitem img {height: 37vh;width: 100%;object-fit: contain;}
.singleservice:hover .btn.btn-link {
    color: white;
}

.liste-services {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    position: relative;
    padding: 0em 0vw 0em 0vw;
    gap: 18%;
    flex-wrap: wrap;
    align-items: flex-start;
}
.linea {
    padding: 1px 0vw 0;
    float: left;
    width: 100%;
    position: relative;
    float: left;
    /* display: none; */
}
.services .cell.gauche {
    display: table-cell;
    vertical-align: top;
    width: 50%;
    border-right: 2px solid var(--color0);
    background-position: center center;
    background-repeat: no-repeat
}

.services .cell.gauche .vegas-slide-inner {
    border-radius: var(--border-radius)
}

.services .cell.droite {
    display: table-cell;
    vertical-align: top;
    width: 50%
}

.services .cell.droite .contenu {
    padding: 6rem 12%
}

.services .cell.droite .contenu .liste-services {
    position: relative;
    display: block
}

.services .cell.droite .contenu .liste-services h3 {
    background: 0 0;
    padding: 0 0 0;
    margin: 0 0 9px
}

.services .cell.droite .contenu .liste-services h3:before {
    content: none
}

.services .cell.droite .contenu .liste-servicesl h3 .bouton-principal {
    display: block
}

.services .cell.droite .contenu .liste-services h3 .bouton-principal {
    font-size: 16px;
    color: var(--color0);
    margin: 0;
    display: block
}

.services .cell.droite .contenu .liste-services h3 .bouton-principal:hover {
    text-decoration: none
}

.btn-service {
    text-align: center;
    margin: 10px 0;
    column-gap: 1%;
    display: flex;
    justify-content: center;
    align-items: center;
    float: left;
    width: 100%;
}

.services .miettes {
    list-style-type: none;
    list-style-image: none;
    padding: 0;
    margin: 0;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center
}

.services .miettes li {
    display: inline-block;
    vertical-align: top;
    background: 0 0;
    padding: 0
}

.services .miettes li:before {
    content: none
}

.services .miettes li a {
    width: 12px;
    height: 12px;
    border-radius: 12px;
    background: var(--color0);
    display: inline-block;
    opacity: .5
}

.services .miettes li a.active {
    opacity: 1
}
.AvisClientsBg:before, .bande_contact_footer:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: black;
    ););););
    left: 0;
    top: 0;
    opacity: .7;
}.AvisClientsBg .title:before {
    background: #7aafd8;
}

.AvisClientsBg,.realisations {
    position: relative;
    z-index: 8000;
    text-align: center;
    float: left;
    padding: 7em 12vw 7em;
    background: url(../images/ban5.jpg);
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
}



.AvisClientsBg h2 {
    text-align: center !important;
}

.news .propor,.realisations .galerie .propor {
    width: 100%;
    position: relative;
    margin-bottom: 10px
}

.news .propor:after,.realisations .galerie .propor:after {
    padding-top: 130%;
    display: block;
    content: ''
}

.news .propor .propor-cont,.realisations .galerie .propor .propor-cont {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}

.news .propor .propor-cont .imagecont,.realisations .galerie .propor .propor-cont .imagecont {
    height: 100%;
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    filter: grayscale(1);
}

.news .propor .propor-cont .imagecont .imagefond,.realisations .galerie .propor .propor-cont .imagecont .imagefond {
    image-rendering: optimizeQuality;
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat
}

.news .propor .propor-cont .imagecont .masque,.realisations .galerie .propor .propor-cont .imagecont .masque {
    transition: all .4s ease;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    width: 100%;
    height: 100%;
    background-color: var(--color1);
    background-image: url(../images/ico-zoom.svg);
    background-repeat: no-repeat;
    background-position: center center
}

.news .propor .propor-cont .imagecont:hover .masque,.realisations .galerie .propor .propor-cont .imagecont:hover .masque {
    opacity: .8;
    filter: alpha(opacity=80)
}

.news .propor .propor-cont .imagecont:hover .imagefond,.realisations .galerie .propor .propor-cont .imagecont:hover .imagefond {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -o-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15)
}

.intervention {
    position: relative;
    z-index: 8000;
    background: url(../images/bg-intervention.jpg) no-repeat center center/cover;
    background-attachment: fixed;
    /* padding: 4em 10%; */
}

.intervention:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* background: var(--color2); */
    opacity: .85;
    z-index: -1
}

.intervention .contenu {
    padding: 0 0% !important;
    color: var(--color0);
    font-size: 17px
}

.intervention .contenu a,.intervention .contenu a:link,.intervention .contenu a:visited {
    color: var(--color0)
}

.intervention h2 {
    color: var(--color0);
    margin-top: 0
}

.intervention h2:before {
    background: var(--color0)
}

.intervention ul {
    margin: 30px 0 0;
    column-count: 2;
    width: 60%
}

.note-avis {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 2rem
}

.nbr-note {
    font-size: 40px;
    margin-right: 4rem
}
.pied address a:hover {opacity: 1;    color: white;}
.pied {
    position: relative;
    z-index: 9;
    background: #ffffff;
    width: 100%;
    float: left;
}

body.body-contact .bande1:before, .body-page-1 .bande1:before {
    display: none;
}
.pied .bande1 {
    padding: 7rem 12vw 0rem;
    /* filter: invert(1); */
    float: left;
}

.bande_contact_footer {
    position: relative;
    z-index: 8000;
    text-align: center;
    float: left;
    padding: 7em 12vw 7em;
   background: url(../images/ban5.jpg);
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
}

.bande_contact_footer .titreAB {
    font-size: 2.4vw;
}

.bande_contact_footer .row1 {
    position: relative;
    display: block;
    border-radius: var(--border-radius)
}

.bande_contact_footer .row1::after {
}

.pied .bande2 {
    padding: 0 12vw;
    /* background: var(--bg-facultatif); */
    padding-bottom: 5px;
    position: relative;
    float: left;
}

.pied .title_footer {
    font-family: var(--font_family_2);
    font-size: 1vw;
    text-transform: uppercase;
    /* padding: 0 0 20px; */
    position: relative;
    font-weight: 200;
    float: left;
    width: 100%;
    color: var(--color3);
}

.pied .title_footer::before {
    content: "";
    width: 75px;
    height: 10px;
    background: var(--color1);
    position: absolute;
    bottom: 3px;
    left: 0;
    height: 2px;
    opacity: 0;
}

.pied .navf .menu_footer {
    color: var(--color3);
    padding: 2vh 0px;
    list-style-type: none;
    position: relative;
    width: 100%;
    display: flex;
    text-align: center;
    border-bottom: 1px solid #0000002e;
    border-top: 1px solid #0000002e;
    margin: 5vh 0 4vh;
    justify-content: space-around;
}

ul#menu_footer li:before {
    display: none;
}

.pied .navf .menu_footer li {
    display: inline-block;
    padding: 0 0.2vw;
    background: 0 0;
    position: relative;
    text-transform: uppercase;
}

.pied .navf .menu_footer li:last-child {
    border: none
}

.pied .navf .menu_footer li a,.pied .navf .menu_footer li a:visited {
    font-size: 0.833vw;
    padding: 0 0 0;
    color: inherit;
    text-decoration: none
}

.pied .navf .menu_footer li a:hover {color: var(--color2);}

.pied .navf .menu_footer li.active a {
    );
    color: var(--color2);
}

.pied .navf .menu_footer li.active a:hover {
    text-decoration: none
}

.pied .menu_referencement {
    color: var(--color3);
    list-style-image: none;
    list-style-type: none;
    margin: 0;
    text-align: justify;
    padding: 0;
    opacity: 1;
}

.pied .menu_referencement li {
    display: inline;
    padding: 0;
    background: 0 0
}

.pied .menu_referencement li:before {
    content: none
}

.pied .menu_referencement li:after {
    content: " - "
}

.pied .menu_referencement li:last-child:after {
    content: ""
}

.pied .menu_referencement li a,.pied .menu_referencement li a:visited {
    color: inherit;
    font-size: 0.833vw;
    text-decoration: none
}

.pied .menu_referencement li a:hover {
    color: var(--color2);
}

.pied .menu_referencement li.active a:hover {
    text-decoration: none
}

.pied address {
    margin: 0;
    padding: 15px 0 25px;
    color: var(--color3););
    font-size: 0.833vw;
    float: left;
    width: 100%;
    position: relative;
}

address i {
   
display: flex !important;!i;!;
   
flex-direction: column;
   
justify-content: center;
   
align-items: center;
   
float: left;
   
width: 30px;
   
height: 29px;
   
background: transparent;
   
color: var(--color0);
}

.pied address i {
    color: var(--color0);
    padding: 9px;
    margin: 0 0;
    border: 1px solid;
    border-radius: 33%;
    background: var(--color3);
    font-size: 15px;
}
.pied address  p span {
}

.pied address p {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.pied address p span {
    padding: 3px 0;
}

.pied address p {
    background-repeat: no-repeat;
    margin: 0;
    background-position: 0 0;
    float: left;
    display: flex;
    width: 100%;
    align-items: center;
    gap: 2%;
    margin: 0 0 15px;
    font-size: calc(var(--taille_font)* 1.2);
}

.flex-address {
    position: relative;
    display: flex;
    width: 100%;
    flex-direction: column;
}

.flex-address i {
    margin-top: 3px!important
}

address i {
    margin: 0;
    margin-right: 0.833vw;
    font-size: 0.7vw;
    /* color: var(--color0); */
    /* width: 1vw; */
}

.pied address p.tel a {
    color: inherit;
    text-decoration: none
}

.pied address p a {
    text-decoration: none;
    color: inherit
}

.pied address p a:hover {
    text-decoration: underline
}

.pied .scrollbars {
    margin: 15px 0 0;
    height: 220px;
    position: relative;
    float: left;
    width: 100%;
}

.pied .horaires {
    color: var(--color3);
    padding: 10px 0 35px;
    margin: 15px 0 0;
    font-size: 16px;
    float: left;
    width: 100%;
}

.horaires {
    display: inline-grid
}

.horaires i {
    margin: 4px 0 0;
    margin-right: 12px;
    font-size: 16px;
    color: var(--color2)
}

.pied .copyright-footer {
    margin: 5px 0 0;
    text-align: center;
}

#logoFD svg * {
    fill: var(--color3);
}

#logoFD svg {
    scale: 1;
}

.pied .btn-like {
    padding: 20px 0 0
}

.pied .btn-partage {
    text-align: right;
    padding: 10px 0 0;
    display: flex;
    justify-content: flex-end
}

.scrollbars {
    width: 100%;
    height: 28vh
}

.scrollbar-path-horizontal,.scrollbar-path-vertical {
    position: absolute;
    background-color: #ececec;
    z-index: 100
}

.mCSB_scrollTools .mCSB_draggerRail {
    background-color: var(--color0)
}

.scrollbar-path-horizontal {
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 5px
}

.scrollbar-path-vertical {
    right: 5px;
    top: 0;
    height: 100%;
    width: 5px;
    box-shadow: inset 1px 0 1 rgba(0,0,0,.1)
}

.scrollbar-path-horizontal {
    box-shadow: inset 0 1px 1 rgba(0,0,0,.1)
}

.scrollbar-handle {
    position: relative;
    top: 0;
    left: 0;
    background-color: var(--color1)
}

.scrollbar-path-vertical .scrollbar-handle {
    height: 20%;
    width: 100%
}

.scrollbar-path-horizontal .scrollbar-handle {
    width: 20%;
    height: 100%
}

.scrollbar-handle,.scrollbar-path-horizontal,.scrollbar-path-vertical {
    border-radius: 5px
}

.scrollbar-content {
    padding: 0 30px 0 0;
    float: none!important
}

.prestation {
    display: flex;
    width: 100%;
    position: relative;
    z-index: 8000;
    /* background: #4d060d8a; */
    align-items: center;
    PADDING: 3vh 12VW 8vh;
    column-gap: 10%;
    justify-content: space-between;
    flex-wrap: wrap;
    min-height: 50vh;
}

.body-service-list-36 .prestation .photo.cover, .body-service-list-37 .prestation .photo.cover {
    opacity: 1;
    width: 28%;
}

.body-catalogue-item .prestation {
    background: transparent !important;
    color: var(--color3);
    text-align: center;
}

.body-service-list-38 .prestation  {
    /* background: #a32633; */
    /* margin-bottom: 9rem; */
}

.prestation:nth-child(even) {
    direction: rtl;
    background: transparent;
}
.photo.cover {
    width: 25%;
    /* background: #a326330d; */
    padding: 1vh 1vw;
}
.prestation .cell.photo {
    display: table-cell;
    vertical-align: top;
    width: 39%;
    background-position: center center;
    background-size: cover !important;
    background-repeat: no-repeat;
    
    border-radius: 0;
}

.body-service-list-38 .cell.photo.cover {
    width: 35%;
    background-size: cover !important;
    scale: 1;
}

.prestation .cell.texte {
    display: table-cell;
    vertical-align: top;
    width: 60%;
}

.body-service-list-38 .cell.texte {
    width: 62%;
}.page.clear.services {
    padding: 0;
}

.prestation:last-child .cell.texte {
    border-bottom: none
}

.prestation .cell.texte .contenu {
    padding: 0vh 0%;
    text-align: left;
    direction: ltr
}

.body-service-list-38 .prestation .cell.texte .contenu {
    padding: 1em 1%;
}

.prestation:nth-child(even) .cell.texte .contenu {/* padding: 9vh 6% 9vh 0; */}

.prestation .cell.texte .contenu h2 {
    text-align: left;
}

.prestation:nth-child(even) .cell.texte .contenu h2 {
}

.prestation .cell.texte .contenu p {
    padding: 0 0 20px;
}

.prestation .cell.texte .contenu ul {
    padding: 0;
    margin: 0
}

.prestation .cell.texte .contenu ul li {
    padding: 5px 0 5px 20px;
    background: url(../images/puce.svg) no-repeat 0 9px
}

.prestation .cell.texte .contenu ul li .bouton-principal {
    display: block
}

.body-contact h2 {
    color: var(--color0);
    text-transform: none;
    position: relative;
    margin-bottom: 31px;
    font-weight: 600;
    text-align: left;
    margin-top: 0;
}

.tab-coordonnes h2:before {
    content: "";
    width: 75px;
    height: 2px;
    background: transparent;
    position: absolute;
    top: 50px;
    left: 0
}

.body-contact .tab-formulaire .cell.droite h2 {
    text-align: center;
    margin-bottom: 70px;
    font-size: 24px
}

.body-contact .tab-formulaire .cell.droite h2:before {
    content: "";
    width: 75px;
    height: 2px;
    background: var(--color1);
    position: absolute;
    top: 50px;
    left: 50%;
    margin-left: -37px
}

.contact .tab-coordonnes {
    display: table;
    width: 100%;
    position: relative;
    z-index: 8000;
    background: transparent;
    padding: 3em 0;
}

.contact .tab-coordonnes .cell.gauche {
    display: table-cell;
    vertical-align: middle;
    width: 54%;
    /* border-top: 2px solid var(--color0); */
}
address p {
    margin: 0 0 11px;
    display: flex;
    align-items: center;
}

.contact .tab-coordonnes .cell.gauche .contenu {
    padding: 4em 13vw;
    padding-right: 10vw;
}

.contact .tab-coordonnes .cell.centre {
    display: table-cell;
    vertical-align: top;
    width: 50%
}

.contact .tab-coordonnes .cell.droite {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
}

.contact .tab-formulaire {
    display: flex;
    width: 100%;
    position: relative;
    z-index: 8000;
    padding: 0rem;
    border-radius: 10px;
    margin-top: 6em;
}

.contact .tab-formulaire:before {
    position: absolute;
    width: 260px;
    height: 240px;
    background-size: 100%;
    top: -240px;
    right: 105px;
    opacity: .3;
    z-index: 0;
    background-repeat: no-repeat;
    filter: brightness(1.05);
}

.tab-formulaire .formulaire {
    width: 60%;
    padding: 0em 4% 4em;
}

.formABcont {
    background: #ffffff0d;);
    width: 44%;
    padding: 2em;
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
}

.formABcont:before {
    content: "";
    position: absolute;
    width: 290px;
    height: 290px;
    bottom: -50px;
    right: -50px;
}

.formABcont:after {
     content: "";
     position: absolute;
     bottom: 130px;
     right: 130px;
}

.contact .tab-formulaire .contenu h2 {
    text-align: left;
}

.contact .plan {
    font-size: 0;
    position: relative;
    float: left;
    width: 100%;
}

.contact .plan .block #googlemapapi,.contact .plan iframe {
    width: 100%!important;
    height: 42vh!important;
    border-radius: 0;
}

.contact .coordonnees {
    padding: 0 0 20px
}

.contact .coordonnees h2 {
    margin-top: 20px
}

.contact .coordonnees address p {
    padding: 0 0 10px 0
}

.contact .coordonnees address p.tel a {
    color: inherit;
    text-decoration: none
}

.contact .coordonnees address p span.intitule {
    font-weight: 700
}

.contact .coordonnees address p a {
    text-decoration: none;
    color: inherit
}

.contact .coordonnees address p a:hover {
    text-decoration: underline
}

.contact .description-contact {
    padding: 0 0 10px
}

.contact .formulaire .form-group label.col-md-4 {
    padding-left: 0!important;
    padding-right: 0!important
}

.contact .formulaire .form-group div.col-md-8 {
    padding-left: 0!important;
    padding-right: 0!important
}

.contact .formulaire .form-group .col-md-4 {
    display: none
}

.contact .formulaire .form-group .col-md-8 {
    width: 100%!important
}

.form-group .label-rgpd strong,.info-rgpd a,.info-rgpd a:visited,.info-rgpd strong {
    color: var(--color1)
}

.contact .formulaire .control-label {
    text-align: left!important;
    font-weight: 400
}

.contact .formulaire .form-group {
    margin-bottom: 8px;
    padding: 0!important;
    text-align: left;
    margin-left: 0!important;
    margin-right: 0!important
}

.btnMailAB {position: relative;width: fit-content;height: fit-content;float: right;}

.label-rgpd {
    font-size: 0.573vw !important;
}

label.checkbox.label-rgpd.custom-cursor-default-hover {
    font-size: 0.573vw;
}

.contact .formulaire .form-group .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    width: 100%!important;
    font-size: inherit;
    color: var(--color0);
    border-radius: 5px;
    padding: 0;
    border-bottom: 1px solid var(--color0);
    border-radius: 0;
}

.body-pageseo .contact .formulaire .form-group .form-control {
    /* border-radius: 10px; */
    /* border-bottom: none; */
    color: var(--color0);
}
.contact .formulaire .form-group .col-md-12 {
    padding: 0;
}
.form-control:focus {
    color: #000;
    background: var(--color0)
}
.contact .formulaire .form-group textarea.form-control {height: 82px;position: static}
.contact .formulaire .form-group input.form-control {height: 2.604vw;line-height: 1; line-height: 50px\9; padding: 0 0px;}
.contact .formulaire .form-group select.form-control {
    height: 50px;
    line-height: 50px;
    padding: 5px 12px
}
.contact .formulaire .form-group input.form-control:focus {
    background: transparent;
}
@media screen and (-webkit-min-device-pixel-ratio: 0),screen and (-moz-images-in-menus:0) {
    .form-horizontal select.form-control {
        -webkit-appearance:none!important;
        -moz-appearance: none!important;
        appearance: none;
        background-image: url(../images/image-select.svg)!important;
        background-repeat: no-repeat!important;
        background-position: right 15px center!important;
        line-height: normal!important;
        background-size: 22px auto!important
    }

    .form-horizontal select.form-control option {
        color: inherit;
        background-color: var(--color1););
    }

.body-pageseo option {
    color: var(--color3) !important;
    /* background-color: var(--color1); */
}
}

.contact .formulaire .form-group input[name=captcha] {
    width: 31%!important;
    height: 50px!important;
    display: inline-block;
    float: none!important;
    margin-right: 2%!important;
    vertical-align: top
}

.contact .formulaire .form-group input[name=captcha]+a {
    width: 35%;
    display: inline-block;
    margin-right: 2%;
    vertical-align: top
}

.contact .formulaire .form-group #captcha {
    width: 100%;
    height: 50px!important;
    border-radius: 0;
    padding: 0
}

.contact .formulaire .form-group input.btn-primary {
    /*display:inline-block;*/
    position: relative;
    /* float: right; */
}

.contact .formulaire .form-actions {
    font-size: 0.625vw;
}

.contact a.btn.btn-default {
    float: right
}

.body-error404 a.btn.btn-default,.contact .formulaire input.btn-primary,.contact a.btn.btn-default {
    padding: 0.677vw 1.042vw;
    font-family: var(--font_family_1);
    text-transform: uppercase;
    background-color: transparent;
    color: var(--color0);
    text-align: left;
    font-size: var(--taille_font);
    border: none;
    text-decoration: none;
    border-radius: 0 !important;!i;!;
    /* border: 1px solid white; */
    transition: all .4s ease;
    background-size: 1.25vw auto;
    background-position: left 90% center;
    background-repeat: no-repeat
}

.body-error404 a.btn.btn-default {
    background-image: none
}

.body-error404 a.btn.btn-default:active,.body-error404 a.btn.btn-default:hover,.contact .formulaire input.btn-primary:active,.contact .formulaire input.btn-primary:hover,.contact a.btn.btn-default:active,.contact a.btn.btn-default:hover {
    /* background-color: white; */);
    /* color: black; */
}

::-webkit-input-placeholder {
    color: #fff!important
}

:-moz-placeholder {
    color: #fff!important;
    opacity: 1!important
}

::-moz-placeholder {
    color: #fff!important;
    opacity: 1!important
}

:-ms-input-placeholder {
    color: #fff!important
}

/**/

.body-contact ::-webkit-input-placeholder {
    color:var(--color) !important;
 
}

.body-contact :-moz-placeholder {
    color:var(--color1) !important;
 
}

.body-contact ::-moz-placeholder {
    color:var(--color1) !important;
    opacity: 0.7!important
}

.body-contact :-ms-input-placeholder {
    color:#bd310191 !important
}


.pageseo .formulaire .form-group input[name=captcha] {
    width: 100%!important;
    margin-right: 0!important;
    text-align: left!important
}

.pageseo .formulaire .form-group input[name=captcha]+a {
    position: absolute;
    width: 140px;
    top: 0;
    right: 0;
    margin-right: 0!important
}

.flex-seoContain {
    position: relative;
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.flex-seoContain .seo-content {
    width: 55%;
    padding-top: 1em;
    min-height: 120vh;
}
.flex-seoContain .seo-form.stick-fixed {
    right: 8%;
    position: fixed;
    top: 12vh;
    width: 39%;
}
.flex-seoContain .seo-content h1,.flex-seoContain .seo-form h2.h1 {
    text-align: left
}

.flex-seoContain .seo-content h1:before,.flex-seoContain .seo-form h2.h1:before {
    left: 0;
    margin-left: 0
}

.flex-seoContain .seo-form {
    width: 44%;
    padding: 1em 3% 3em;
    background: transparent;
}

.img-seo img {
    border-radius: 10px;
    width: 100%;
    height: auto;
    object-position: bottom;
    border-radius: 0;
}

.imagecont.noflicker.img1 {
    display: block;
    margin: 1vh 0 2vh;
    height: 41vh;
    overflow: hidden;
    border: 5px;
}


.atouts1{display: block;width: 100%;padding: 9vh  12vw;width: 100%;position: relative;float: left;background: var(--color0);}
.atouts1 .swiper-pagination-bullet-active { background: var(--color0); }
.atouts1 p.legend {font-size: 14px;font-weight: bold;text-align: center;margin: 0 0;color: var(--color2);}
.atouts1 .swiper-pagination-bullet { background: var(--color0);}
.atouts1 .picto {margin-bottom: 1em;}
.atouts1 .picto i {width: auto;}
.atouts1 .swiper-button-prev {background-image: none;opacity:.8;}  
.atouts1 .swiper-button-disabled {} 
.atouts1 .swiper-button-next {background-image: none;top: 50%;opacity: .8;height: 24px;} 
.atouts1 .swiper-button-next i,  .swiper-button-prev i {/* font-size: 23px; *//* color:white; */}
.atouts1 .swiper-button-next:hover,.swiper-button-prev:hover {opacity: 1}
.atouts1 .picto i {color: var(--color2);text-align: center;font-size: 3rem;}
.atout1 {display: flex;flex-direction: column;align-items: center;padding: 4em 3vh;background: var(--color0);border-radius: var(--border-radius);}
.atouts .swiper.mySwiper {overflow: hidden;position: relative;}
.atouts-cont {position: relative; display: block; padding: 2em 7% 4em;}




.atouts {
    display: block;
    width: 100%;
    padding: 3em 10% 4em;
    width: 100%;
    position: relative;
    background: var(--bg-facultatif);
}

.atouts .swiper-pagination-bullet-active {
    background: var(--color0);
}

.atouts p.legend {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    margin: 0 0;
    color: var(--color2);
}

.atouts .swiper-pagination-bullet {
    background: var(--color0);
}

.atouts .picto {
    margin-bottom: 1em;
}

.atouts .picto i {
    width: auto;
}

.atouts .swiper-button-prev {
    background-image: none;
    left: 0;
    margin-top: -22px;
    opacity: .8;
}

.atouts .swiper-button-disabled {
    opacity: 0 !important;
}

.atouts .swiper-button-next {
    background-image: none;
    right: 2px;
    top: 50%;
    margin-top: -22px;
    opacity: .8;
    height: 24px;
}

.atouts .swiper-button-next i, .swiper-button-prev i {
    /* font-size: 23px; */
    /* color: var(--color2); */
}

.atouts .swiper-button-next:hover,.swiper-button-prev:hover {
    opacity: 1
}

.atouts .picto i {
    color: var(--color2);
    text-align: center;
    font-size: 3rem;
}

.atout {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4em 3vh;
    background: var(--color0);
    border-radius: var(--border-radius);
}

.atouts .swiper.mySwiper {
    overflow: hidden;
    position: relative;
}

.atouts-cont {
    position: relative;
    display: block;
    padding: 2em 7% 4em;
}

.gallery .bas-galerie {
    text-align: center;
    padding: 40px 0 0
}
.gallery .description-galerie:first-child {
    padding: 3em 12vw 2em;
}
.gallery .description-galerie {
    padding: 0em 14vw  2em;
    position: relative;
    float: left;
    width: 100%;
}.etapes {
    margin: 7vh 0vw -4vh  !important;
}

.etapes p {
    text-align: left;
    text-wrap: balance;
}

.etapes.etap2 h2 {
    font-size: calc(var(--taille_font) + 1.8rem);
}
.infodat b {
    color: white;););
    font-size: calc(var(--taille_font) * 1.5 );
}
.portfolio .panel:nth-child(even) .cle1 {margin-top: -13vh;}
.portfolio:after {
    z-index: 1;
    width: 100%;
    height: 1px;
    content: "";
    /* max-width: 90%; */
    /* opacity: 0.6; */
    /* background-image: radial-gradient(circle, var(--color0), transparent); */
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    bottom: 1em;
    left: 0%;
    right: 0%;
}
.portfolio_title, .text-stroke { -webkit-text-stroke-color: rgb(52, 58, 66); }
.panel_img, .panel_item { margin: 0px auto; width: 100%; display: block; }
.spacer { height: 100vh; display: flex; align-items: center; justify-content: center; }
.section { height: auto; width: 100%; position: relative; padding: 0px; overflow: hidden; }
.portfolio {width: 100%;display: flex;flex-wrap: nowrap;padding-left: 1vw !important;align-items: center;}
.portfolio_title { position: absolute; top: 0px; left: -15rem; font-size: 24rem; letter-spacing: 0px; display: inline-block; }
.text-stroke { -webkit-text-fill-color: transparent; -webkit-text-stroke-width: 1px; }
.portfolio .panel {display: flex;flex: 1 0 22%;flex-wrap: wrap;align-items: center;place-content: center;padding: 0rem 0px 0rem;background-color: transparent;overflow: hidden;height: 46vh;margin: 0vh -2px 0px !important;box-shadow: transparent 0px 0px 0px !important;}
.portfolio .panel_img, .portfolio .panel_item { padding: 0px; }
.portfolio .panel.bg1 { opacity: 1; }
.portfolio .panel.bg2 { opacity: 0.5; }
.scrolling-text { overflow: hidden; white-space: nowrap; float: left; width: 100%; font-family: var(--font_family_1); position: relative; padding: 11em 0px 3em; opacity: 0.3; }
.text-content { display: inline-block; animation: 30s linear 0s infinite normal none running scroll; font-size: 150px; white-space: nowrap; letter-spacing: -0.02em; line-height: 1.35; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.23); color: transparent; font-family: var(--font_family_1); text-transform: uppercase; }
@keyframes scroll { 0% { transform: translateX(100%); }100% { transform: translateX(-100%); }}
.scrollstar { animation: 8s ease-out 0s infinite normal none running scrollstar; margin: 0px 3vh 0px 0px; }
@keyframes scrollstar { 0% { transform: rotate(0deg); }100% { transform: rotate(-360deg); }}
.goo { position: absolute; top: 0px; }
.ink-cursor { pointer-events: none; position: fixed; display: block; border-radius: 0px; transform-origin: center center; mix-blend-mode: overlay; top: 0px; left: 0px; z-index: 10000; filter: url("#goo"); opacity: 0.8; }
.ink-cursor span { position: absolute; display: block; width: 26px; height: 26px; border-radius: 20px; background-color: white; transform-origin: center center; transform: translate(-50%, -50%); }

@media (max-width: 991px) {
    .t1 .col-md-3 img {
    width: 15vw;
    height: 20vw;
    min-width: 15vw;
    min-height: 20vw;
    object-fit: contain;
}
    .btnMailAB{/* position: static; *//* float: unset; */width: 60%;margin-right: 17vw;margin-top: 1em;}
    .etapes .col-md-3{
        width:fit-content;
    }
    .t1{
    justify-content: space-between;
}
    .ink-cursor, .ink-cursor span { display: none; }}
#preloader { position: fixed; width: 100%; height: 100%; z-index: 9999; display: flex; align-items: center; justify-content: center; }
div#preloader:before {
    background: var(--color1);
    backdrop-filter: blur(12px);
    filter: blur(12px);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    bottom: 0;
    opacity: .5;
}

.row.description-galerie.clear.ligne2 {column-count: 2;column-gap: 5%;}
#status { text-align: center; }
.spinner { width: 40px; height: 40px; position: relative; margin: 0px auto; }
.double-bounce1, .double-bounce2 { width: 100%; height: 100%; border-radius: 50%; background-color: var(--color0); opacity: 0.6; position: absolute; top: 0px; left: 0px; animation: 2s ease-in-out 0s infinite normal none running sk-bounce; }
.double-bounce2 { animation-delay: -1s; }
@keyframes sk-bounce{0%,100%{transform:scale(0)}50%{transform:scale(1)}}
.gallery .multiple .ligne-photos .col-md-1,.gallery .multiple .ligne-photos .col-md-2,.gallery .multiple .ligne-photos .col-md-3,.gallery .multiple .ligne-photos .col-md-4,.gallery .multiple .ligne-photos .col-md-6 {
    padding-left: 10px!important;
    padding-right: 10px!important;
    margin-bottom: 20px
}

.gallery .multiple .ligne-photos {
    margin-left: 0!important;
    margin-right: 0!important
}

.gallery .ligne-photos .propor {
    width: 100%;
    position: relative;
    margin-bottom: 15px;
    /* border: 1px solid; */
}

.gallery .multiple .ligne-photos .propor {
    margin-bottom: 0
}

.custom-object-fit {
    position: relative;
    background-size: cover;
    background-position: center center
}

.custom-object-fit img {
    opacity: 0
}

.gallery .ligne-photos .propor:after {
    padding-top: 85%;
    display: block;
    content: ''
}

.gallery .ligne-photos .propor .propor-cont {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}
.imagecont.noflicker.imag11 img {
    /* display: none; */
}

.imagecont.noflicker.imag11 {
    /* background-position: center; */
}
.gallery .ligne-photos .propor .propor-cont img {
    object-fit: cover;
    -o-object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    flex: 1;
    height: 100%;
    border-radius: var(--border-radius1);
}

.body-service .gallery .ligne-photos .propor .propor-cont img {
}
body.body-service.service-group-36 .gallery.galerie {
    display: flex;
    align-items: stretch;
}

body.body-service.service-group-36 .gallery.galerie .row.ligne-photos.retrait {
    flex: 1;
}

body.body-service.service-group-36 .gallery.galerie .block {
    flex: 1;
}


.body-service-58 .gallery .ligne-photos .propor .propor-cont img,
.body-service-60 .gallery .ligne-photos .propor .propor-cont img,
.body-service-59 .gallery .ligne-photos .propor .propor-cont img{
    object-fit: contain;
}
body.body-service .row.ligne-photos {
    /* display: none; */
    display: flex;
    width: 50%;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}
.gallery .ligne-photos .propor .propor-cont .imagecont {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    justify-content: center;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    position: relative;
    height: 100%;
    align-items: stretch;
}
.gallery.galerie {
    background: var(--color0);
    padding: 5vh 10vw;
    display: flex;
    gap: 5%;
    color: var(--color3);
    justify-content: center;
    align-items: stretch;
}.service-group-36 .gallery.galerie {
    background: white;
    color: var(--color3);
    gap: 5%;
}

.gallery.clear.services {padding: 8vh 10vw;}
.gallery .ligne-photos .propor .propor-cont .imagecont .imagefond {
    image-rendering: optimizeQuality;
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat
}

.gallery .ligne-photos .propor .propor-cont .imagecont .masque {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    width: 100%;
    height: 100%;
    background-color: var(--color1);
    background-image: url(../images/ico-zoom.svg);
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: var(--border-radius1);
}

.gallery .ligne-photos .propor .propor-cont .imagecont:hover .masque {
    opacity: .7;
    filter: alpha(opacity=70)
}

.gallery .ligne-photos .propor .propor-cont .imagecont:hover .imagefond {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -o-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15)
}

.gallery .nav {
    margin: 10px 0;
    text-align: center
}

.gallery .nav li {
    display: inline-block;
    margin-bottom: 10px;
    background: 0 0;
    padding: 0 3px 0 5px
}

.gallery .nav li:before {
    content: none
}

.gallery .nav li a.bouton-principal {
    display: block;
    text-transform: uppercase;
    font-size: 14px;
    font-family: var(--font_family_1);
    text-align: center;
    border-radius: var(--border-radius);
    background: var(--color1);
    text-decoration: none
}

.gallery .nav li a.bouton-principal:after {
    content: none
}

.gallery .nav li.active a {
    background: var(--nuanceColor1)
}

.gallery .tab-content {
    padding-top: 10px;
    padding-bottom: 10px
}

.gallery .tab-content h2 {
    padding-left: 15px;
    margin-bottom: 20px
}

.gallery .bas-galerie {
    text-align: center;
    padding: 40px 0 0
}

.gallery .bas-galerie a.bouton-principal {
    padding-right: 60px
}

.gallery .bas-galerie a.bouton-principal:after {
    background-image: none;
    width: 22px;
    height: 22px;
    content: "+";
    font-family: verdana;
    font-size: 35px;
    position: absolute;
    right: 20px;
    top: 7px
}

.header-sidebars,.sidebar-left,.sidebar-right {
    background-color: #ffffff26;
    backdrop-filter: blur(10px);
}

.contactButton,.nav-item-active,.sidebar-bottom-controls a,.sidebar-divider-text,.sidebar-form label,.sidebar-left a,.sidebar-right a,.sidebar-send-button {
    color: var(--color0)!important
}

.header-sidebars {
    height: 65px;
    z-index: 9999;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    /* box-shadow: 0 2px 3px 1px rgba(0,0,0,.1); */
    border-bottom: 1px solid #eeeeee26;
}

.header-sidebars .header-top {
    display: table;
    height: 65px;
    width: 100%;
    background: #0e2940bd;
}

.top-logo {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    z-index: 9999;
    text-align: center;
    overflow-y: hidden
}

.top-logo img {
    position: absolute;
    left: 21px;
    top: 10px;
    max-height: 99px;
    max-width: 104px;
    /* filter: invert(1); */
}

.deploy-right-sidebar {
    border-left: 1px #ffffff38 solid;
    display: table-cell;
    background-color: transparent;
    height: 65px;
    width: 65px;
    background-position: center center
}

.deploy-right-mail {
    border-left: 1px #ffffff38 solid;
    display: table-cell;
    background-color: transparent;
    background-repeat: no-repeat;
    height: 65px;
    width: 65px;
    background-position: center center;
    position: absolute;
    right: 65px;
    top: 0
}

.deploy-right-call {
    display: table-cell;
    background-color: transparent;
    background-size: auto 49%;
    height: 65px;
    width: 65px;
    background-position: center 16px;
    position: absolute;
    right: 130px;
    top: 0
}

.sidebar-scroll-right {
    width: 275px;
    overflow: auto!important;
    overflow-x: hidden!important;
    height: 100%;
    background-color: var(--color1);
}

.sidebar-right {
    font-family: var(--font_family_2)!important;
    background-repeat: repeat;
    position: fixed;
    overflow: hidden;
    z-index: 99999;
    right: -280px;
    top: 0;
    bottom: 0;
    width: 270px;
    margin-right: 10px;
    box-shadow: -2px 0 2px 0 rgba(0,0,0,.1)
}

.sidebar-right a {
    text-decoration: none;
    display: block;
    overflow: hidden;
    position: relative;
    color: var(--color0)!important;
    z-index: 1
}

.sidebar-right-logo {
    margin-left: 84px;
    top: 14px;
    right: 1px;
    max-width: 180px;
    float: inherit;
    max-height: 37px;
    position: relative
}

.sidebar-divider-text {
    font-size: 20px;
    padding-top: 15px;
    padding-left: 20px;
    padding-bottom: 15px;
    margin-bottom: 0;
    color: var(--color0)!important;
    background: var(--color2);
    opacity: .3
}

.submenu a:first-child {
    background-image: none!important
}

.submenu {
    display: none
}

.submenu-active {
    display: block
}

.sidebar-header-right {
    height: 65px;
    background-color: var(--color1);
    position: relative
}

.close-sidebar-right {
    height: 65px;
    width: 65px;
    margin-left: 0;
    display: block
}

.sidebar-right .close-sidebar-right {
    position: absolute!important
}

.menu-mobile-dynamique {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style-position: inside;
    list-style-image: none
}

.menu-mobile-dynamique li {
    width: 100%;
    margin-bottom: 1px;
    background: 0 0;
    padding-left: 18px;
    background: var(--color1);
}

.menu-mobile-dynamique li.active {
    background: #0000000f;
}

.menu-mobile-dynamique .sub-menu li {
    background-color: transparent;
    margin-bottom: 0
}

.menu-mobile-dynamique .sub-menu li a {
    height: 42px;
    text-transform: none
}

.menu-mobile-dynamique .sub-menu {
    background-image: linear-gradient(to bottom,var(--color1),var(--color1));
    padding-top: 18px;
    padding-bottom: 18px
}

.menu-mobile-dynamique li.parent {
    background-image: url(../images/gopage.svg);
    background-position: 241px 26.2px;
    background-repeat: no-repeat;
    background-size: 9px auto
}

.menu-mobile-dynamique li a {
    display: table-cell;
    width: 270px;
    vertical-align: middle;
    line-height: 18px;
    font-size: 16.2px;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    color: var(--color0);
    height: 60px;
    padding-left: 29px;
    background-position: 6px 20.9px
}

.menu-mobile-dynamique ul {
    list-style-image: none;
    list-style-position: inside;
    list-style-type: none;
    padding-left: 0
}

.menu-mobile-dynamique ul li a {
    background: 0 0
}

.menu-mobile-dynamique input {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0
}

.menu-mobile-dynamique label {
    display: block;
    overflow: hidden;
    position: relative;
    border: 0;
    /*vertical-align:baseline;*/
    outline: 0
}

.no-bottom {
    margin-bottom: 0!important
}

.menu-mobile-dynamique .sub-menu {
    display: none
}

.remonter {
    position: fixed;
    z-index: 9999;
    display: none;
    bottom: 10px;
    right: 10px;
    width: 44px
}

.remonter button {
    display: block;
    padding: 6px 9px;
    text-align: center;
    border: none;
    background: rgba(0,0,0,.05);
    border-radius: 3px
}

.remonter button:hover {
    opacity: .8;
    filter: alpha(opacity=80)
}

.deprecated-ie {
    text-align: center;
    color: #000;
    background: #eee
}

.deprecated-ie p {
    line-height: 30px;
    margin: 0
}

.deprecated-ie a {
    line-height: 30px;
    font-family: Helvetica,arial,sans-serif;
    font-size: 13px;
    color: #000;
    text-decoration: underline
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: var(--color1)
}

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
    background-color: var(--color1)
}

.bx-pager.bx-default-pager a {
    background-color: var(--color2)
}

.bx-pager.bx-default-pager a.active,.bx-pager.bx-default-pager a:hover {
    background-color: var(--color2)
}

.vegas-timer-progress {
    background: var(--color0)
}

.icones {
    width: 32px;
    margin: 16px 0 0 16px;
    height: 32px;
    fill: var(--color0);
}

.deploy-right-sidebar .icones {
    width: 29px
}

.menu-mobile-dynamique li a::before {
    display: block;
    content: "\f105";
    position: absolute;
    font-family: 'Font Awesome 5 Free';
    left: 5px;
    font-weight: 700;
    font-size: 15px;
    color: var(--color0);
}

.pied .btn-partage .icones {
    fill: var(--color3)
}

.remonter .icones {
    margin: 0 0 -5px;
    fill: var(--color1)
}

.tete .tel .icones, .tel-header .icones {
    width: 19px;
    margin: -2px 10px -3px 0;
    height: 17px;
    fill: var(--color0)
}

.btn-partage .btnp:hover .icones {
    fill: var(--color0)
}

.tete .infos.infos_small .btn-partage .icones {
    top: 5px;
    left: 0
}

.newsList {
    float: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    width: 100%;
    padding: 3vh 0;
}

.newsList .ligne-actus {
    flex: 0 0 auto;
    margin: 0 0 30px;
    float: none
}

.news .date_post{text-align:center;color: var(--color0);font-weight:800;font-size:14px;font-size:clamp(12px,.5vw,14px);line-height:18px;text-transform:uppercase;display:block;background-color: var(--color1);position:absolute;left:0;top:0;padding:7% 4% 4%;z-index:50;margin:0;border-top-left-radius: 9;}
.news .date_post span{display:block;line-height: 1.1;min-width:84px}
.news .date_post .s1{font-size:50px;line-height:35px;padding-bottom:5px;font-size:clamp(40px,2vw,50px)}




.news .date_post .s1 {
    /* font-size: 50px; */
    /* line-height: 35px; */
    padding-bottom: 5px;
    font-size: clamp(40px,2vw,50px);
}

.newsList .propor .propor-cont .imagecont .masque {
    background-color: rgb(255 255 255 / 0%);
    background-image: none
}
.news .propor .propor-cont .imagecont:hover {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -o-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15);
    filter: none;
}
.newsList .propor { overflow: hidden}
.newsList .item .h3, .newsList .item .h3 a {
    color: black;
    padding: 5px 0 6px;
    margin: 0;
    font-weight: 200;
    font-family: var(--font_family_1)
}
.newsList .item:hover .h3 {color: var(--bg-facultatif);}
.newsList .item .h3 a:hover {  text-decoration: none; color: var(--bg-facultatif);}
.item-news { position: relative}
.newsItem .photo img {
    object-fit: cover;
    -o-object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    flex: 1;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    object-position: 49% 40%;
}
.newsItem .photo {
     width: 100%;
     overflow: hidden;
     height: clamp(313px, 51vw, 47vh);
     background-position: center !important;
     background-repeat: no-repeat !important;
     -webkit-transition: all .5s 
ease;
     -moz-transition: all .5s ease;
     -o-transition: all .5s ease;
     transition: all .5s 
ease;
     padding: 0;
}

.newsItem .contenu-article {
    padding: 45px 0 40px;
    min-height: 200px;
    margin: 0;
}

.newsItem .div-rs {
    margin: 0 auto 40px;
    display: flex;
    align-content: center;
    align-items: center
}

.newsItem .div-rs .btn-partage {
    display: flex;
    overflow: hidden;
    position: relative;
    top: 0;
    margin-left: 2rem;
    gap: 6px;
    flex-direction: row;
    align-items: flex-start;
}

.newsItem .div-rs .btn-partage .icones {
    fill: var(--color1);
}

.newsItem .div-rs .btn-partage .btnp {
    background-color: transparent;
}

.newsItem .div-rs .btn-partage .btnp:hover {
}

.newsItem .div-rs .btn-partage .btnp:hover .icones {
}

.newsItem .date_post {
    padding: 5% 3% 3%;
}

.news_avant_apres {
    display: table;
    width: 100%;
    text-align: center;
    margin: 0;
    height: 100%;
    margin-bottom: 2em;
}

.news_avant_apres>div {
    display: table-cell;
    float: none;
    padding: 0;
    height: 100%
}

.news_avant_apres a,.news_avant_apres a:visited {
    padding: 15px 30px;
    color: black;
    text-decoration: none;
    border: 1px solid black;
    display: block;
    height: 100%;
    font-family: var(--font_family_1);
    text-transform: uppercase;
    border-radius: var(--border-radius);
    transition: all .3s ease;
}

.news_avant_apres a:focus,.news_avant_apres a:hover {
    border-color: #021c3e12;
    text-decoration: none;
    background: #021c3e12;
}

.news_avant_apres>div:last-child {
    right: -5px
}

.news_avant_apres a:focus b,.news_avant_apres a:hover b {
    text-decoration: none;
}

.navButtons,.navButtons:visited {
    padding: 0 0 10px;
    color: black;
    transition: .8s;
    text-decoration: none;
    display: block;
    border-radius: 0;
}

.news_avant_apres a:focus span,.news_avant_apres a:hover span {
    text-decoration: none
}

.pagination>li {
    background: 0 0;
    padding-left: 0
}

.pagination>li:before {
    display: none;
}

.pagination>li>a,.pagination>li>span {
    color: var(--color1);
    border-color: var(--color3);
    border-radius: 0px !important;!i;!;
    border: none;
    padding: 10px 15px;
    margin: 2px;
    transition: all .3s ease;
    background-color: transparent;
    color: var(--color3);
    font-weight: bold;
}

.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover {
    color: var(--color0);
    background-color: var(--color1);
    border-color: var(--color1)
}

.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover {
    color: var(--color0);
    background-color: var(--color1);
}


@media (min-width: 768px) {
    .dispaly_flex {
        display:flex
    }

    .flex_child_2 {
        flex: 2
    }

    .flex_child_1 {
        flex: 1
    }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .lightboxOverlay {
        overflow:scroll
    }

    .lightboxOverlay::-webkit-scrollbar {
        width: 0
    }
}
@media (max-width: 1300px) {
    .contact .tab-formulaire:before{display:none;}
    svg.nejmaAB2{left:unset;
                right:10px;}
a.itemimage img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: bottom;
    max-width: fit-content;
}

}
@media (max-width: 1024px) {
    .modele-liste{
        grid-template-columns:1fr 1fr;
        gap: 5em 5em;
    }
    
    svg.nejmaAB4{display:none;}
}

@media (min-width: 991px) and (max-width:1199px) {
    :root { 
    --taille_font:14px;
    --h1-size: 21px;

    --h-size: clamp(4.5rem, 4vw, 7rem);
    --h-sub-size: clamp(2rem, 2.4vw, 6.2rem);
}
a.fw-600.d-inline-block.mb-5px.text-dark-gray.fs-18 {
    font-size: 19px;
}
    .slogan .sous-titre {
        font-size:20px;
        line-height: 20px
    }
.services.services-home {
    padding: 10vh 1vw 16vh 0;
}
.description-galerie2.clear {  padding: 2em 4vw}
a.itemimage img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: bottom;
    max-width: fit-content;
}
.sticky-block {
    transition: all 0.3s ease 0s;
    position: absolute;
    left: 3vw;
    width: 47vw; 
    top: 0vh;
}
.sticky-block.sticky-fixed { left: 4vw}
.body-page-1 .fluid-contenu .corps, .chiffresAB, .AvisClientsBg, .realisations, .atouts1 {
    padding: 4vw 2vw 4em !important;
}
    .services a.bouton-principal {
        font-size: 11px
    }

    .body-error404 a.btn.btn-default,.contact .formulaire input.btn-primary,.contact a.btn.btn-default {
        padding: 16px 20px;
        font-size: 12px
    }

    .contact .coordonnees {
        padding: 0
    }

    .contact .formulaire .form-group input.btn-primary {
        width: 100%;
        margin-top: 8px;
        float: none
    }
}

@media (max-width: 991px) {
    
:root{--border-radius:0;--border-radius1:10px;--taille_font:15px}
.etapes img{width:20vw;position:relative;top:19px}
.btnMailAB{width:60%;margin-right:17vw;margin-top:1em}
.etapes .col-md-3{width:fit-content}
.t1 .col-md-3 img{width:15vw;height:20vw;min-width:15vw;min-height:20vw;object-fit:contain}
.t1{margin:1em 0px 0px;display:flex;padding:1em;width: 50%;text-align: left;border:1px solid #ffffff82;border-radius:var(--border-radius)}
.ink-cursor, .ink-cursor span{display:none}
.imagecont.noflicker.img1 {
    height: auto;
}.enc1 p {
    font-size: 16px;
}.service-group-38 .gallery.clear.services {
    display: flex
;
    flex-direction: column-reverse;
    align-items: center;
}
    .etapes .col-md-4 {
    display: flex;
    gap: 1%;
    width: 100%;
    justify-content: center;
    align-items: center;
}.AvisClientsBg h2 {
    display: none;
}.AvisClientsBg h2 {
    display: none;
}
.gallery.galerie {
    display: flex;
    flex-direction: column-reverse;
}
body.body-service .gallery .description-galerie, body.body-service.service-group-38 .gallery .description-galerie {
    column-count: 1;
    column-gap: 0;
    width: 100%;
}.cards-grid {
    margin-top: 10px;
}
.gallery.clear.services { padding: 4vh 3vw}
.service-group-36 .gallery.galerie {
    display: flex;
    flex-direction: column-reverse;
}
    .body-news .titre, .body-catalogue-item .titre, .titre, h1, .h1 {
    font-size: 28px;
}
.fluid-contenu .corps, .body-catalogue-item .fluid-contenu .corps, .body-contact .fluid-contenu .corps {
    padding: 5vw 2vw 2em;
}
body.body-service .row.ligne-photos, body.body-service.body-service-51.service-group-37 .row.ligne-photos {
    width: 100%;
}
.prestation {
    padding: 0 1vw;
}
.AvisClientsBg .swiper-slide.col-sm-12.col-xs-12.swiper-slide-active {
    padding: 0;
}

.AvisClientsBg .col-md-8 {    padding: 0;
}

.etapes .col-md-3 svg{width:18vw}
.prestation .cell.texte .contenu p{}
a.itemimage img{height:20vh;width: 100%;}
.photo.cover{width:100%}
.infodat{font-size:80%}
.cle1{padding:0px 0vw}
.body-page-1 .fluid-contenu .corps {padding: 2vh 1vw ;}
.gallery .description-galerie:first-child, body.body-gallery.body-gallery-36 .row.description-galerie.clear{padding:0em 3vw 0em}
.col2 .singleservice:last-child figure.serviceitem img{height:13vh;width:auto}
.btn-news a.bouton-principal, .btn-news button.bouton-principal, .btn-service a.bouton-principal, .btn-service button.bouton-principal{padding:13px 20px}
.btn2{width:95px;display:flex;justify-content:flex-end;float:right;align-content:center;align-items:center;margin:0 0 1vh}
.swiper-button-prev, .swiper-button-next{height:39px !important;width:40px !important}
.titreABslog{left:unset !important;top: 0;transform:none !important;width:100%;bottom:unset;text-align:center;font-size: 31px;display: flex;justify-content: center;height: 100%;align-items: center;margin: 0;}
a.bouton-principal:after, button.bouton-principal:after{font-size:16px}
address i{font-size:16px;width:25px}
.pied .navf .menu_footer li{padding:0 10px 10px;width:100%}
.pied .navf .menu_footer{padding:10px 0;display:block;text-align:left}
button#BoutonAjouter, button#BoutonSupprimer{padding:10px 20px !important}
.label-rgpd{font-size:11px !important}
.chifAB span{font-size:32px}
.chifAB p{font-size:16px}
.title:before{height:4px;width:4px}
.AvisClients, .AvisClients:link, .AvisClients:visited{
    display: block;
    height: auto;
}
.page-contenu-home{font-size:18px}
a.fw-600.d-inline-block.mb-5px.text-dark-gray.fs-18{font-size:20px}
figcaption.captionservice div.position-relative a:after{width:60px}
.pied .title_footer{font-size:17px}
    .bande1 .col-md-4.col-sm-3.nopad {
    width: 100%;
}
.pied .navf .menu_footer li a, .pied .navf .menu_footer li a:visited, .pied .menu_referencement li a, .pied .menu_referencement li a:visited, .pied address{font-size:16px}
img.logo-footer{width:130px;display:none}
.input-group-btn>.btn{height:42px;padding:9px 15px}
h2.h1, .AvisClientsBg.bg-optionnel-gris .h1{font-size:28px;line-height:22px;margin: 0 0 3vh;}
.contact .formulaire .form-group input.form-control{height:50px}
.body-service-list-38 .cell.photo.cover{width:100%}
.logoFtr{text-align:center;margin:10px 0;display: none;}
article.page.clear.node-1{padding:0vh 0 2vh}
.slogan h1{text-align:center}
    .etapes.etap2  .col-md-8 .row {display: flex;gap: 2%;margin: 0 -2% !important;}

.etapes.etap2 .t1 {
    width: 100%;
    display: block;
    border: 0;
    padding: 0;
}

.etapes.etap2 .col-md-6 {
    width: 48%;
}
    .etapes.etap2  .col-md-8 {
    padding: 0;
}
.row.temoRow{display:flex;flex-direction:column;align-items:flex-end;align-content:flex-end;float:left;width:100%;display: none;}
.title, .services-home .title{font-size: 36px;line-height:1.1;margin: 0 0 5vh;}
.chiffresAB .col-md-9{display:flex;flex-wrap:wrap;width:105%;justify-content:space-around;margin-left:-5%}
.chiffresAB .col-md-3 img{display:none}
.AvisClientsBg .title{display:none}
.sticky-block, .sticky-block.sticky-fixed{width:100% !important;position:relative !important;left:0 !important;top:0 !important}
p.sans-image{font-size:14px;line-height:1.1;margin:0 0 38px}
figure.serviceitem{padding:2vh 2vw 0;display:flex;width:100%;flex-direction: column;}
.liste-services .row{display:block}
.bloc{padding:4vh 4vw}
.enc1{font-size:21px;display:flex;flex-direction:column;padding:12px 0}
.bloc .row{display:flex;flex-wrap:wrap;margin:0 !important}
.enc1.col-md-3:first-child{margin-left:-5px}
.contact .plan iframe{border-radius:15px}
.formABcont:after, .formABcont:before{opacity:0.25}
.prestation .cell.texte .contenu h2{font-size:23px;line-height:30px;margin-bottom:15px}
.prestation:nth-child(even) .cell.texte .contenu, .prestation .cell.texte .contenu{padding:4vh 3% 6vh}
.pied .bande2{float:left;padding:0 0vw 4vh;width:100%}
.news .date_post, .news .date_post .s1{font-size:20px !important;top:1px}
.chiffresAB .col-md-8{flex-direction:column}
.body-page-1 .slogan small:before{display:none}
.liste-services{justify-content:center;padding-left:0}
.singleservice{max-width:100%;width:100%;margin:0 0 1vh}
.linea{padding:0 2vw}
.liste-services .row .col-md-6, .liste-services .row .col-md-6.col1{width:100%;padding-right:5px !important;margin-top:0;float:left}
.chifAB{padding:10px;margin:0 0 6px;width: 48%;display:flex;gap:3%;flex-direction:column}
.chiffresAB{padding:7vh 1vw}
.gallery-item-block img{width:100% !important}
    body.body-service-list.body-service-list-38 .page.clear.services {
    padding: 0 2vw;
}
.tab-formulaire .formulaire, .tab-formulaire .formABcont{width:100%;padding:4em 4% 3em}
.body-service-list-38 .fluid-contenu .corps{padding: 2em 0;}
.body-service-list-38 .prestation .cell.texte .contenu{padding:30px 15px}
.contact .formulaire .form-group>label.control-label{display:block;-webkit-transition:all .4s ease;-moz-transition:all .4s ease;-ms-transition:all .4s ease;-o-transition:all .4s ease;transition:all .4s ease;-webkit-transform:translateZ(0);transform:translateZ(0);bottom:11px;opacity:.5;position:relative;font-size:0}
.contact .formulaire .form-group>label.focus{bottom:auto;font-size:var(--taille_font);padding-top:5px}
.container{max-width:none;width:auto}
.centerservice2{margin:0!important}
.centerservice{margin:0 25%!important}
.lb-prev{opacity:1!important;background:url(../images/lightbox-g.png) left 48% no-repeat}
.lb-next{opacity:1!important;background:url(../images/lightbox-d.png) right 48% no-repeat}
.contact .formulaire .form-group .col-md-4{width:100%!important}
.contact .formulaire .form-group .col-md-8{width:100%!important}
.contact .formulaire .form-group input[name=captcha]{width:100%!important;margin-right:0!important;text-align:left!important}
.contact .formulaire .form-group input[name=captcha]+a{position:absolute;width:140px;top:1px;right:1px;margin-right:0!important}
.contact .formulaire .form-group input.btn-primary{width:100%;margin-top:0px;float:none;padding:15px 20px;background-size:24px;text-align:center}
.contact .formulaire .form-actions{font-size:11px}
.banniere{height: 33vh !important;position:relative}
.body-page-1 .banniere{height:38vh !important}
.pied .bande1{padding: 5rem 3% 70px;}
.contact .tab-coordonnes .cell.gauche .contenu{padding:50px 7% 30px}
.certifs .logo-certif img{background-size:contain}
.fluid-contenu{margin-top: 0 !important;}
.body-page-1 .fluid-contenu{margin-top:0 !important}
.slogan{width:100%;left:0;display: flex;top: 0;align-items: center;justify-content: center;padding:0 15px;text-align:center}
.square{display:none}
.body-page-1 .banniere:before{content:'';position:absolute;width:100%;height:100%;background:#00000021;top:0}
.body-service-list p.titreAB, .titreAB{font-size: 28px !important;}
.etapes{margin:0 0 !important;padding:47px 0;text-align:center}
.chiffresAB .col-md-10{display: flex;width:100%;margin:0;padding:0;flex-wrap: wrap;}
.body-page-1 .chiffresAB{background:transparent}
.body-page-1 .chiffresAB .titreAB{color:var(--color0)}
.listes figure.serviceitem img{height:14vh}
.liste-services .row .col-md-6.col1{margin-top:46px !important}
.description-galerie2.clear, .AvisClientsBg, .realisations{padding:2vh 5vw;margin:0;background-attachment: initial;}
.swiper.mySwipers1 .swiper-slide{display:flex;width:79%;margin: 0 0 0 5px;opacity:1;background:var(--color0);}
.swiper.mySwipers1 .swiper-wrapper{display:flex;gap:0.5rem;margin:0 0 0 -5px}
.mySwipers1 .swiper-slide.swiper-slide-duplicate.swiper-slide-duplicate-prev{opacity:0}
.mySwipers1 .swiper-att{gap:2vh;padding:5vh 8%}
.nopad-r{padding:0}
.nopad-l{padding:0}
.atouts1{padding:1vh 3vw}
.body-page-1 .slogan{text-align:center;width:100%}
.slogan .titre{font-size:32px;line-height:30px}
.slogan .titre span{font-size:29px}
.slogan .sous-titre{font-size:20px;line-height:20px}
.gallery .description-galerie{padding:0 0 39px;}
.page-contenu-home{padding:0 0}
.certifs .cell.gauche .contenu{padding:0 0}
.intervention .contenu{padding:0 0}
.actualites .cell.texte .contenu{padding:0 0}
.bande_contact_footer{padding:0}
.flex-seoContain{flex-wrap:wrap}
.flex-seoContain .seo-content{width:100%;background:0 0;min-height: auto;}
.flex-seoContain .seo-form{width:100%}
.img-seo img{width:100%;height:auto}
.bande_contact_footer .row1{padding:4rem 3%}
.contact .tab-formulaire{padding: 1rem 0%;margin: 0;}
.livre-elements{padding:0 0}
.body-service-list-38 .prestation .photo.cover {
    width: 31%;
}

.body-service-list-38 .cell.texte {
    width: 59%;
}
.linea2 .col-md-12 .chifAB {
    width: 48%;
    margin: 0 0 1vh;
    padding: 2vh 3vw 2vh;
    /* max-width: 380px; */
    text-transform: uppercase;
}
a.bouton-principal, button.bouton-principal {padding: 16px;}
body.body-service-list.body-service-list-38 .chiffresAB {
    padding: 7vh 2vw  0vh;}
}
@media (max-width: 767px) {
    .typewriter img{ min-width: 130px; width: 130px; }
        .etapes.etap2 .t1 {
            border: 1px solid #ffffff82;
            padding: 10px;
        }
.body-service-list-38 .cell.texte {width: 100% 
}
body.body-service-list.body-service-list-38 .chiffresAB { padding: 2vh 1vw 0vh; }
    .body-service-list-38 .prestation .photo.cover {
        width: 100% 
    }
.linea2 .col-md-12 .chifAB {
    width: 100%;
    margin: 0 0 1vh;
    padding: 2vh 3vw 2vh;
    /* max-width: 380px; */
    text-transform: uppercase;
}
.body-service-list-36 .prestation .photo.cover, .body-service-list-37 .prestation .photo.cover {
    opacity: 1;
    width: 100% 
}
.etapes.etap2 .col-md-8 .row .col-md-6 { width: 100%; }
     .btnMailAB{/* position: static; *//* float: unset; */width: 60%;margin-right: 17vw;margin-top: 1em;}
    .etapes .col-md-3{
        width:fit-content;
    }
            .etapes.etap2 .col-md-8 .row {
            display: block
        }
        .t1 .col-md-3 img {
    width: 15vw;
    height: 20vw;
    min-width: 15vw;
    min-height: 20vw;
    object-fit: contain;
}
        .etapes .col-md-4.nopad {
            display: block;
        }
  .etapes img {
    width: 20vw;
    position: relative;
    top: 19px;
}
    .t1{
    margin: 1em 0px 0px;
    display: flex;
    padding: 1em;
    width: 100%;
    border: 1px solid #ffffff82;
    border-radius: var(--border-radius);
}
.etapes .col-md-3 svg {
    width: 18vw;
}
.prestation .cell.texte .contenu p {font-size: 12px;
}
a.itemimage img {
    height: 20vh;
    width: auto;
}
.photo.cover {width: 100%;}
.infodat { font-size: 80%; }
.cle1 { padding: 0px 0vw; }
.gallery .description-galerie:first-child, body.body-gallery.body-gallery-36 .row.description-galerie.clear { padding: 0em 3vw 0em;}
.col2 .singleservice:last-child figure.serviceitem img {height: 13vh;width: auto;}
.btn-news a.bouton-principal, .btn-news button.bouton-principal, .btn-service a.bouton-principal, .btn-service button.bouton-principal{ padding:13px 20px; }
.btn2{width: 95px;}
.swiper-button-prev, .swiper-button-next{height: 39px !important;!i;!;width: 40px !important;}
.titreABslog{
    left: unset !important;
    top: 0;
    transform: none !important;
    width: 100%;
    bottom: unset;
    text-align: center;
}
a.bouton-principal:after, button.bouton-principal:after{font-size:16px;}

address i{
    font-size: 16px;
    width: 25px;
}

    .pied .navf .menu_footer li{
        padding:0 10px 10px;
        width: 100%;
    }

.pied .navf .menu_footer {
    padding: 20px;
    display: block;
    padding: 10px 0;
    text-align: left;
}
    
    button#BoutonAjouter, button#BoutonSupprimer{
        padding: 10px 20px !important;
    }
    
    .label-rgpd{font-size: 11px !important;}
    
    .chifAB span{
    font-size: 32px;
}

.chifAB p {
    font-size: 16px;
}

    
    .title:before{height:4px; width:4px;}
    
    .AvisClients, .AvisClients:link, .AvisClients:visited{
    }
    .page-contenu-home{font-size: 18px;}
    a.fw-600.d-inline-block.mb-5px.text-dark-gray.fs-18{
    font-size: 19px;
}

figcaption.captionservice div.position-relative a:after {
    width: 60px;
}

    .pied .title_footer{font-size: 17px;}
    .pied .navf .menu_footer li a, .pied .navf .menu_footer li a:visited, .pied .menu_referencement li a, .pied .menu_referencement li a:visited, .pied address{font-size:16px;}

    img.logo-footer{width:130px;display: none;}
    
    .input-group-btn>.btn{
        height: 42px;
        padding: 9px 15px;
    }
h2.h1, .AvisClientsBg.bg-optionnel-gris .h1{font-size: 28px;line-height: 22px;margin: 0;}
    .contact .formulaire .form-group input.form-control{height:50px;}

    .body-service-list-38 .cell.photo.cover{
    width: 100%;
}
    
    .logoFtr {
    text-align: center;
    margin: 10px 0;
}
    
    article.page.clear.node-1{
    padding: 0vh 0 2vh;
}

    
    .slogan h1{text-align:center;}

    .row.temoRow {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    align-content: flex-end;
    float: left;
    width: 100%;
}

.btn2 {
    display: flex;
    justify-content: flex-end;
    float: right;
    align-content: center;
    align-items: center;
    margin: 0 0 1vh;
}
.title, .services-home .title {
    font-size: 28px;
    line-height: 1.1;
}

.chiffresAB .col-md-9 {
    display: flex;
    flex-wrap: wrap;
    width: 105%;
    justify-content: space-around;
    margin-left: -5%;
}

.chiffresAB .col-md-3 img {
    display: none;
}

.AvisClientsBg .title {
    display: none;
}

.sticky-block, .sticky-block.sticky-fixed {
    width: 100%;
    position: relative !important;!i;!;
    left: 0 !important;!i;!;
    top: 0 !important;!i;!;
    width: 100% !important;!i;!;
}

p.sans-image {
    font-size: 14px;
    line-height: 1.1;
    margin: 0 0 38px;
}

figure.serviceitem {
    padding: 2vh 2vw 0;
    display: flex;
    width: 100%;
    border: 1px solid transparent;
}

.liste-services .row {
    display: block;
}

.bloc {
    padding: 4vh 4vw;
}

.enc1{
    font-size: 21px;
}

.bloc .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 !important;!i;!;
}

.enc1.col-md-3:first-child {margin-left: -5px;}
    .contact .plan iframe{border-radius:15px;}

    .formABcont:after, .formABcont:before{
        opacity:0.25;
    }

    .prestation .cell.texte .contenu h2{
    font-size: 23px;
    line-height: 30px;
    margin-bottom: 15px;
}

    .prestation:nth-child(even) .cell.texte .contenu, .prestation .cell.texte .contenu{
    padding: 4vh 3% 6vh;
}
    

    .pied .bande2{
        float:unset;
        padding: 0 0vw 4vh;
        float: left;
        width: 100%;
    }

    .news .date_post, .news .date_post .s1{
    font-size: 20px !important;
    top: 1px;
}
    
    
    .chiffresAB .col-md-8{
    flex-direction: column;
}
    
    .body-page-1 .slogan small:before{display:none;}
    .liste-services{
    justify-content: center;
    padding-left: 0;
}
    .singleservice{
    max-width: 100%;
    width: 100%;
    margin: 0 0 2vh;
    border-radius: 0;
    display: flex;
    flex-direction: row;
    border: 1px solid #ffffff82;
}
    .linea{
    padding: 0 6px;
}
    .liste-services .row .col-md-6, .liste-services .row .col-md-6.col1{
        width: 100%;
        padding-right: 5px !important;
        margin-top: 0;
        float: left;
    }
    .chifAB{
    padding: 2em;
    width: 75%;
}

     .chiffresAB{
          padding: 7vh 1vw;
    
    }
    .gallery-item-block img{
    width: 100% !important;
}
    .tab-formulaire .formulaire, .tab-formulaire .formABcont{
        width:100%;
        padding: 4em 4% 3em;
    }
    .body-service-list-38 .fluid-contenu .corps{
    padding: 2em 6%;
}
    .body-service-list-38 .prestation .cell.texte .contenu{
    padding: 30px 15px;
}
   
    .chifAB{
        padding: 10px;
        margin: 0 0 6px;
    }
    .contact .formulaire .form-group>label.control-label {
        display:block;
        -webkit-transition: all .4s ease;
        -moz-transition: all .4s ease;
        -ms-transition: all .4s ease;
        -o-transition: all .4s ease;
        transition: all .4s ease;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        bottom: 11px;
        opacity: .5;
        position: relative;
        font-size: 0
    }

    .contact .formulaire .form-group>label.focus {
        bottom: auto;
        font-size: var(--taille_font);
        padding-top: 5px
    }

    .container {
        max-width: none;
        width: auto
    }

    .centerservice2 {
        margin: 0!important
    }

    .centerservice {
        margin: 0 25%!important
    }

    .contact .formulaire .form-group .col-md-4 {
        width: 100%!important
    }

    .contact .formulaire .form-group .col-md-8 {
        width: 100%!important
    }

    .contact .formulaire .form-group input[name=captcha] {
        width: 100%!important;
        margin-right: 0!important;
        text-align: left!important
    }

    .contact .formulaire .form-group input[name=captcha]+a {
        position: absolute;
        width: 140px;
        top: 1px;
        right: 1px;
        margin-right: 0!important
    }

    .contact .formulaire .form-group input.btn-primary {
        width: 100%;
        margin-top: 0px;
        float: none;
        padding-right: 70px;
        padding: 15px 20px;
        background-size: 24px;
        text-align: center;
    }

.contact .formulaire .form-actions {
    font-size: 11px;
}

    .lb-prev {
        opacity: 1!important;
        background: url(../images/lightbox-g.png) left 48% no-repeat
    }

    .lb-next {
        opacity: 1!important;
        background: url(../images/lightbox-d.png) right 48% no-repeat
    }

    .video-accueil {
        position: static;
        width: 100%;
        height: auto;
        margin-left: 0
    }

    .banniere {
        height: 23vh !important;
        position: relative;
    }

.body-page-1 .banniere {
    height: 38vh !important;
}

    .pied .bande1 {
        padding: 5rem 10% 70px
    }

    .prestation .cell.texte .contenu {
        padding: 50px 10%
    }

    .contact .tab-coordonnes .cell.gauche .contenu {
        padding: 50px 7% 30px
    }

    .certifs .logo-certif img {
        background-size: contain
    }

    .fluid-contenu {
    }

.body-page-1 .fluid-contenu {
    margin-top: 0 !important;
}

    .slogan {
        width: 100%;
        left: 0;
        padding: 0 15px;
        margin: 0 0 0;
        height: 100%;
        display: flex;
        top: 0;
        align-items: center;
        justify-content: center;
    }
.square {
    display: none;
}

.body-page-1 .banniere:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #00000021;
    top: 0;
}

.titreAB {
    font-size: 28px;
}
.etapes.etap2 .col-md-8 {
    padding: 0;
}
.etapes {
    margin: 0 0 !important;
    padding: 47px 0;
    text-align: left;
}

.chiffresAB .col-md-10 {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.body-page-1 .chiffresAB {
    background: transparent;
    padding: 0;
}

.body-page-1 .chiffresAB .titreAB {
    color: var(--color0);
}

.chifAB {
    width: 100%;
    display: flex;
    gap: 1%;
    margin: 0 0 0 0;
}.listes figure.serviceitem img {
    height: 14vh;
}

.liste-services .row .col-md-6.col1 {margin-top: 46px !important;}
.services .col-md-7, .services .col-md-5 {
    padding: 0;
}


.description-galerie2.clear {
    padding: 2vh 3vw;
    margin: 0;
}
.swiper.mySwipers1  .swiper-slide {
        display: flex
;
        width: 79%;
        margin: 0 0 0 0;
        opacity: 1;
    }

.swiper.mySwipers1 .swiper-wrapper {
        display: flex;
        gap: 0.5rem;
        margin: 0 0 0 4px;
    }
.swiper.mySwipers1 .swiper-slide.swiper-slide-next {
    opacity: .3;
}
.swiper.mySwipers1  .swiper-slide{
    display:flex;
    width: 79%;
    margin: 0 0 0 0;
    opacity: 1;
    min-height: 29vh;
    background: var(--color0);
    border: 1px solid var(--color1);
}
    .banat-items .swiper-wrapper .swiper-slide.swiper-slide-next {
}

.mySwipers1 .swiper-slide.swiper-slide-duplicate.swiper-slide-duplicate-prev {
    opacity: 0;
}
.mySwipers1 .swiper-att {
    gap: 1vh;
    padding: 5vh 8%;
    gap: 2vh;
}
.nopad-r {
    padding: 0;
}

.nopad-l {
    padding: 0;
}

.atouts1 {
    padding: 3vh 6px;
}

.enc1 {
    display: flex;
    padding: 10px;
    text-align: left;
    justify-content: flex-start;
}
    .body-page-1 .slogan {
        text-align: center;
        width: 100%
    }

    .slogan .titre {
        font-size: 32px;
        line-height: 30px
    }

    .slogan .titre span {
        font-size: 29px
    }

    .slogan .sous-titre {
        font-size: 20px;
        line-height: 20px
    }

    .gallery .description-galerie {
        padding: 0 0 39px;
        text-align: justify
    }

    .page-contenu-home {
        padding: 0 0
    }

    .certifs .cell.gauche .contenu {
        padding: 0 0
    }

    .intervention .contenu {
        padding: 0 0
    }

    .actualites .cell.texte .contenu {
        padding: 0 0
    }

    .bande_contact_footer {
        padding: 0
    }

    .flex-seoContain {
        flex-wrap: wrap
    }

    .flex-seoContain .seo-content {
        width: 100%;
        background: 0 0;
        min-height: 10vh;
    }

    .flex-seoContain .seo-form {
        width: 100%
    }

    .img-seo img {
        width: 100%;
        height: auto
    }

.etapes .col-md-3 svg {
    width: 18vw;
}
.prestation .cell.texte .contenu p {font-size: 12px;display: block;width: 100%;}
a.itemimage img {
    height: 16vh;
    width: 100%;
    margin: 0 0 11px;
}
    body.body-service .gallery .description-galerie, .row.description-galerie.clear.ligne2, body.body-service.service-group-38 .gallery .description-galerie {
    column-count: 1;
    column-gap: 0;
    width: 100%;
}
.atouts1 .swiper-button-disabled {
    opacity: 1;
}

.atouts1 .swiper-button-next {
    top: 41% !IMPORTANT;
    right: 5px;
}
.atouts1-cont .swiper-button-prev {
    top: 41%;
    left: 0px!IMPORTANT;
}
section.section.portfolio {display: block;padding-top: 0vh;padding-right: 5vw;padding-bottom: 0;height: auto;margin: 0px 0px 0vh;padding-left: 5vw !important;}
    .portfolio .panel { display: block; height: auto; margin: 0px !important; padding: 0px !important; }
    svg.nejmaAB3{display:none;}
      .chiffresAB{
          padding: 2vh 2vw;
          display: block;
    }
    svg.nejmaAB2{
    width: 94px;
    top: -47px;
    right: 30px;
}
    .titreABslog{
    font-size: 30px;
    line-height: normal;
    left: 50%;
    transform: translateX(-50%);
}
      .modele-liste{
        grid-template-columns:1fr;
        gap: 5em;
    }
    .corps {
        --taille_font:14px;
        font-size: var(--taille_font)
    }

    .pad-xs {
        padding-left: 15px!important;
        padding-right: 15px!important
    }

    .pad-xs-l {
        padding-left: 15px!important
    }

    .pad-xs-r {
        padding-right: 15px!important
    }

    .centerservice2 {
        margin: 0!important
    }
.chifAB div {
    font-size: 24px;
}

.enc1.col-md-3 p {
    font-size: 12px;
}
    .centerservice {
        margin: 0!important
    }

    .nopad-xs {
        padding-left: 0!important;
        padding-right: 0!important
    }

    .nopad-xs-l {
        padding-left: 0!important
    }

    .nopad-xs-r {
        padding-right: 0!important
    }

    .h1, h1, .titre, .title2 {
        font-size: 20px;
        line-height: 22px;
        margin: 0 0 2vh;
    }

    .titre-secondaire {
        font-size: 22px;
        line-height: 24px
    }

    .body-page-1 .slogan {
        position: absolute;
        background: transparent;
        width: 100%;
        text-align: center;
        padding: 15px;
        /* bottom: 0; */
        /* top: auto; */
    }

    .slogan {
        text-align: center
    }

    .slogan .titre {
        font-size: 23px;
        line-height: 24px;
        text-align: center;
    }

    .slogan .titre span {
        font-size: 23px
    }

    .slogan .sous-titre {
        font-size: 17px;
        line-height: 17px
    }

    .fluid-contenu .corps, .body-page-1 .fluid-contenu .corps, body.body-news-list .fluid-contenu .corps {
        padding: 12px 6px 36px;
        display: block;
    }



    .cont-slider .controls {
        bottom: -20px
    }

    .services, .services.services-home {
        display: block;
        padding: 9vh 0;
    }

.page.clear.services {
    padding: 5vh 6vw;
}

    .services .cell.gauche {
        display: block;
        width: 100%;
        height: 180px
    }

    .services .cell.droite {
        display: block;
        width: 100%
    }

    .services .cell.droite .contenu {
        padding: 30px 15px 40px
    }

    .realisations {
        display: block
    }

    .realisations .titre-secondaire {
        display: inline-block;
        width: 100%
    }

    .realisations .col-md-3 {
        padding-left: 5px!important;
        padding-right: 5px!important
    }

    .realisations {
        margin-left: -5px!important;
        margin-right: -5px!important
    }

    .realisations .propor {
        margin-bottom: 5px
    }

    .AvisClientsBg .contenu,.realisations .contenu {
        padding: 40px 15px 0px;
        }
    a.bouton-principal,button.bouton-principal {
        padding: 13px 40px 13px 20px;
        font-size: 14px;
        width: 100%;
    }

    .intervention .contenu {
        padding: 40px 15px 50px
    }

    .intervention ul {
        column-count: 1;
        width: 100%
    }

    .AvisClientsBg {
        padding: 0
    }

    .temoignageScroll {
        max-height: 135px
    }

    .note-avis {
        flex-wrap: wrap
    }

    .bande_contact_footer .row1 {
        padding: 4rem 3%;
    }

    .divAvis {
        width: 100%
    }
.col-md-4.col-sm-12.col-xs-12.nnopad {
    padding: 0;
}
    .pied .bande1 {
        padding: 10px 15px 0;
    }

    .pied .btn-like {
        padding: 0 0 15px;
        text-align: center
    }

    .pied .btn-partage {
        text-align: center;
        padding: 20px 0 0;
        justify-content: center
    }

    .pied .btn-partage a {
        text-align: center
    }

    .body-contact .fluid-contenu .corps,.body-gallery-4 .fluid-contenu .corps {
        /* padding: 30px 12px 0; */
    }

.body-contact .fluid-contenu .corps {
    padding: 22px 4%;
}

    .contact .tab-coordonnes {
        display: inline-block;
        padding: 3em 1em;
    }

    .contact .tab-coordonnes .cell.gauche {
        display: block;
        width: 100%;
        border: none
    }

    .contact .tab-coordonnes .cell.gauche .contenu {
        padding: 0 15px 30px
    }

    .contact .tab-coordonnes .cell.centre {
        display: block;
        width: 100%
    }

    .contact .tab-coordonnes .cell.droite {
        display: block;
        width: 100%;
        height: 180px
    }

    .contact .plan .block #googlemapapi,.contact .plan iframe {
        height: 250px!important
    }

    .contact .tab-formulaire {
        display: block;
        /* padding: 3rem 7%; */
    }

    .contact .coordonnees {
        padding: 0
    }

    .gallery .description-galerie {
        padding: 0 15px 20px;
        font-size: 19px;
    }

    .actualites,.prestation {
        display: block;
        min-height: none;
        margin-bottom: 50px;
        padding: 0 0;
    }

.prestation a.bouton-principal {
    float: unset;
    margin-top: 0;
    display: inline-block;
}

    .actualites .cell.photo,.prestation .cell.photo {
        display: block;
        width: 100%;
        height: 180px
    }

    .actualites .cell.texte,.prestation .cell.texte {
        display: block;
        width: 100%;
        clear: both
    }

    .actualites .cell.texte .contenu,.prestation .cell.texte .contenu {
        padding: 30px 15px
    }

    .gallery .ligne-photos .col-md-1,.gallery .ligne-photos .col-md-2,.gallery .ligne-photos .col-md-3,.gallery .ligne-photos .col-md-4,.gallery .ligne-photos .col-md-6 {
        padding-left: 5px!important;
        padding-right: 5px!important
    }

    .gallery .ligne-photos {
        margin-left: -5px!important;
        margin-right: -5px!important
    }
body.body-service.body-service-51.service-group-37 .row.ligne-photos {
    width: 100%;
    height: 25vh;
}
    .gallery .ligne-photos .propor {
        margin-bottom: 10px
    }

    .gallery .nav li {
        margin-bottom: 0;
        background: 0 0;
    }

    .gallery .description-galerie {
        padding: 0 0 40px;
        text-align: justify
    }

    .services .cell.droite .contenu {
        clear: both
    }

    .scrollbars {
        width: 100%;
        height: auto
    }

    .news_avant_apres>div:last-child {
        right: 0
    }

    .news_avant_apres>div {
        display: block;
        margin: 0 0 5px
    }

    .news_avant_apres,.news_avant_apres>div {
        display: block;
        position: relative;
        float: left;
    }
}

@media (min-width: 768px) and (max-width:991px) {
    .pad-sm {
        padding-left:15px!important;
        padding-right: 15px!important
    }
.services.services-home {
    padding: 6vh 0vw;
}
    .pad-sm-l {
        padding-left: 15px!important
    }

    .pad-sm-r {
        padding-right: 15px!important
    }

    .nopad-sm {
        padding-left: 0!important;
        padding-right: 0!important
    }
.col2 .singleservice:last-child figure.serviceitem img {
    height: 13vh;
}
    .liste-services .row .col-md-6, .liste-services .row .col-md-6.col1 {
        width: 45% !important;
        padding-right: 5px !important;
        margin-top: 0;
        float: left !important;
    }
}
    .nopad-sm-l {
        padding-left: 0!important
    }

    .nopad-sm-r {
        padding-right: 0!important
    }


    .scrollbars {
        height: 240px
    }


.slogan h1 {
}

    .titre-secondaire {
        font-size: 23px;
        line-height: 24px
    }

    .gallery .description-galerie {
        padding: 0 0 40px;
        text-align: justify
    }
}


.infinite-scroll .chargement {
    background: rgba(0,0,0,0) url(../images/chargement.gif) no-repeat scroll center top;
    bottom: 0;
    display: none;
    height: 32px;
    left: 50%;
    margin-left: -16px;
    position: absolute;
    width: 32px
}

.g-recaptcha {
    float: left
}

#g-recaptcha-response {
    left: 12px;
    position: relative;
    display: block!important;
    top: -45px;
    opacity: 0!important;
    margin: 0!important;
    height: 10px!important
}

@media print {
@page { size: portrait; margin: 2cm;}
body {background-color: var(--color0); font-family: Serif; font-size: 10pt }
.content-wrapper { position: relative;}
.content-lines-wrapper {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.content-lines-inner {
    position: absolute;
    width: 1140px;
    left: 50%;
    margin-left: -570px;
    top: 0;
    height: 100%;
    border-left: 1px solid rgba(255,255,255,0.03);
    border-right: 1px solid rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.03);
}
.content-lines {
    position: absolute;
    left: 33.666666%;
    right: 33.666666%;
    height: 100%;
    border-left: 1px solid rgba(255,255,255,0.03);
    border-right: 1px solid rgba(255,255,255,0.03);}
a:after {content: " [" attr(href) "] "}
h1,h2,h3 {font-family: verdana,serif}
.hide-print {display: none}
.hide { display: none}
.clear {clear: both}
div[class^=col-] {width: 100%}
.gallery .ligne-photos div[class=col-md-2] {width: 16.666666666667%}
.gallery .ligne-photos div[class=col-md-3] {width: 25%}
.gallery .ligne-photos div[class=col-md-4] {width: 33%}
.gallery .ligne-photos div[class=col-md-6] {width: 50%}
}

@media (min-width:2500px) { 

:root {
    --h-size: clamp(7.5rem, 6vw, 10rem);
    --h-sub-size: clamp(2rem, 2.5vw, 5.2rem);
}
}