:root { --color0: #ffffff; --color1: #000000; --nuanceColor1: #222226; --color2: #2d2b71; --color3: #f2a048; --color4: #222226; --bg-facultatif: #1e231e; --bg-facultatif2: #f13826; --font_family_1: Poppins-Regular; --font_family_2: Poppins-Bold; --border-radius: 10px; --taille_font: 0.8vw; }
.loaderBox { display: flex; justify-content: center; align-items: center; height: 100vh; width: 100%; position: relative; background: white; }
.loader { --dim: 4rem; width: var(--dim); height: var(--dim); position: relative; animation: 2s linear 0s infinite normal none running spin988; }
.loader .circle { --color: #333; --dim: 1.2rem; width: var(--dim); height: var(--dim); background-color: var(--color); border-radius: 50%; position: absolute; }
.loader .circle:nth-child(1) { top: 0px; left: 0px; }
.loader .circle:nth-child(2) { top: 0px; right: 0px; }
.loader .circle:nth-child(3) { bottom: 0px; left: 0px; }
.loader .circle:nth-child(4) { bottom: 0px; right: 0px; }
.tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(245, 166, 35, 0.15); border: 1px solid rgba(245, 166, 35, 0.3); color: var(--color3); padding: 6px 14px; border-radius: 20px; font-size: 80%; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 1.5rem; }
@keyframes spin988 { 
  0% { transform: scale(1) rotate(0deg); }
  20%, 25% { transform: scale(1.3) rotate(90deg); }
  45%, 50% { transform: scale(1) rotate(180deg); }
  70%, 75% { transform: scale(1.3) rotate(270deg); }
  95%, 100% { transform: scale(1) rotate(360deg); }
}
a.btn-descendre.hidden-xs.hidden-sm img { object-fit: contain; display: block; position: absolute; margin-left: -8px; left: 50%; top: 14px; width: 16px !important; max-width: 16px !important; }
span.titre-secondaire1 { display: inline-block; background: rgba(45, 43, 113, 0.08); color: rgb(45, 43, 113); padding: 8px 14px 5px; border-radius: 20px; font-size: 14px; text-transform: uppercase; font-family: var(--font_family_1); letter-spacing: 1px; margin: 0px 0px 2vh; }
.stp-list p { display: none; opacity: 0.7; font-family: var(--font_family_1); font-size: var(--taille_font); color: var(--color3) !important; }
.stp-list .listAB { cursor: pointer; }
.stp-list span { display: flex; flex-direction: column; align-items: flex-start; gap: 0.2em; padding-top: 0.2em; }
.stepsAB { display: flex; flex-direction: row-reverse; padding: 2em 10%; overflow: hidden; justify-content: space-between; position: relative; }
.stepsAB.stepsAB2 { padding: 5em 0px 10em 10%; flex-direction: row-reverse; }
.stepsAB.atoAB { padding-bottom: 6em; }
.stepsAB::before { content: ""; position: absolute; width: 316px; height: 648px; background-image: url("../images/bg-2.png"); background-size: 100%; background-repeat: no-repeat; right: -90px; top: 51px; }
.stepsAB2::before { transform: scaleX(-1); right: unset; left: -90px; top: 8px; }
.body-gallery-2 .stepsAB { justify-content: center; overflow: visible; }
.stepsAB.atoAB { flex-direction: row-reverse; }
.stepsAB2 .stp-bg::after { content: ""; position: absolute; width: 210px; height: 240px; border: 2px solid var(--color1); left: -25px; z-index: -1; top: -25px; opacity: 1; }
.stp-txt { width: 50%; padding: 4em 4%; position: relative; }
.atoAB .stp-txt::before { left: -100%; top: -70px; rotate: 338deg; }
.atoAB .stp-txt { padding-left: 0px; }
.stp-txt h2 { text-align: left; margin-top: 0px; margin-bottom: 40px; line-height: 45px; }
.stp-txt h2::before { left: 0px; margin: 0px; opacity: 0; }
.stp-txt h2::after { display: none; }
.stp-txt .stp-list { display: flex; flex-direction: column; gap: 15px; margin-bottom: 1.3em; }
.slogan .titre b { color: var(--color3); }
.stp-list span { font-family: var(--font_family_2); font-size: calc(var(--taille_font)*1.2); transition: 0.3s; }
.stp-list span:hover { color: var(--color1) !important; }
.stp-list span div { color: var(--color1); font-size: 20px; font-family: var(--font_family_2); }
.stp-list span div p { color: var(--color3); font-size: 15px; font-family: var(--font_family_1); }
.at-img { width: 45px; margin-right: 20px; filter: invert(64%) sepia(58%) saturate(7047%) hue-rotate(279deg) brightness(103%) contrast(104%); }
.stp-list i { height: 1.7vw; width: 1.7vw; min-height: 1.7vw; min-width: 1.7vw; background-color: transparent; border-radius: 50%; text-align: center; padding-top: 0.4vw; color: var(--color1); margin-right: 10px; border: 2px solid var(--color1); transition: 0.3s; }
.stp-bg-p { width: 50%; height: auto; border-radius: var(--border-radius); }
.stp-bg { height: 100%; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center center; position: relative; transition: 0.3s; display: flex; align-items: center; justify-content: center; }
.stp-bg img { width: 25vw; }
.stepsAB2 .stp-bg { background-image: url("../images/at2.jpeg"); }
.atoAB .stp-bg { background-image: url("../../../images/galerie/medium/projet-vue-terrasse.jpg"); }
.stp-bg:hover { filter: none; }
.stp-bg-pAtt { height: 440px; width: 20%; }
.qsnAB-p1.stp-bg, .qsnAB-p2.stp-bg { height: 100%; width: 100%; }
.corps .page-contenu h2:first-of-type, .corps .gallery h2:first-of-type, .corps .seo-content h2:first-of-type, .corps .newsItem h2:first-of-type { position: relative; padding: 15px; font-size: calc(var(--taille_font) + .2rem); line-height: 1.2; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; font-weight: 700; z-index: 1; color: var(--color3); }
.corps .page-contenu h2:first-of-type::before, .corps .gallery h2:first-of-type::before, .corps .seo-content h2:first-of-type::before, .corps .newsItem h2:first-of-type::before { content: ""; position: absolute; background: var(--color3); width: 100%; height: 100%; opacity: 0.1; left: 0px; top: 0px; z-index: -1; border-radius: var(--border-radius); }
.corps .page-contenu h2, .corps .gallery h2, .corps .seo-content h2, .corps .newsItem h2 { margin-bottom: 2vh; }
.corps blockquote { font-size: inherit; background: var(--bg-facultatif); border-radius: var(--border-radius); border: 0px; padding: 3vh 2vw; margin: 3vh 0px; }
.alert.alert-warning.alert-dismissable { width: 100%; position: absolute; bottom: 0px; }
body, html { height: 100%; }
body { width: 100%; margin: 0px; padding: 0px; }
a { transition: color 0.3s ease-out; }
a img { border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; }
img { max-width: 100%; object-fit: cover; }
ul { list-style: inside none none; }
ol li, ul li { padding-left: 0px; position: relative; }
ul li::before { display: inline-block; content: ""; position: absolute; font-weight: 700; font-family: "Font Awesome 5 Free"; left: -15px; font-size: 14px; color: var(--color3); top: 0px; width: 9px; height: 16px; }
footer ul li::before { color: var(--color0); display: none; }
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 { border: 1px solid rgb(124, 124, 124); }
article, aside, footer, header, hgroup, main, nav, section { display: block; }
article.page.clear.node-1 .h1 { text-align: left; margin: 0px 0px 1.4vw; }
article.page.clear.node-1 .h1::before { left: 0px; margin: 0px; }
iframe { border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; }
[data-anim] { opacity: 0; }
.row { margin-right: 0px !important; margin-left: 0px !important; }
.nopad { padding-left: 0px; padding-right: 0px; }
.nopad-l { padding-left: 0px; }
.nopad-r { padding-right: 0px; }
.nomargin { margin: 0px; }
.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 { transform: translateZ(0px); }
.retrait { margin-left: -15px !important; margin-right: -15px !important; }
.transition { transition: 0.4s; transform: translateZ(0px); }
.cover { background-size: cover !important; }
hr.trait { height: 1px; margin: -0.5em 0px; padding: 0px; color: var(--color3); background-color: var(--color3); border: 0px; opacity: 0.4; }
.page-contenu img { margin: 10px; }
body { color: var(--color4); font-family: var(--font_family_1); font-size: 16px; background: var(--color0); }
.gallery.node-4 .row.ligne-photos.retrait { display: none; }
body.body-gallery.body-gallery-2 h1:first-of-type, body.body-gallery.body-gallery-4 h1:first-of-type, body.body-news-list.body-news-list-1 h1:first-of-type { display: none; }
.respAB { padding: 2em 10% 0em; }
.respAB span { text-align: center; }
.txtFrm { display: flex; align-items: center; gap: 2em; padding-top: 3em; }
.txtFrm span { width: 60%; }
.blcForm { padding: 3em 10% 5em; }
.listAB { display: flex; align-items: flex-start; }
.map-footer { position: relative; width: 50%; border-radius: var(--border-radius); overflow: hidden; }
.map-footer iframe { display: block; height: 100%; width: 100%; }
label.checkbox.label-rgpd { font-size: 0.5vw; }
.map-inter { background: white; position: relative; }
.services-container.services-flex { display: grid; gap: 1em; grid-template: "item1 item2 item3" 25vh "item1 item4 item3" 25vh "item5 item4 item7" 25vh "item6 item6 item8" 25vh / 1fr 1fr 1fr; width: 100%; }
.services-container.services-flex .service-item { overflow: hidden; position: relative; z-index: 1; }
.services-container.services-flex .service-item::before { content: ""; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background: linear-gradient(0deg, black, transparent); z-index: 1; opacity: 0.8; }
.services-container.services-flex .service-item .service-desc { position: absolute; bottom: 0px; width: 100%; text-align: left; padding: 1.7vw 1.5vw; text-shadow: black 0px 0px 9px; z-index: 9; }
.services-container.services-flex .service-item .service-desc a { color: var(--color0); text-decoration: none; font-size: 0.7vw; text-transform: uppercase; letter-spacing: 0.1vw; }
.services-container.services-flex .service-item .service-desc a:hover { letter-spacing: 0px; }
.services-container.services-flex .service-item img { position: absolute; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.services-container.services-flex .service-item * { transition: 0.4s ease-in-out; }
.services-container.services-flex .service-item .service-desc h2 { color: white; font-size: 1.2vw; line-height: 1.2vw; letter-spacing: 2px; }
.service-cont { height: 100%; }
.services-container.services-flex .service-item:hover img { transform: scale(1.1); filter: brightness(0.8); }
.r-img { width: 45%; position: relative; top: 2vw; left: 0vw; }
.r-img .row { height: 100%; }
.r-img img { border-radius: var(--border-radius); }
.r-text { width: 55%; }
article.page.clear.node-1.mCustomScrollbar { max-height: 50vh; }
.r-flex { display: flex; gap: 2vw; flex-direction: row-reverse; align-items: center; justify-content: start; }
.images-f { width: 100%; position: relative; height: 100%; border-radius: var(--border-radius); }
@keyframes upDown { 
  0% { transform: scale(1); }
  100% { transform: scale(1.3); }
}
.row.r-flex { display: flex; align-items: center; flex-direction: row; gap: 30px; position: relative; }
.row.r-flex .col-md-5 { top: 50px; }
.propor.pic-1 { height: 65vh; z-index: 1; top: -1vh; left: initial; overflow: visible; width: 100% !important; }
.r_name { font-size: 22px; width: 260px; height: 110px; display: flex; flex-direction: row; align-items: center; justify-content: center; position: absolute; background: var(--color2); right: 36px; bottom: -20px; z-index: 9; color: var(--color0); text-align: left; font-family: var(--font_family_2); gap: 10px; line-height: initial; padding: 20px; border-radius: var(--border-radius); margin: 0px; }
.r_name::before { content: ""; position: absolute; height: 84%; width: 93%; border-radius: 20px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.r_name span { position: relative; display: block; font-size: 40px; }
.propor.pic-2 { bottom: -30px; left: 18px; z-index: 1; outline: rgb(255, 250, 246) solid 20px; position: absolute !important; width: 50% !important; height: 40vh !important; }
.propor.pic-2 .propor-cont { border-radius: var(--border-radius); }
.propor.pic-2::before { content: ""; position: absolute; height: 140px; width: 120px; background: url("../images/formLogo.png") center center / contain no-repeat; top: -180px; left: 10px; }
.propor.pic-1::after { content: ""; position: absolute; height: 5vw; width: 5vw; background: url("../images/sparkler.svg") center center / contain no-repeat; bottom: -110px; left: 90px; z-index: 4; padding-top: 0px !important; }
a, a:link, a:visited { color: var(--color4); }
a:hover { text-decoration: underline; }
.corps a:hover { color: var(--color1); }
a:active { outline: 0px; }
.h1, .h2, .h3, h1, h2, h3, h4, h5, h6 { color: var(--color2); font-family: var(--font_family_2); font-weight: 500; text-transform: none; }
.h1, h1 { font-size: 2.1vw; line-height: 1.3; color: var(--color2); text-align: center; margin-bottom: 4vh; position: relative; letter-spacing: -0.5px; font-weight: 700; }
.h1::before, h1::before { content: ""; width: 75px; position: absolute; bottom: -15px; left: 50%; margin-left: -37px; height: 2px; }
.h2, h2 { font-size: calc(var(--taille_font) * 2); }
.h3, h3 { font-size: calc(var(--taille_font) * 1.5); }
h4 { font-size: calc(var(--taille_font) * 1.6); }
h5 { font-size: calc(var(--taille_font) * 1.4); }
h6 { font-size: calc(var(--taille_font) * 1.2); }
.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: 2.1vw; line-height: 1.1; margin: 0px; font-weight: 200; color: var(--color2); display: block; text-transform: initial; font-family: var(--font_family_2); }
.prestation .cell.texte .contenu span.titre-secondaire { font-size: 20px; }
.r-flex .h1, .r-flex span.titre-secondaire { text-align: left; margin: 0px 0px 20px; }
.badge-optionnel { position: absolute; top: 0px; right: 0px; display: none; background: url("../images/badge-optionnel.png") right top no-repeat; width: 139px; height: 139px; }
.bg-optionnel { background: url("../images/bg-optionel.svg") center top / 60px repeat; }
.bg-optionnel-gris { background-size: 60px; }
.hvr-shutter-out-horizontal { display: inline-block; vertical-align: middle; transform: translateZ(0px); box-shadow: rgba(0, 0, 0, 0) 0px 0px 1px; backface-visibility: hidden; position: relative; background: var(--color2); transition-property: color; transition-duration: 0.3s; color: var(--color0); }
.hvr-shutter-out-horizontal.dark { background-color: var(--color2); color: var(--color0); }
.hvr-shutter-out-horizontal.active { background-color: var(--color1); }
.hvr-shutter-out-horizontal::before { content: ""; display: block; position: absolute; inset: 0px 0px 0px -15%; width: 0px; height: 106%; background: var(--color3); transform: skew(45deg); transition: 0.4s ease-in-out; z-index: -1; }
.hvr-shutter-out-horizontal.dark::before { background-color: var(--color2); }
.hvr-shutter-out-horizontal:active, .hvr-shutter-out-horizontal:focus, .hvr-shutter-out-horizontal:hover, a.hvr-shutter-out-horizontal:active, a.hvr-shutter-out-horizontal:focus, a.hvr-shutter-out-horizontal:hover { color: var(--color0); border-color: var(--color3); background: var(--color3); }
.hvr-shutter-out-horizontal:active::before, .hvr-shutter-out-horizontal:focus::before, .hvr-shutter-out-horizontal:hover::before { width: 100%; transform: skew(0deg); left: 0px; }
p.bouton-principal, a.bouton-principal, button.bouton-principal { text-align: center; font-family: var(--font_family_1); text-decoration: none; padding: 15px 20px; font-size: 0.9vw; text-transform: initial; border-radius: var(--border-radius); overflow: hidden; transition: 0.3s; min-width: 10vw; border: 1px solid var(--color2); color: var(--color0) !important; }
a.bouton-principal.show-all-service { margin-top: 1em; background-color: var(--color1); width: fit-content; }
a.bouton-principal.show-all-service:hover { background-color: var(--color4); border-color: var(--color4); }
a.bouton-principal::after, button.bouton-principal::after { right: 15px; top: 50%; font-family: "Font Awesome 5 Free"; font-size: 23px; color: var(--color0); font-weight: 700; transform: translateY(-50%); z-index: 9900; position: absolute; }
.btn-news a.bouton-principal, .btn-news button.bouton-principal, .btn-service a.bouton-principal, .btn-service button.bouton-principal { }
.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 { min-width: auto; margin: 1vw 0px; }
.body-page-1 .corps a.bouton-principal:hover { }
.main-page { position: relative; overflow: hidden; }
.tete { position: fixed; left: 0px; right: 0px; z-index: 9000; transition: 0.3s; backdrop-filter: blur(4px); border-bottom: 1px solid rgba(255, 255, 255, 0.07); }
.header { display: flex; width: 100%; align-items: center; padding: 0px 7%; backdrop-filter: blur(10px); }
.tete .header .flex-logo { width: 20%; }
.tete .header .flex-infos { width: 20%; height: 100%; }
.tete .logo-site { margin: 0px; }
.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: 12vw; filter: brightness(0) invert(1); transition: 0.3s; }
.fixed .logo-site a img { filter: none; content: url("../images/logo.png"); }
.tete .header .flex-infos .infos { display: flex; width: 100%; justify-content: flex-end; align-items: center; flex-wrap: nowrap; }
.tete .infos .tel { display: inline-block; font-size: 0.9vw; color: var(--color0); text-align: center; margin: 0px 1rem 0px 0px; background: var(--color2); border-radius: var(--border-radius); transition: 0.5s; white-space: nowrap; text-transform: initial; border: 1px solid var(--color2); backdrop-filter: blur(5px); font-family: var(--font_family_1); line-height: 1.1; overflow: hidden; padding: 0.6vw 1.1vw !important; }
.fixed .infos .tel { text-align: center; }
.fixed .btn-liens-rs .btnrs svg { fill: rgb(0, 0, 0); }
.fixed .infos .tel span { text-align: center; }
.cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal a { color: var(--color0); text-align: center; }
.cta { display: flex; flex-wrap: wrap; place-content: start center; column-gap: 10px; height: 100%; margin: 2em 0px; align-items: start; text-align: start; }
.body-page1 .cta { justify-content: start; }
.body-page-1 .cta { justify-content: start; }
.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: 0px; display: inline-flex; text-transform: inherit; overflow: hidden; place-content: center; align-items: center; border-radius: var(--border-radius); padding: 15px 20px; }
.cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal span { font-size: 100%; text-align: center; min-width: auto; }
.cta a.bouton-principal, .cta .tel-header { display: inline-flex; place-content: center; align-items: center; background: var(--color2); backdrop-filter: blur(5px); border: 1px solid var(--color2); color: var(--color0); font-weight: lighter; padding: 15px 20px; }
.cta a.bouton-principal:hover, .cta .tel-header:hover { background: transparent; border-color: var(--color3); color: rgb(255, 255, 255) !important; }
a.bouton-principal.hvr-shutter-out-horizontal.hidden-sm.hidden-xs { }
.callTracker:not(.active) a:hover, .callTracker:not(.active):hover { color: var(--color0); }
.contact .callTracker:not(.active) a:hover, .contact .callTracker:not(.active):hover { color: black; }
.tete .infos .tel a { color: inherit; text-decoration: none; }
.header-phone { display: inline-flex; align-items: center; justify-content: center; }
.header-phone .icones { margin: 0px 8px 0px 0px; fill: var(--color1); width: 25px; height: 25px; }
.imagecont.noflicker.img1 { display: block; margin: 1vh 0px 2vh; height: 30vh; overflow: hidden; }
.sidebar-scroll-right .callTracker { width: 100%; height: 50px; }
.callTracker { position: relative; }
.callTracker a, .callTracker span { display: inline-block; padding: 0px; height: 100%; text-decoration: none; }
.callTracker .t_phone { opacity: 0; display: none; }
.callTracker .t_affiche { cursor: pointer; }
header .callTracker a, header .callTracker span { top: 5px; }
.callTracker.active .t_phone { opacity: 1; display: inline-block; }
header .callTracker.active .t_phone { text-align: center; }
.callTracker.active .t_affiche { opacity: 0; display: none; }
.coordonnees .callTracker a, .pied .callTracker a { position: relative; left: 0px; }
.tete .infos .callTracker:not(.active) a:hover, .tete .infos .callTracker:not(.active):hover { color: var(--color0); background: var(--color3); border: 1px solid var(--color3); }
.tete .widget-partage { display: none; }
.btn-partage .btnp { width: 1.875vw; height: 1.875vw; border-radius: 36px; background-repeat: no-repeat; background-position: center center; display: flex; transition: 0.4s; text-align: center; justify-content: center; align-items: center; }
.tete .infos.infos_small .btn-partage .btnp { width: 29px; height: 29px; }
.btn-partage .btnp:hover { transform: rotate(360deg); }
.copyright { text-align: justify; }
.tete .btn-partage { padding: 0px; display: flex; gap: 0.4vw; }
.tete .header .flex-menuP { width: 60%; }
.navh .menu_principal { margin: 0px auto; padding: 0px; display: table; }
.navh .menu_principal > li { position: relative; display: table-cell; vertical-align: middle; text-align: center; padding: 0px 1vw; background: 0px 0px; }
.navh .menu_principal > li::before { content: none; }
.navh .menu_principal > li:last-child { background: 0px 0px; }
.navh .menu_principal a, .navh .menu_principal a:visited { position: relative; color: var(--color0); display: block; font-size: 0.833vw; padding: 1.771vw 0px; font-weight: normal; text-decoration: none; font-family: var(--font_family_1); transition: 0.4s; }
.navh .menu_principal .active a, .navh .menu_principal a:hover { color: var(--color0); }
.fixed .navh .menu_principal a, .fixed .navh .menu_principal a:visited { color: var(--color4); }
.navh .menu_principal a::after { content: ""; position: absolute; width: 0px; height: 1px; background: var(--color0); left: 50%; bottom: 20px; transition: 0.5s; transform: translateX(-50%); }
.navh .menu_principal a:hover::after, .navh .menu_principal li.active > a::after { width: 50px; }
.fixed .navh .menu_principal a:hover::after, .fixed .navh .menu_principal li.active > a::after { background: black; }
.icone-share { display: none; }
.btn-partage .icones { width: 1vw; margin: 0px; height: 1.2vw; padding: 0px; position: relative; left: 0px; fill: var(--color0); }
.fixed .btn-partage .icones, .fixed .btn-partage .btnp:hover .icones { fill: var(--color4); }
.services { display: block; width: 100%; position: relative; z-index: 8000; background: var(--color0); }
.body-page-1 .services::before { content: ""; position: absolute; height: 50%; width: 100%; bottom: 0px; left: 0px; }
.body-service-list .services { }
.swiper-navigation { position: relative; display: flex; flex-direction: row; width: 10px; margin: 50px auto 0px; align-items: center; text-align: center; justify-content: center; }
.atout .swiper-navigation { margin-top: 30px; }
.services .swiper-navigation { margin-top: 50px; }
.swiper-button-prev i, .swiper-button-next i, .banniere .swiper-button-prev i, .banniere .swiper-button-next i { font-size: 20px; color: var(--color0); }
.swiper-button-prev i, .swiper-button-next i { color: var(--color2); }
.services .swiper-button-prev i, .services .swiper-button-next i { }
.swiper-button-prev, .swiper-button-next, .swiper-button-prev1, .swiper-button-next1 { position: absolute; height: 50px; width: 50px; border: transparent; display: flex; justify-content: center; align-items: center; color: var(--color2); background: rgb(228, 225, 234); border-radius: 50%; }
.swiper-button-prev i, .swiper-button-next i, .swiper-button-prev1 i, .swiper-button-next1 i { font-size: 18px; }
.swiper-button-prev1, .swiper-button-prev { left: -50px; }
.swiper-button-next1, .swiper-button-next { right: -50px; }
.services .swiper-button-prev, .services .swiper-button-next { }
.body-page-1 .services, .body-pageseo .services { padding: 5rem 9% 10rem; background: var(--color0); }
.body-page-1 .services::before { }
.body-page-1 .services::after { content: ""; position: absolute; left: 0px; bottom: 0px; background-size: contain; height: 20px; width: 100%; }
.body-page-1 .services h2, .body-pageseo .services h2, .body-page-1 .services h2 span, .body-pageseo .services h2 span { }
.body-page-1 .services h2::before, .body-pageseo .services h2::before { }
.btn-service { text-align: center; margin: 10px 0px; }
.card-img, .img-service img, .liste-services, .swiper-container1 { width: 100%; position: relative; }
.service-card:hover a.btn-card { display: flex; transition: 0.3s; }
.card-img::before { background-image: linear-gradient(2deg, rgba(0, 0, 0, 0.65), transparent); position: absolute; height: 100%; width: 100%; content: ""; left: 0px; }
.liste-services { margin: 0px auto; }
.liste-services .swiper-container { overflow: clip visible; }
@media (min-width: 1200px) {
  .container-service { }
}
.service-card:hover { transform: translateY(-5px); border-radius: var(--border-radius); }
.card-body { padding: 0px 2rem 2rem; text-align: start; position: absolute; bottom: 20px; z-index: 1; width: 100%; }
.card-body a.btn-card { width: 100%; }
a.btn-card { z-index: 2; text-transform: initial; font-size: 0.9vw; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; background: transparent; color: var(
    --color0); padding: 0px; overflow: visible; font-family: Poppins-Light; display: flex; justify-content: flex-start; align-items: center; min-width: fit-content; transition: 0.3s linear; text-decoration: none !important; }
.card-body a.btn-card::before { content: ""; position: relative; width: 16px; height: 1px; background: var(--color0); margin-right: 11px; display: inline-block; top: 1px; transition: 0.4s; z-index: 10; transform: scaleX(1); }
.service-card:hover .card-body a.btn-card::before { }
.card-body a.btn-card:hover::before { width: 32px; transform: initial; transform-origin: initial; }
a.btn-card.bouton-principal.service-all { height: 100%; width: 100%; z-index: 1; inset: 0px; }
.btn-card:hover::before { background: var(--bg-facultatif2); border-radius: 50%; transform: none; transition: none; }
.card-title h3 { font-size: 1.1vw; letter-spacing: 0px; line-height: initial; color: var(--color0); text-align: left; padding-right: 10px; min-height: auto; }
.navigation_box { position: relative; display: flex; flex-direction: row; width: 70px; margin: 15px auto 0px; align-items: center; text-align: center; justify-content: center; padding: 10px 5px; }
.service-card:hover img { transform: scale(1.1); transition: 0.3s; }
.swiper-container1, .swiper-container3, .swiper-container, .Atout-AT .swiper, .avisSwiper { margin: 0px auto; overflow: clip visible; list-style: none; padding: 0px; z-index: 1; height: 100%; }
.Atout-infos p { font-size: 15px; font-family: var(--font_family_1); text-align: left; opacity: 0.8; }
.img-service img { height: 60vh; border-radius: 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; object-fit: cover; transition: 0.3s; }
.liste-services .swiper-wrapper { padding: 10px 0px; }
.service-card { width: 100%; overflow: hidden; margin: 0px; position: relative; z-index: 0; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; transform: translateY(0px); border-radius: var(--border-radius); display: block !important; height: fit-content !important; transition: 0.3s !important; }
.service-card::before { background-image: linear-gradient(360deg, rgba(45, 43, 113, 0.65), rgba(45, 43, 113, 0.53)); position: absolute; height: 100%; width: 100%; content: ""; z-index: 1; opacity: 0.5; }
.service-card:hover::before { opacity: 1; }
.atout-item__text { color: rgb(147, 147, 147); margin-top: 20px; }
.atout { position: relative; padding: 5vh 10% 10vh; background: rgb(250, 248, 255); }
.atouts1 { display: flex; gap: 1%; position: relative; z-index: 100; }
.atouts2 { width: 25%; }
.icon { border: 1px solid rgb(238, 238, 238); padding: 10px; border-radius: 50%; background: rgba(222, 219, 229, 0.79); }
.atout::before { content: ""; background-image: url("../images/bg-wave.svg"); background-repeat: no-repeat; background-size: cover; position: absolute; width: 100%; height: 100%; left: 0px; z-index: 0; top: 0px; opacity: 0.5; }
.Atout-contenu { justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap; }
.Atout-contenu .Atout-box { display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 2vh 1vw; gap: 14px; border-radius: var(--border-radius); background: rgb(250, 248, 255); margin-bottom: 10px; align-items: flex-start; border: 1px solid rgba(197, 190, 190, 0.33); min-height: 250px; }
.Atout-contenu .Atout-box span { font-size: 2vw; font-family: var(--font_family_2); color: var(--color2); }
.Atout-img { width: 40%; border-radius: var(--border-radius); overflow: hidden; }
.Atout-img img { height: 82vh; width: 100vw; }
.Atout-box img { height: auto; width: 41px; object-fit: contain; aspect-ratio: 1 / 1; color: rgb(from var(--typo-titre) r g b / 0.5); fill: rgb(from var(--typo-titre) r g b / 0.5); z-index: 7; opacity: 0.5; }
.Atout-box h3 { font-size: 1vw; width: 100%; color: var(--color3); margin-top: 10px; font-family: var(--font_family_1); text-align: left; }
.AvisClientsBg, .realisations { position: relative; z-index: 8000; text-align: center; padding: 3em 10% 4em; }
.AvisClientsBg { background: rgb(250, 248, 255); }
.AvisClientsBg .text-center { margin-bottom: 4vh; margin-top: 0px; }
.avis-item { position: relative; display: block; padding: 0px 10px; }
.avis-flex { display: flex; justify-content: center; margin-top: 20px; width: 100%; }
.swiper.avisSwiper.swiper-container-horizontal { overflow: hidden; padding: 10px; margin-top: 2em; }
.fixed.tete { background: var(--color0); border-bottom: 1px solid rgba(211, 211, 224, 0.16); box-shadow: rgba(17, 12, 46, 0.1) 0px 8px 50px 0px; }
.slogan { position: relative; color: var(--color0); width: 100%; padding: 0px 4%; margin: 0px; text-align: center; z-index: 2; top: 50px; }
.slogan h1 { position: relative; color: var(--color0); width: 100%; margin: 0px; text-align: center; z-index: 2; }
.cta a.bouton-principal { border: 1px solid var(--color0); background: transparent; }
.h1.slogan::before, .slogan h1::before { content: ""; width: 0px; height: 0px; background: 0px 0px; position: inherit; bottom: inherit; left: inherit; display: none; }
a.bouton-principal.hvr-shutter-out-horizontal.hidden-sm.hidden-xs i { margin-left: 9px; transition: 0.4s ease-in-out; }
.slogan .titre { font-size: 3vw; font-family: var(--font_family_2); text-transform: none; line-height: 1.2; color: var(--color0); display: block; }
.slogan .titre span { font-size: 48px; }
.slogan .sous-titre { display: block; font-size: 1vw; font-family: var(--font_family_1); line-height: 2vw; font-weight: 200; text-transform: initial; letter-spacing: normal; color: var(--color0); width: 80%; text-wrap: balance; opacity: 0.7; }
.body-page-1 .slogan { padding: 0px 0%; position: absolute; top: 40vh; left: 7%; text-align: start; align-items: start; width: 50%; }
.video-accueil { position: relative; top: 0px; width: 100%; }
.video-accueil video { width: fit-content; height: 70vh; vertical-align: top; z-index: 1; position: relative; }
.video-accueil .banniere { z-index: 0; }
.banniere { margin-left: 0px; height: 100%; left: 0px; width: 100%; display: flex; justify-content: flex-start; align-items: center; background-position: center center; position: absolute !important; top: 0px !important; }
@keyframes zoomAB { 
  0% { scale: 1; }
  50% { scale: 1.3; }
  100% { scale: 1; }
}
.banniere .mySwiper-bann img { animation: 30s ease 0s infinite normal none running zoomAB; }
.banniere .swiper { width: 100%; height: 100%; overflow: hidden; position: relative; }
.banniere .swiper-wrapper { display: flex; }
.banniere .swiper-slide { text-align: center; font-size: 18px; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 30px; }
.banniere .swiper-slide i { font-size: 70px; color: var(--color5); }
.banniere .swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.swiper-button-prev, .swiper-button-next { color: rgb(65, 78, 71); border-color: var(--color2); }
.mySwiper-bann .swiper-button-prev, .mySwiper-bann .swiper-button-next { background: rgba(255, 255, 255, 0.16); backdrop-filter: blur(15px); height: 60px; width: 60px; display: flex; justify-content: center; align-items: center; color: var(--color0); margin: 0px 80px; border-radius: 50%; border: 1px solid rgba(238, 238, 238, 0.32); }
.banniere .swiper-pagination { flex-direction: column; right: 100px; width: max-content; left: unset; top: 57%; bottom: unset; transform: translateY(-50%); gap: 8px; align-items: end; justify-content: center; height: 100%; padding-bottom: 40px; opacity: 0; display: none; }
.banniere span.swiper-pagination-bullet { height: 3px; border-radius: 0px; width: 27px; opacity: 1; background: white; transition: 0.3s; margin: 8px 0px !important; }
.banniere span.swiper-pagination-bullet.swiper-pagination-bullet-active { width: 50px; background: var(--color1); }
.bannSwiper .swiper-button-next, .bannSwiper .swiper-button-prev { width: 40px; height: 40px; border: 1px solid white; display: flex; align-items: center; justify-content: center; z-index: 9999; opacity: 0.6; transition: 0.4s; }
.hide-print.banniere.cover video { position: absolute; width: 100%; height: 100%; left: 0px; top: 0px; object-fit: cover; }
.banniere::after { content: ""; background: rgba(0, 0, 0, 0.48); width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; z-index: 1; display: block; }
.banniere::before { content: ""; position: absolute; z-index: 2; width: 100%; height: 100%; backdrop-filter: blur(7px); pointer-events: none; }
.banniere img {position: absolute;top: 0px;left: 0px;object-fit: cover;max-width: 100%;height: auto;width: 100%;}
.body-page-1 .banniere::before { content: none; }
.btn-descendre, a.btn-descendre { width: 60px; height: 60px; position: absolute; display: flex; text-decoration: none; align-items: center; place-content: center; background: transparent; backdrop-filter: blur(10px); border: 1px solid var(--color0); border-radius: 100px; margin-top: 7vh; left: 50%; bottom: 3%; transform: translateX(-50%); z-index: 3; }
.btn-descendre::after { content: ""; position: absolute; left: 0px; top: 0px; transform: translateX(-50%) translateY(-50%); display: block; width: 60px; height: 60px; border-radius: 50%; animation: 1.5s ease-out 0s infinite normal none running pulse-border; background: rgb(255, 255, 255); z-index: -1; }
@keyframes pulse-border { 
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(1.8); opacity: 0; }
}
.btn-descendre i { font-size: 24px; color: var(--color0); }
.fluid-contenu { position: relative; z-index: 10; background: var(--color0); }
.fluid-contenu .corps { padding: 5vw 10% 6vw; background: var(--color0); }
.body-page-1 .fluid-contenu .corps { padding: 5vw 10%; background: rgb(255, 250, 246); }
.page-contenu-home { position: relative; display: block; }
.recup-photos .propor .propor-cont .imagecont { position: absolute; inset: 0px; overflow: hidden; border-radius: var(--border-radius); }
.recup-photos .propor .propor-cont .imagecont img { object-fit: cover; min-width: 100%; min-height: 100%; width: 100%; height: 100%; flex: 1 1 0%; }
.recup-photos .propor { width: 100%; position: relative; margin-bottom: 10px; border-radius: var(--border-radius); }
.recup-photos .propor::after { padding-top: 78%; display: block; content: ""; }
.recup-photos .propor .propor-cont { position: absolute; inset: 0px; overflow: hidden; border-radius: var(--border-radius); }
.recup-photos .propor .propor-cont .imagecont .imagefond { 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: 0px; left: 0px; opacity: 0; width: 100%; height: 100%; transition: 0.5s; background-color: rgb(0, 0, 0); background-image: url("../images/ico-zoom.svg"); background-repeat: no-repeat; background-position: center center; border-radius: var(--border-radius); }
.recup-photos .propor .propor-cont .imagecont:hover .masque { opacity: 0.7; }
.recup-photos .propor .propor-cont .imagecont:hover .imagefond { transform: scale(1.15); }
.certifSwiper .swiper-wrapper { transition-timing-function: linear !important; }
.certifs { display: inline-block; width: 100%; position: relative; z-index: 8000; background: var(--color0); padding: 6vh 10%; }
.certifs .cell.gauche { display: block; }
.certifs .cell.gauche .contenu { }
.certifs .cell.droite { position: relative; display: block; padding: 1vw 2% 2vw; }
.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; background-size: 100%; background-color: var(--color0); width: 100%; height: 16vh; border: 1px solid rgb(238, 238, 238); }
.certifs .swiper-slide img { width: 100%; height: 5vw; position: relative; display: block; }
.certifs .swiper-button-prev { background-image: none; left: 0px; margin-top: -22px; opacity: 0.8; }
.certifs .swiper-button-next { background-image: none; right: 0px; margin-top: -22px; opacity: 0.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; background-size: 60%; 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; min-width: 100%; min-height: 100%; width: auto; flex: 1 1 0%; height: 100%; }
.actualites { display: table; width: 100%; position: relative; z-index: 8000; padding: 6em 10%; background: rgb(250, 248, 255); }
.actualites article { width: 100%; display: flex; }
.actualites .cell.photo { display: block; vertical-align: top; width: 50%; background-position: center center; border-radius: var(--border-radius); }
.actualites .cell.photo:hover { opacity: 0.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-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; background: var(--color0); position: relative; left: -1vw; border-radius: var(--border-radius); top: 4vh; margin: 0px 0px 8vh; }
.actualites .cell.texte .contenu { padding: 3em 5%; text-align: justify; direction: ltr; }
.actualites .cell.texte .contenu .h1, .actualites .cell.texte .contenu .h1 .titre-secondaire { text-align: left; }
.actualites .cell.texte .contenu ul { padding: 0px; margin: 0px; }
.actualites .cell.texte .contenu ul li { padding: 5px 0px 5px 20px; background: url("../images/puce.svg") 0px 9px no-repeat; }
.actualites .cell.texte .contenu ul li .bouton-principal { display: block; }
.view-btn-all { position: relative; display: table; margin: 2vw 0px; }
.view-btn-all i { margin-left: 8px; font-size: 14px; }
.actualites .date_post, .news .date-article { font-size: 0.8vw; font-weight: 700; color: var(--color1); text-align: start; }
.newsButtons { display: flex; justify-content: space-between; text-align: start; flex-flow: column wrap; align-items: flex-start; gap: 2vh; }
.newsButtons a.bouton-principal { margin: 0px; }
.news .ligne-actus .date-article { margin-top: 18px; margin-bottom: 0px; }
.news .ligne-actus .contenu-article { margin-top: 0px; }
.news .contenu-article { margin-top: 21px; }
.AvisClientsBg .bx-prev { left: -2vw; }
.AvisClientsBg .bx-prev::before { display: inline-block; content: ""; font-weight: 700; font-family: "Font Awesome 5 Free"; font-size: 23px; color: var(--color0); }
.AvisClientsBg .bx-next { right: -2vw; }
.AvisClientsBg .bx-next::before { display: inline-block; content: ""; 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: 0px; display: flex; align-items: center; text-decoration: none; margin-top: -55px; justify-content: center; opacity: 0.7; transition: 0.5s; }
.AvisClientsBg .bx-next:hover, .AvisClientsBg .bx-prev:hover { opacity: 1; }
.AvisClientsBg .contenu .bx-viewport { padding: 28px 0px 45px; display: block; height: auto !important; }
.AvisClientsBg.bg-optionnel-gris .h1 { color: var(--color0); }
.etoiles .fa { color: var(--color3); }
.AvisClientsList { margin: 0px; padding: 0px; }
ul#AvisClientsList .swiper-navigation { margin-bottom: 20px; }
.AvisClientsList li { list-style: none; background: 0px 0px; }
.AvisClientsList li::before { content: none; }
.avisClientsBg .h { text-align: center; }
.AvisClients, .AvisClients:link, .AvisClients:visited { position: relative; padding: 2rem 7%; display: block; text-decoration: none; margin: 0px; width: 100%; text-align: left; background: rgb(250, 248, 255); border: 1px solid rgba(211, 211, 224, 0.92); border-radius: var(--border-radius); }
.avis-flex a.transition.AvisClients { max-width: 34vw; }
a.transition.AvisClients:hover p.avisContent i { color: var(--color4); }
a.transition.AvisClients::before { content: ""; position: absolute; bottom: -1px; left: 0px; height: 1px; width: 0%; transition: 0.4s; }
a.transition.AvisClients:hover::before { width: 100%; }
.AvisClients:active, .AvisClients:hover { background-color: var(--color0); }
.AvisClients .h { font-size: 18px; color: var(--color1); text-transform: initial; font-weight: 100; margin-bottom: 10px; font-family: var(--font_family_2); text-align: left; }
.AvisClients p { font-size: 0.8vw; line-height: 1.5; margin-bottom: 0px; color: var(--color1); padding-top: 15px; text-align: left; min-height: 110px; opacity: 0.8; }
p.avisContent i { color: rgb(190, 190, 190); margin: 0px 7px; transition: 0.2s; }
.AvisClients .blazy { font-size: 16px; color: var(--color0); width: 128px; margin: 0px auto 20px -64px; border-radius: 50%; position: absolute; top: -70px; left: 50%; background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; background-color: var(--color0); }
.AvisClientsBg .bx-pager { bottom: 17px; }
.avisContent::before { content: "«"; display: none; margin-right: 5px; }
.avisContent::after { content: "»"; margin-left: 5px; display: none; }
.temoignageScroll { text-align: left; overflow: hidden; }
.temoignageScroll .scrollbar-content { padding: 0px 10px 0px 0px; width: 100%; }
.temoignageScroll .scrollbar-path-vertical { right: 0px; }
.date_post { font-size: 15px; padding: 4px 0px; color: var(--color1); text-align: left; }
.date_post i { margin-right: 8px; }
.AvisClientsBg .bx-controls.bx-has-pager { display: block; position: relative; height: 70px; }
.livre-elements { padding: 0px 5%; margin-bottom: 40px; text-align: center; }
.livre-elements .livre-ligne { position: relative; display: flex; flex-wrap: wrap; width: 100%; justify-content: space-between; }
.livre-elements .blazy { margin: 0px 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; text-align: center; text-transform: uppercase; font-weight: 600; }
.livre-elements .date { color: var(--color0); display: none; margin-bottom: 2px !important; }
.livre-elements .etoiles { margin-bottom: 0px !important; }
.livre-elements .temoignage { text-align: center; display: block; margin-top: 20px; }
.livre-elements .temoignage::before { content: "«"; display: inline-block; margin-right: 5px; }
.livre-elements .temoignage::after { content: "»"; display: inline-block; margin-left: 5px; }
.divAvis { padding: 25px 27px; margin-bottom: 3rem; border-radius: var(--border-radius); width: 48%; background: rgba(245, 245, 245, 0.47); }
.btn-avis { margin-bottom: 30px; }
.modal-content a, .modal-content a:link, .modal-content a:visited { 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 scroll; position: fixed; inset: 0px; outline: 0px; z-index: 9999; font-size: 16px; color: var(--color0); }
.modal-backdrop.in { z-index: 0; }
.modal-open .modal { z-index: 99997; background: rgba(0, 0, 0, 0.2); color: var(--color4); text-shadow: none; font-family: Arial, Helvetica, sans-serif; }
.modal-content .btn-close { border: 0px; background: 0px 0px; padding: 0px; font-size: 21px; color: var(--color1); opacity: 0.5; line-height: 1; }
.modal-content .form-control { min-height: 44px; border-radius: 2px; }
.modal-content .btn-close:focus, .modal-content .btn-close:hover { opacity: 0.5; }
.modal-content .submit-review { padding-right: 60px !important; }
.modal-content label.control-label { display: none; padding-top: 0px !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: 0px 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 rgb(204, 204, 204); color: var(--color4); border-radius: 2px; }
.modal-content .form-control::placeholder { color: var(--color2) !important; opacity: 1; }
#add-review .submit-review { float: none; display: block; background-image: none; margin: 15px auto !important; padding: 14px 15px !important; }
#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; display: block; clear: both; color: var(--color4) !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: 0px; right: 0px; text-align: center; }
.cont-slider .controls ol { margin: 0px; padding: 0px; list-style-type: none; }
.cont-slider .controls ol li { display: inline-block; background: 0px 0px; padding: 0px; }
.cont-slider .controls ol li a { display: block; width: 10px; height: 10px; background: var(--color2); margin: 0px 5px; border-radius: 10px; opacity: 0.5; }
.cont-slider .controls ol li.current a { opacity: 1; }
.cont-slider .controls ol li a span { display: none; }
.centerservice2 { margin: 0px 16% !important; }
.centerservice { margin: 0px 33% !important; }
.body-page-1 .realisations::before { content: ""; position: absolute; background-image: url("../images/shape1.svg"); background-repeat: no-repeat; background-size: 100%; width: 780px; height: 620px; right: -150px; top: 40px; }
.realisations .row.gallery { display: grid; grid-template: "item1 item1 item2 item3" 35vh "item4 item5 item6 item6" 35vh / 1fr 1fr 1fr 1fr; gap: 10px; }
.row.recup-photos.gallery .col-md-3 { width: 100%; padding: 0px; margin: 0px; height: 100%; }
.realisations .row.recup-photos.gallery .col-md-3:nth-child(1) { grid-area: item5; }
.realisations .row.recup-photos.gallery .col-md-3:nth-child(2) { grid-area: item2; }
.realisations .row.recup-photos.gallery .col-md-3:nth-child(3) { grid-area: item3; }
.realisations .row.recup-photos.gallery .col-md-3:nth-child(4) { grid-area: item4; }
.realisations .row.recup-photos.gallery .col-md-3:nth-child(5) { grid-area: item1; }
.realisations .row.recup-photos.gallery .col-md-3:nth-child(6) { grid-area: item6; }
.realisations .recup-photos .propor { width: 100%; position: relative; height: 100%; padding: 0px; margin: 0px; }
.realisations .row.recup-photos.gallery .col-md-6 { padding: 10px; margin: 0px; }
.news .propor, .realisations .galerie .propor { width: 100%; position: relative; margin-bottom: 10px; }
.news .propor::after, .realisations .galerie .propor::after { padding-top: 78%; display: block; content: ""; }
.news .propor .propor-cont, .realisations .galerie .propor .propor-cont { position: absolute; inset: 0px; }
.news .propor .propor-cont .imagecont, .realisations .galerie .propor .propor-cont .imagecont { height: 100%; display: block; width: 100%; overflow: hidden; position: relative; transform: translateZ(0px); }
.news .propor .propor-cont .imagecont .imagefond, .realisations .galerie .propor .propor-cont .imagecont .imagefond { 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: 0.4s; display: block; position: absolute; top: 0px; left: 0px; 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: 0.8; }
.news .propor .propor-cont .imagecont:hover .imagefond, .realisations .galerie .propor .propor-cont .imagecont:hover .imagefond { transform: scale(1.15); }
.intervention { position: relative; z-index: 8000; padding: 6em 10%; display: flex; flex-direction: row-reverse; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-origin: initial; background-clip: initial; background-color: rgb(45, 43, 113); background-attachment: fixed !important; }
.intervention::before { content: ""; }
.intervention .contenu { padding: 0px 3% 4vh; width: 50%; color: var(--color1); background: rgb(248, 246, 253); text-align: left; border-radius: var(--border-radius); top: 4vh; position: relative; left: -1vw; z-index: 1000; margin: 0px 0px 9vh; }
.intervention .contenu ul li::before { color: white; }
.intervention .contenu a, .intervention .contenu a:link, .intervention .contenu a:visited { color: var(--color0); }
.intervention h2 { text-align: left; }
.intervention h2::before { }
.intervention ul { margin: 15px 0px; }
.note-avis { position: relative; display: flex; justify-content: center; align-items: center; margin: 0px 0px 2rem; }
.nbr-note { font-size: 40px; margin-right: 4rem; }
.pied { position: relative; z-index: 9; background: rgb(30, 28, 80); }
.pied .bande1 { padding: 6rem 10% 0rem; }
.bande_contact_footer { padding: 0px 10%; position: relative; background: rgb(255, 250, 246); }
.body-page-1 .bande_contact_footer { padding: 0px; width: 50%; }
.bande_contact_footer .row1 { position: relative; display: block; background: rgb(255, 250, 246); padding: 4vw 28%; border-radius: var(--border-radius); }
.body-page-1 .bande_contact_footer .row1 { padding: 0px; }
.body-page-1 .bande_contact_footer .row1 h2 { display: none; }
.bande_contact_footer .row1::after { display: block; width: 232px; height: 1px; content: ""; position: absolute; left: 50%; transform: translate(-50%, 0px); margin-top: 49px; }
.pied .bande2 { padding: 10px 10%; }
.pied .bande2 .row { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.pied .bande2 .row .col-md-4 { width: 100%; }
.pied .title_footer { color: var(--color0); font-family: var(--font_family_2); font-size: 1.2vw; text-transform: initial; padding: 0px 0px 0.4vw; position: relative; float: left; width: 100%; font-weight: bold; margin: 0px; }
.pied .title_footer::before { content: ""; width: 75px; position: absolute; bottom: 3px; left: 0px; height: 2px; }
.pied .navf .menu_footer { color: var(--color0); padding: 15px 0px; list-style-type: none; margin: 0px; position: relative; float: left; width: 100%; }
.pied .navf .menu_footer li { display: block; padding: 0px 0px 4px; background: 0px 0px; position: relative; }
.pied .navf .menu_footer li:last-child { border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; }
.pied .navf .menu_footer li a, .pied .navf .menu_footer li a:visited { padding: 0px; color: inherit; text-decoration: none; opacity: 0.5; }
.pied .navf .menu_footer li a:hover { color: var(--color2); }
.pied .navf .menu_footer li a:hover { opacity: 1; color: var(--color3); text-decoration: none !important; }
.pied .navf .menu_footer li.active a:hover { text-decoration: underline; }
.pied .menu_referencement { color: var(--color0); list-style-image: none; list-style-type: none; margin: 0px; text-align: justify; padding: 0px; }
.pied .menu_referencement li { display: inline; padding: 0px; background: 0px 0px; }
.pied .menu_referencement li::before { content: none; }
footer table.horaire-table { opacity: 0.5; }
.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 { opacity: 0.5; color: var(--color0); font-size: 16px; text-decoration: none; }
.pied .menu_referencement li a:hover { color: var(--color3); opacity: 0.5; }
.pied address { margin: 0px; padding: 15px 0px 25px; color: var(--color0); float: left; width: 100%; position: relative; }
footer address i { color: var(--color0); }
.pied address p { background-repeat: no-repeat; margin: 0px; background-position: 0px 0px; padding: 0px 0px 10px; opacity: 0.5; }
.flex-address { position: relative; display: flex; }
footer .flex-address i { opacity: 0.5; }
address i { margin: 0px 0.7vw 0px 0px; font-size: 0.9vw; color: var(--color3); width: 0.6vw; }
.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 0px 0px; height: 10vw; position: relative; float: left; width: 100%; }
.pied .horaires { color: var(--color0); margin: 15px 0px 0px; float: left; width: 100%; }
.pied .horaires td { color: var(--color0); }
.horaires { display: inline-grid; }
.horaires i { margin: 4px 12px 0px 0px; font-size: 16px; color: var(--color2); display: none; }
.pied .copyright-footer { margin: 5px 0px 0px; text-align: center; }
#logoFD svg * { fill: rgb(255, 255, 255); }
#logoFD svg { width: 210px; }
.pied .btn-like { padding: 0px; }
.pied .btn-partage { text-align: right; padding: 10px 0px 0px; display: flex; justify-content: flex-end; }
.scrollbars { width: 100%; height: 28vh; }
.scrollbar-path-horizontal, .scrollbar-path-vertical { position: absolute; background-color: rgb(236, 236, 236); z-index: 100; }
.mCSB_scrollTools .mCSB_draggerRail { background-color: rgb(184, 184, 189); }
.scrollbar-path-horizontal { bottom: 5px; left: 0px; width: 100%; height: 5px; }
.scrollbar-path-vertical { right: 5px; top: 0px; height: 100%; width: 5px; }
.scrollbar-path-horizontal { }
.scrollbar-handle { position: relative; top: 0px; left: 0px; 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: 0px 30px 0px 0px; float: none !important; }
.prestation { display: table; width: 100%; position: relative; z-index: 8000; background: var(--color0); margin-bottom: 10rem; }
.prestation:nth-child(2n) { direction: rtl; }
.prestation .cell.photo { display: table-cell; vertical-align: top; width: 50%; background-position: center center; border-radius: var(--border-radius); }
.prestation .cell.texte { display: table-cell; vertical-align: top; width: 50%; }
.prestation:last-child .cell.texte { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.prestation .cell.texte .contenu { padding: 90px 10%; text-align: center; direction: ltr; }
.prestation .cell.texte .contenu p { padding: 0px 0px 20px; }
.prestation .cell.texte .contenu ul { padding: 0px; margin: 0px; }
.prestation .cell.texte .contenu ul li { padding: 5px 0px 5px 20px; background: url("../images/puce.svg") 0px 9px no-repeat; }
.prestation .cell.texte .contenu ul li .bouton-principal { display: block; }
.body-contact h2 { text-transform: uppercase; position: relative; font-weight: 600; }
.tab-coordonnes h2::before { content: ""; width: 3vw; height: 1px; background: rgb(18, 17, 17); position: absolute; top: 1.9vw; left: 0px; }
.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; }
.contact .tab-coordonnes .cell.gauche { display: table-cell; vertical-align: top; width: 30%; }
.contact .tab-coordonnes .cell.gauche .contenu { padding: 0em 7% 0px; }
.contact .tab-coordonnes .cell.centre { display: table-cell; vertical-align: top; width: 50%; }
.contact .tab-coordonnes .cell.droite { display: table-cell; vertical-align: top; width: 70%; }
.contact .tab-formulaire { display: block; width: 100%; position: relative; z-index: 8000; padding: 5rem 28%; margin-bottom: 5em; border-radius: var(--border-radius); }
.contact .tab-formulaire .contenu h2 { text-align: center; color: var(--color3); }
.contact .plan { font-size: 0px; }
.contact .plan .block #googlemapapi, .contact .plan iframe { width: 100% !important; height: 24.5vw !important; }
.contact .coordonnees { padding: 0px 0px 20px; }
.contact .tab-coordonnes .cell.gauche .contenu h2 { text-transform: uppercase; letter-spacing: normal; font-size: 1.5vw; margin-bottom: 2vw; margin-top: 0px; }
.contact .coordonnees address p { padding: 0px 0px 10px; text-transform: initial; }
.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: 0px 0px 10px; }
.contact .formulaire .form-group label.col-md-4 { padding-left: 0px !important; padding-right: 0px !important; }
.contact .formulaire .form-group div.col-md-8 { padding-left: 0px !important; padding-right: 0px !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: 0.5vw; padding: 0px !important; margin-left: 0px !important; margin-right: 0px !important; }
.contact .formulaire .form-group .form-control { background: rgb(255, 255, 255); box-shadow: none; font-size: inherit; color: var(--color1); border-radius: var(--border-radius); border: 1px solid rgb(238, 238, 238); width: 100% !important; }
.form-control:focus { color: rgb(0, 0, 0); background: var(--color0); }
.contact .formulaire .form-group textarea.form-control { height: 6vw; position: static; }
.contact .formulaire .form-group input.form-control { height: 2.7vw; line-height: 1; padding: 0px 0.8vw; }
.contact .formulaire .form-group .form-control:active, .contact .formulaire .form-group .form-control:focus { border: 1px solid var(--color2); }
.contact .formulaire .form-group select.form-control { height: 50px; line-height: 50px; padding: 5px 12px; }
@media screen and (-webkit-min-device-pixel-ratio: 0), screen and (-moz-images-in-menus:0) {
  .form-horizontal select.form-control { appearance: none !important; 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 !important; }
  .form-horizontal select.form-control option { color: inherit; }
}
.contact .formulaire .form-group input[name="captcha"] { display: inline-block; vertical-align: top; width: 31% !important; height: 50px !important; float: none !important; margin-right: 2% !important; }
.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%; border-radius: 0px; padding: 0px; height: 50px !important; }
.contact .formulaire .form-group input.btn-primary { display: inline-block; position: relative; float: right; font-weight: normal; top: -60px; }
.contact .formulaire .form-actions { font-size: 12px; }
.contact a.btn.btn-default { float: right; }
.body-error404 a.btn.btn-default, .contact .formulaire input.btn-primary, .contact a.btn.btn-default { font-family: var(--font_family_2); text-transform: uppercase; border-radius: var(--border-radius); text-decoration: none; transition: 0.4s; background: var(--color2); border: 1px solid var(--color2); color: var(--color0); text-align: center; padding: 0.7vw 2.3vw; font-size: 0.8vw; font-weight: bold; }
.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: var(--color3); border-color: var(--color3); color: var(--color0); }
::-webkit-input-placeholder { color: var(--color4) !important; }
.pageseo .formulaire .form-group input[name="captcha"] { width: 100% !important; margin-right: 0px !important; text-align: left !important; }
.pageseo .formulaire .form-group input[name="captcha"] + a { position: absolute; width: 140px; top: 0px; right: 0px; margin-right: 0px !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; }
.seo-content .h1 { text-align: left; }
.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: 0px; margin-left: 0px; }
.flex-seoContain .seo-form { width: 44%; padding: 1em 3% 3em; background: transparent; }
.img-seo img { border-radius: var(--border-radius); width: 100%; height: 100%; }
.flex-seoContain .seo-content img { width: 100%; height: 100%; }
.gallery .bas-galerie { text-align: center; padding: 40px 0px 0px; }
.gallery .description-galerie { padding: 0px 0px 40px; column-count: 2; column-gap: 6%; }
.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 { margin-bottom: 20px; padding-left: 10px !important; padding-right: 10px !important; }
.gallery .multiple .ligne-photos { margin-left: 0px !important; margin-right: 0px !important; }
.gallery .ligne-photos .propor { width: 100%; position: relative; margin-bottom: 15px; }
.gallery .multiple .ligne-photos .propor { margin-bottom: 0px; }
.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: 76%; display: block; content: ""; }
.gallery .ligne-photos .propor .propor-cont { position: absolute; inset: 0px; }
.gallery .ligne-photos .propor .propor-cont img { object-fit: cover; min-width: 100%; min-height: 100%; width: auto; flex: 1 1 0%; height: 100%; border-radius: var(--border-radius); }
.gallery .ligne-photos .propor .propor-cont .imagecont { transform: translateZ(0px); justify-content: center; display: flex; flex-direction: row; overflow: hidden; position: relative; height: 100%; }
.gallery .ligne-photos .propor .propor-cont .imagecont .imagefond { 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: 0px; left: 0px; opacity: 0; width: 100%; height: 100%; background-color: rgba(18, 15, 15, 0.63); background-image: url("../images/ico-zoom.svg"); background-repeat: no-repeat; background-position: center center; border-radius: var(--border-radius); }
.gallery .ligne-photos .propor .propor-cont .imagecont:hover .masque { opacity: 0.7; }
.gallery .ligne-photos .propor .propor-cont .imagecont:hover .imagefond { transform: scale(1.15); }
.gallery .nav { margin: 10px 0px; text-align: center; }
.gallery .nav li { display: inline-block; margin-bottom: 10px; background: 0px 0px; padding: 0px 3px 0px 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 0px 0px; }
.gallery .bas-galerie a.bouton-principal { }
.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; display: none; }
.header-sidebars, .sidebar-left, .sidebar-right { background-color: var(--color0); }
.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: 0px; right: 0px; top: 0px; width: 100%; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 3px 1px; background: transparent; }
.header-sidebars .header-top { display: table; height: 65px; width: 100%; background: var(--color0); backdrop-filter: blur(5px); }
.top-logo { display: table-cell; vertical-align: middle; position: relative; z-index: 9999; text-align: center; overflow-y: hidden; background: transparent; }
.top-logo img { position: absolute; top: 17px; height: auto; width: 120px; left: 10px; }
.deploy-right-sidebar { border-left: 1px var(--color0) solid; display: table-cell; background-color: var(--color4); height: 65px; width: 65px; background-position: center center; }
.deploy-right-mail { border-left: 1px var(--color0) solid; display: table-cell; background-color: var(--color4); background-repeat: no-repeat; height: 65px; width: 65px; background-position: center center; position: absolute; right: 65px; top: 0px; }
.deploy-right-call { display: table-cell; background-color: var(--color4); background-size: auto 49%; height: 65px; width: 65px; background-position: center 16px; position: absolute; right: 130px; top: 0px; }
.sidebar-scroll-right { width: 275px; height: 100%; background-color: var(--color0); overflow: hidden auto !important; }
.sidebar-right { background-repeat: repeat; position: fixed; overflow: hidden; z-index: 99999; right: -280px; top: 0px; bottom: 0px; width: 270px; margin-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) -2px 0px 2px 0px; font-family: var(--font_family_2) !important; }
.sidebar-right a { text-decoration: none; display: block; overflow: hidden; position: relative; z-index: 1; color: var(--color0) !important; }
.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: 0px; background: var(--color4); font-family: var(--font_family_1); color: var(--color0) !important; }
.submenu a:first-child { background-image: none !important; }
.submenu { display: none; }
.submenu-active { display: block; }
.sidebar-header-right { height: 65px; background-color: var(--color4); position: relative; }
.close-sidebar-right { height: 65px; width: 65px; margin-left: 0px; display: block; }
.sidebar-right .close-sidebar-right { position: absolute !important; }
.menu-mobile-dynamique { margin: 0px; padding: 0px; list-style: inside none none; }
.menuBtns { display: block; position: absolute; bottom: 2%; left: 50%; transform: translateX(-50%); }
.menu-mobile-dynamique li { width: 100%; margin-bottom: 1px; padding-left: 18px; background: var(--color4); }
.menu-mobile-dynamique li.active { background: var(--color3); }
.menu-mobile-dynamique .sub-menu li { background-color: transparent; margin-bottom: 0px; }
.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; }
.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; font-family: var(--font_family_1); background-position: 6px 20.9px; }
.menu-mobile-dynamique ul { list-style: inside none none; padding-left: 0px; }
.menu-mobile-dynamique ul li a { background: 0px 0px; }
.menu-mobile-dynamique input { appearance: none; border-radius: 0px; }
.menu-mobile-dynamique label { display: block; overflow: hidden; position: relative; border: 0px; vertical-align: baseline; outline: 0px; }
.no-bottom { margin-bottom: 0px !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-width: medium; border-style: none; border-color: currentcolor; border-image: initial; background: rgba(0, 0, 0, 0.05); border-radius: 3px; }
.remonter button:hover { opacity: 0.8; }
.deprecated-ie { text-align: center; color: rgb(0, 0, 0); background: rgb(238, 238, 238); }
.deprecated-ie p { line-height: 30px; margin: 0px; }
.deprecated-ie a { line-height: 30px; font-family: Helvetica, arial, sans-serif; font-size: 13px; color: rgb(0, 0, 0); text-decoration: underline; }
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { background-color: var(--color3); }
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { background-color: var(--color3); }
.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 0px 0px 16px; height: 32px; fill: var(--color0); }
.deploy-right-sidebar .icones { width: 29px; }
.menu-mobile-dynamique li a::before { display: block; content: ""; 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: 0px 0px -5px; fill: var(--color1); }
.tete .tel .icones, .tel-header .icones { width: 19px; margin: -2px 10px -3px 0px; height: 17px; fill: var(--color0); }
.btn-partage .btnp:hover .icones { fill: var(--color0); }
.tete .infos.infos_small .btn-partage .icones { top: 5px; left: 0px; }
.newsList { float: none; display: flex; flex-flow: wrap; place-content: flex-start; align-items: flex-start; width: 100%; }
.newsList .ligne-actus { flex: 0 0 auto; margin: 0px 0px 30px; float: none; }
.news .date_post { text-align: center; color: var(--color0); font-weight: 800; font-size: clamp(12px, 0.5vw, 14px); line-height: 18px; text-transform: uppercase; display: block; background-color: var(--color3); position: absolute; left: 0px; top: 0px; padding: 7% 4% 4%; z-index: 50; margin: 0px; border-top-left-radius: var(--border-radius); }
.news .date_post span { display: block; line-height: 13px; min-width: 84px; }
.news .date_post .s1 { line-height: 35px; padding-bottom: 5px; font-size: clamp(40px, 2vw, 50px); }
.newsList .propor .propor-cont .imagecont .masque { background-color: rgba(250, 250, 250, 0.2); background-image: none; }
.news .propor .propor-cont .imagecont:hover { transform: scale(1.15); }
.newsList .propor { overflow: hidden; }
.newsList .item .h3 { color: var(--color1); padding: 5px 0px 25px; margin: 0px; font-weight: 200; font-family: var(--font_family_1); }
.newsList .item:hover .h3 { color: var(--nuanceColor1); }
.newsList .item .h3 a:hover { text-decoration: none; }
.item-news { position: relative; }
.newsItem .photo img { object-fit: cover; min-width: 100%; min-height: 100%; flex: 1 1 0%; width: 100%; height: 100%; overflow-x: hidden; }
.newsItem .photo { width: 100%; border-radius: var(--border-radius); overflow: hidden; height: clamp(300px, 40vw, 650px); background-color: rgb(242, 242, 242); transition: 0.5s; background-position: center center !important; background-repeat: no-repeat !important; }
.newsItem .contenu-article { padding: 15px 0px 0px; min-height: 200px; margin: 0px; }
.newsItem .div-rs { margin: 0px auto 40px; display: flex; align-content: center; align-items: center; }
.newsItem .div-rs .btn-partage { display: flex; overflow: hidden; height: 36px; position: relative; top: 0px; margin-left: 2rem; }
.newsItem .div-rs .btn-partage .icones { fill: var(--color1); }
.newsItem .div-rs .btn-partage .btnp { }
.newsItem .div-rs .btn-partage .btnp:hover { }
.newsItem .div-rs .btn-partage .btnp:hover .icones { fill: var(--color0); }
.newsItem .date_post { padding: 5% 3% 3%; }
.news_avant_apres { display: table; width: 100%; text-align: center; margin: 0px; height: 100%; }
.news_avant_apres > div { display: table-cell; float: none; padding: 0px; height: 100%; }
.news_avant_apres a, .news_avant_apres a:visited { padding: 15px 30px; color: var(--color1); text-decoration: none; border: 1px solid var(--bg-facultatif); display: block; height: 100%; font-family: var(--font_family_1); text-transform: uppercase; border-radius: var(--border-radius); }
.news_avant_apres a:focus, .news_avant_apres a:hover { border-color: var(--color1); text-decoration: none; }
.news_avant_apres > div:last-child { right: -5px; }
.news_avant_apres a:focus b, .news_avant_apres a:hover b { text-decoration: none; color: var(--color1); }
.navButtons, .navButtons:visited { padding: 0px 0px 10px; color: var(--color2); transition: 0.8s; text-decoration: none; display: block; }
.news_avant_apres a:focus span, .news_avant_apres a:hover span { color: var(--color2); text-decoration: none; }
.pagination > li { background: 0px 0px; padding-left: 0px; }
.pagination > li > a, .pagination > li > span { color: var(--color1); border-color: var(--color3); }
.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(--color1); background-color: var(--color0); }
@media (min-width: 2500px) {
  .slogan .titre { font-size: 90px; line-height: 100px; }
  body { font-size: 0.9vw; }
  .btn-liens-rs .btnrs svg, .btn-liens-rs .btnrs { height: 2em !important; width: 1.5em !important; }
  .propor.pic-2 { right: 80px; bottom: -100px; height: 40vh !important; width: 40% !important; }
  .propor.pic-2::before { height: 260px; width: 320px; top: -320px; left: 0px; }
  .propor.pic-1::after { bottom: -230px; left: 220px; }
  .propor.pic-1::before { height: 330px; width: 110px; top: 77px; right: -180px; }
  .devis-atout .devis-span img { height: auto; width: 90px; }
  .devis-imgs .devis-img:first-child::before { height: 400px; width: 210px; left: -8vw; top: 30px; object-fit: cover; }
  .atout-item-AT { height: 30vh; padding: 80px 20px; }
  .tete .logo-site a img { width: 300px; }
  .button, a.button { height: 200px; width: 200px; }
  a .button__text { font-size: 17px; }
  a .button__text span { inset: -17px; }
  .button__circle { height: 110px; width: 110px; }
  .propor.pic-1 { width: 65% !important; right: -336px; }
  .atout-card { min-height: 450px; }
  .r_name { width: 350px; height: 150px; font-size: 27px; right: 300px; bottom: -77px; }
  .r_name span { font-size: 60px; }
  .r-img { top: 0px; }
  .h1, h1 { font-size: 80px; }
  .mySwiper-bann .swiper-button-prev, .mySwiper-bann .swiper-button-next { margin: 0px 180px; height: 100px; width: 100px; }
  a.merlo { width: 500px; }
  .card-body a.btn-card::before, .card-body a.btn-card::after { display: none; }
  a.btn-card { width: 150px; height: 150px; }
  .atout-item_icon { height: 130px; width: 130px; }
  .atout-item_icon img { width: 70px; }
  .addedContent { font-size: 25px; }
  .certifs { padding: 5em 10% 6em; }
  .certifs .swiper-slide .img-swiper { height: 200px; }
  .AvisClients, .AvisClients:link, .AvisClients:visited { min-height: 490px; padding: 4rem 7% 7rem; }
  .actualites .date_post, .news .date-article { font-size: 35px; }
  .AvisClientsBg, .realisations { padding: 4em 10% 7em; }
  .atouts img { width: 100px; }
  .swiper-button-prev, .swiper-button-next, .swiper-button-prev1, .swiper-button-next1 { height: 70px; width: 70px; }
  .swiper-button-prev, .swiper-button-prev1 { left: -70px; }
  .swiper-button-prev i, .swiper-button-next i, .swiper-button-prev1 i, .swiper-button-next1 i { font-size: 30px; }
  .swiper-button-next, .swiper-button-next1 { right: -70px; }
  .swiper-navigation, .services .swiper-navigation { margin-top: 80px; }
  .body-page-1 .services, .body-pageseo .services { padding: 7rem 10% 13rem; }
  .pied .title_footer { }
  .horaire-infos { font-size: 20px; }
  .accMap iframe { max-height: 450px; }
  ul li::before { height: 50px; font-size: 25px; left: -30px; top: 8px; }
  .flex-address i { margin-top: 7px !important; font-size: 30px !important; }
  address i { font-size: 30px !important; }
  .pied .bande1 { padding: 7rem 12% 5rem; }
  .pied .navf .menu_footer li a, .pied .navf .menu_footer li a:visited, .pied address, .pied .horaires, .pied .menu_referencement li a, .pied .menu_referencement li a:visited { }
  .atouts { padding: 7em 10% 9em; }
  .atout-card h3, .AvisClients .h { font-size: 35px; line-height: 40px; }
  .date_post { font-size: 22px; padding: 20px; }
  .AvisClients p { font-size: 30px; }
  .atout-text p { font-size: 27px; }
  .realisations .row.gallery { grid-template-rows: 600px 600px; }
  .r-flex .row.recup-photos.gallery { }
  .page-contenu-home .mCustomScrollBox { min-height: 400px; }
  body, .intervention .contenu { }
  .titre-secondaire { font-size: 35px; }
  .navh .menu_principal a, .navh .menu_principal a:visited { font-size: 32px; }
  .tete .infos .tel { font-size: 32px; }
  a.bouton-principal, button.bouton-principal, .cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal, .cta p.tel-header.bouton-principal.hvr-shutter-out-horizontal span, .cta a.bouton-principal { font-size: 30px; }
  .card-body { bottom: 40px; }
}
@media (max-width: 1690px) {
  body, .AvisClients p { font-size: 15px; }
  .Atout-contenu .Atout-box { min-height: 39vh; padding: 10px; }
  .navh .menu_principal a { font-size: 14px; }
  .Atout-box h3 { font-size: 22px; }
  body, .AvisClients p { font-size: 17px; }
  .AvisClients p { min-height: 160px; }
  .Atout-box h3 { font-size: 22px; }
}
@media (max-width: 1530px) {
  .header { padding: 0px 1.5%; }
  .r-img { left: -70px; top: 60px; }
  body, .AvisClients p { font-size: 16px; }
  .Atout-box h3 { font-size: 22px; }
  .AvisClients p { min-height: fit-content; }
  .propor.pic-2 { bottom: 0px; }
  .propor.pic-2::before { height: 110px; top: -150px; }
  .r_name { right: -30px; width: 220px; }
}
@media (max-width: 1376px) {
  .flex-infos { }
  .Atout-box h3 { font-size: 18px; }
  body { font-size: 16px; }
  .tete .infos .callTracker span { width: fit-content; min-width: fit-content; }
  header .btn-liens-rs .btnrs svg { width: 2rem; height: 2rem; }
  :root, .actualites .date_post, .news .date-article { --taille_font: 14px; font-size: 14px; }
  .atout { padding: 4em 4% 12vh; }
  .AvisClients p { min-height: fit-content; font-size: 14px; }
  .mySwiper-bann .swiper-button-prev, .mySwiper-bann .swiper-button-next { margin: 0px 70px; }
  .AvisClients .h { font-size: 15px; }
  .AvisClientsBg, .realisations { padding: 3em 4% 4em; }
  .pied .bande1 { padding: 5rem 1% 0rem; }
  .actualites .cell.texte .contenu .h1 { margin-bottom: 40px; }
  .atout-item__title { font-size: 18px; }
  .atout-item-AT { height: 41vh; }
  .atout-item_icon { height: 80px; width: 80px; }
  .atout-item_icon img { width: 40px; }
  .card-title h3 { min-height: initial; font-size: 19px; }
  .card-body { padding: 0px 1rem 0rem !important; }
  .fluid-infos .infos p.tel { display: none; }
  .btn-liens-rs { display: none; }
  .tete .header .flex-menuP { width: 80%; }
  .fluid-infos { position: fixed; top: 20vh; right: 0px; z-index: 9999; }
  .fluid-infos .infos p.tel { margin: 0px; position: relative; left: 155px; transition: 0.5s; background: var(--color1); line-height: 1; padding: 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: 0px 15px 0px 0px; width: 26px; height: 26px; float: left; }
  .fluid-infos .infos p.tel:hover { left: 0px; }
  .fluid-infos .infos .btn-partage { position: relative; margin: 8px 0px 0px; display: flex; left: 155px; transition: 0.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: 0px; }
  .fluid-infos .icone-share { display: block; width: 34px; height: 22px; fill: var(--color0); padding-right: 10px; }
  .tete .header .btn-partage .icone-partage { display: block; }
}
@media (min-width: 768px) {
  .dispaly_flex { display: flex; }
  .flex_child_2 { flex: 2 1 0%; }
  .flex_child_1 { flex: 1 1 0%; }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .lightboxOverlay { overflow: scroll; }
  .lightboxOverlay::-webkit-scrollbar { width: 0px; }
}
@media (max-width: 991px) {
  body.body-gallery.body-gallery-4 h1:first-of-type, body.body-gallery.body-gallery-2 h1:first-of-type { display: none; }
  .AvisClients { height: fit-content; min-height: fit-content; }
  .livre-elements { padding: 0px; }
  .Atout-contenu .Atout-box span { font-size: 25px; }
  .btn-partage .icones { width: 40px; margin: 0px; height: 20px; top: 5px; }
  .btn-partage .btnp { width: 30px; height: 30px; }
  .r-flex, .nouveaute-cont { flex-flow: wrap; width: 100%; gap: 10px; overflow: hidden; align-items: center; justify-content: center; }
  .propor.pic-2 { position: relative !important; width: 100% !important; }
  .body-page-1 .fluid-contenu .corps { padding: 7vw 3%; background: rgb(255, 250, 246); }
  .r_name, .propor.pic-2::before { display: none; }
  .service2 { padding: 3em 5%; }
  .service2-image img { width: 200px; }
  .service2-contenu { padding: 0px; }
  .btnMobile { display: none; }
  .contact .tab-formulaire { padding: 5rem 8%; }
  .propor.pic-1 { top: 0px; left: 0px; right: initial; display: none; }
  .contact .tab-coordonnes .cell.gauche .contenu h2 { font-size: 25px; }
  .prestation { margin-bottom: 5rem; }
  .card-body { bottom: 70px; }
  label.checkbox.label-rgpd { font-size: 13px; }
  .actualites article, .flex-seoContain { flex-direction: column; }
  .Atout-box .acc-partage { display: none; }
  .slogan .sous-titre, .Atout-AT .Atout-box:first-child, .Atout-AT .Atout-box:last-child, .flex-seoContain .seo-content, .flex-seoContain .seo-form, .contact .tab-coordonnes .cell.gauche, .contact .tab-coordonnes .cell.droite { width: 100%; }
  .Atout-AT .Atout-box:last-child img { }
  .Atout-AT .Atout-box:last-child::before, .propor.pic-1::before { opacity: 0; }
  .Atout-AT .Atout-box { }
  .atout .h1 { text-align: center; margin-bottom: 40px; }
  .contact .tab-coordonnes { display: flex; flex-direction: column; gap: 40px; }
  .bande_contact_footer .row1 { padding: 4vw 8%; }
  .actualites .cell.photo, .actualites .cell.texte { display: block; position: relative; width: 100%; height: 100%; }
  .intervention .contenu { padding: 0px; }
  .actualites .cell.photo { height: 40vh; }
  .realisations .row.recup-photos.gallery .col-md-3:nth-child(1) { grid-area: item1; }
  .pied .title_footer { font-size: 25px; }
  .flex-address i { font-size: 20px; }
  address i { margin-right: 20px; }
  .actualites { padding: 6em 3%; }
  .body-page-1 .corps a.bouton-principal, .body-page-1 .corps button.bouton-principal, p.bouton-principal, a.bouton-principal, button.bouton-principal, .formulaire input.btn-primary { display: inline-flex; place-content: center; align-items: center; padding: 14px 20px; font-size: 15px !important; }
  .body-page-1 .corps a.bouton-principal { margin-top: 13px; }
  .img-service img { height: 35vh; }
  .body-page-1 .services, .body-pageseo .services { padding: 5rem 3% 10rem; }
  .nouveaute-element a img { height: 100%; }
  .contact .formulaire .form-group input.form-control { height: 50px; padding: 0px 10px; }
  .nouveaute-element .tiktok-overlay { background-size: 50px; }
  .slogan { top: 5vh; }
  .body-page-1 .slogan { top: 22vh; }
  .map-footer { width: 100%; }
  .intervention { padding: 1vh 3% 4vh; width: 100%; display: block; background: rgb(248, 246, 253); border-top: 1px solid rgb(238, 238, 238); }
  .atout-item-AT { height: 28vh; margin-top: 50px; }
  .contact .formulaire .form-group input.btn-primary { top: 0px; font-size: 14px; }
  .AvisClients p { font-size: 15px; }
  .realisations .row.recup-photos.gallery { padding: 0px; display: grid; grid-template: "item1 item2" 250px "item3 item4" 250px / 1fr 1fr; gap: 10px; }
  .Atout-AT { flex-direction: column; }
  .Atout-AT .Atout-box:first-child p:first-of-type { font-size: 13px !important; }
  .row.r-flex::before, .realisations .row.recup-photos.gallery .col-md-3:nth-child(5), .realisations .row.recup-photos.gallery .col-md-3:nth-child(6) { display: none; }
  .nouveaute-element { height: 30vh; width: 47%; }
  .nouveaute-element:nth-of-type(2n) { margin-top: 0px; }
  .r-text, .r-img { width: 100%; inset: 0px 0px 0px -15px; }
  .recup-photos .propor .propor-cont .imagecont img { object-position: center center; }
  .r-img img { }
  .banniere { height: 30vh !important; top: -50px; }
  .fluid-contenu { margin-top: 20vh !important; }
  .body-page-1 .banniere { height: 30vh !important; }
  .body-page-1 .fluid-contenu { margin-top: 25vh !important; }
  :root { --taille_font: 14px; }
  .pied .copyright-footer { text-align: center; }
  .btn-liens-rs.btn-rs-center {
  justify-content: center !important;
  & .txtFrm { flex-direction: column; }
  & .txtFrm span { width: 100%; }
  & .nos-service { padding: 1em 6% 2em; }
  & .stp-bg-p { display: none; }
  & .stp-list i { height: 25px; width: 25px; min-height: 25px; min-width: 25px; padding-top: 4px; }
  & .stepsAB.atoAB, & .stepsAB { padding: 1em 6% 0em; flex-direction: column !important; }
  & .stepsAB.stepsAB2 { padding: 0em 10% 3em; }
  & .stp-bg, & .stp-txt, & .sAB .stp-bg, & .sAB .stp-txt { width: 100%; }
  & .stp-txt { padding: 2em 0%; }
  & .sAB i { display: none; }
  & .flex-address i { margin-top: 5px !important; }
  & address i { font-size: 14px; margin-right: 10px; width: unset; }
  & .avis-flex a.transition.AvisClients { max-width: 100%; width: 100%; }
  & .contact .tab-coordonnes .cell.gauche .contenu h2 { font-size: 17px; }
  & .tab-coordonnes h2::before { display: none; }
  & .pied .scrollbars { height: 200px; }
  & .pied .title_footer { font-size: 16px; }
  & .actualites .date_post, & .news .date-article { font-size: 12px; }
  & .realisations .row.recup-photos.gallery { padding: 0px; display: grid; grid-template: "item1 item2" 150px "item3 item4" 150px / 1fr 1fr; gap: 10px; }
  & .atouts { padding: 2em 5%; }
  & .intervention { padding: 2em 5%; }
  & :root { --taille_font: 14px; }
  & .corps { --taille_font: 14px; font-size: var(--taille_font); }
  & .atout { padding: 2em 10px; }
  & .atouts p.legend { font-size: 18px; }
  & .services-container.services-flex { display: flex; flex-wrap: wrap; }
  & .services-container.services-flex .service-item .service-desc h2 { font-size: 17px; line-height: 23px; }
  & .services-container.services-flex .service-item .service-desc a { font-size: 12px; }
  & .services-container.services-flex .service-item .service-desc { padding: 20px 10px; }
  & .services-container.services-flex .service-item { width: 100%; height: 260px; }
  & .r-img { display: none; }
  & .r-text { width: 100%; }
  & .certifs .swiper-slide img { height: 110px; }
  & .contact .formulaire .form-group > label.control-label { display: block; transition: 0.4s; transform: translateZ(0px); bottom: 11px; opacity: 0.5; position: relative; font-size: 0px; }
  & .contact .formulaire .form-group > label.focus { bottom: auto; font-size: var(--taille_font); padding-top: 5px; }
  & .container { max-width: none; width: auto; }
  & .centerservice2 { margin: 0px !important; }
  & .centerservice { margin: 0px 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.form-control { height: 50px; }
  & .contact .formulaire .form-group textarea.form-control { height: 140px; }
  & label.checkbox.label-rgpd { font-size: 10px; }
  & .contact .formulaire .form-group input[name="captcha"] { width: 100% !important; margin-right: 0px !important; text-align: left !important; }
  & .contact .formulaire .form-group input[name="captcha"] + a { position: absolute; width: 140px; top: 1px; right: 1px; margin-right: 0px !important; }
  & .contact .formulaire .form-group input.btn-primary { width: 100%; margin-top: 8px; float: none; font-size: 14px; padding: 12px 20px; }
  & .lb-prev { background: url("../images/lightbox-g.png") left 48% no-repeat; opacity: 1 !important; }
  & .lb-next { background: url("../images/lightbox-d.png") right 48% no-repeat; opacity: 1 !important; }
  & .video-accueil { position: static; width: 100%; height: auto; margin-left: 0px; }
  & .banniere { height: 40vh !important; position: relative !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 { margin: 0px !important; }
  & .slogan { width: 100%; left: 0px; padding: 0px 15px; top: auto; }
  & .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: 0px 0px 40px; text-align: justify; }
  & .page-contenu-home { padding: 0px; }
  & .certifs .cell.gauche .contenu { padding: 0px; }
  & .intervention .contenu { padding: 0px; }
  & .actualites .cell.texte .contenu { padding: 0px; }
  & .bande_contact_footer { padding: 0px; }
  & .flex-seoContain { flex-wrap: wrap; }
  & .flex-seoContain .seo-content { width: 100%; background: 0px 0px; }
  & .flex-seoContain .seo-form { width: 100%; }
  & .img-seo img { width: 100%; height: auto; }
  & .bande_contact_footer .row1 { padding: 5rem 11%; }
  & .contact .tab-formulaire { padding: 5rem 10%; }
  & .livre-elements { padding: 0px; }
}
  @media (max-width: 767px) {
  .pad-xs { padding-left: 15px !important; padding-right: 15px !important; }
  .card-body { bottom: 70px; }
  .atout-item-AT { height: 48vh; margin-top: 50px; }
  .body-page-1 .banniere { height: 45vh !important; }
  .realisations .row.recup-photos.gallery { grid-template-rows: 150px 150px; }
  .body-page-1 .fluid-contenu { margin-top: 35vh !important; }
  .pad-xs-l { padding-left: 15px !important; }
  .pad-xs-r { padding-right: 15px !important; }
  .centerservice2 { margin: 0px !important; }
  .centerservice { margin: 0px !important; }
  .nopad-xs { padding-left: 0px !important; padding-right: 0px !important; }
  .nopad-xs-l { padding-left: 0px !important; }
  .nopad-xs-r { padding-right: 0px !important; }
  .h1, h1, .atout-item__title, .modal-header .h1 { font-size: 25px; line-height: 1.1; margin-bottom: 30px; }
  .card-title h3 { min-height: auto; margin-bottom: 5px; font-size: 20px; }
  .atout { padding: 2em 3% 10vh; }
  .Atout-AT { flex-direction: column; }
  .Atout-contenu { width: 100%; }
  .Atout-AT { flex-direction: column-reverse; gap: 10px; }
  .Atout-box h3 { font-size: 16px; }
  .Atout-contenu, .Atout-img { width: 100%; }
  .Atout-img img { height: 300px; }
  .body-page-1 .services, .body-pageseo .services { padding: 2rem 3% 4rem; }
  .nouveaute-text { padding: 0px; }
  .img-service img { height: 45vh; }
  .Atout-AT .swiper { }
  article.page.clear.node-1.mCustomScrollbar { margin-bottom: 20px; }
  .r-flex .h1 { font-size: 25px; }
  .h3, h3 { font-size: 19px; }
  h4 { font-size: 18px; }
  h5 { font-size: 17px; }
  h6 { font-size: 16px; }
  .titre-secondaire { font-size: 17px; line-height: 20px; }
  .prestation .cell.texte .contenu span.titre-secondaire { font-size: 14px; }
  .body-page-1 .slogan { position: absolute; background: transparent; width: 100%; text-align: left; padding: 15px; bottom: 0px; top: 27%; height: fit-content; left: 0px; }
  .slogan { text-align: center; top: 33px; }
  .slogan .titre { font-size: 25px; line-height: 1.2; }
  .slogan .titre span { font-size: 23px; }
  .slogan .sous-titre { font-size: 14px; line-height: 1.2; margin-top: -7px; }
  .fluid-contenu .corps, .body-page-1 .fluid-contenu .corps { padding: 30px 15px 40px; }
  .flex-seoContain { flex-direction: column; }
  .flex-seoContain .seo-content, .flex-seoContain .seo-form { width: 100%; }
  .recup-photos .col-md-4 { padding-left: 5px !important; padding-right: 5px !important; }
  .recup-photos { margin-left: -5px !important; margin-right: -5px !important; }
  .newsList .recup-photos { margin-left: 0px !important; margin-right: 0px !important; }
  .recup-photos .propor { margin-bottom: 5px; }
  .propor.pic-2 { outline: none; right: 0px; position: relative !important; width: 100% !important; height: 289px !important; }
  .propor.pic-1 img { display: none; }
  .certifs { display: block; }
  .certifs .cell.gauche { display: block; width: 100%; }
  .certifs .cell.gauche .contenu { padding: 30px 15px 40px; }
  .certifs .cell.droite { display: block; width: 100%; padding: 0px 15px 30px; }
  .certifs .cell.droite .bg-noir { padding: 40px 0px; }
  .cont-slider .controls { bottom: -20px; }
  .services { display: block; }
  .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 { padding: 2em 6%; }
  .realisations .row.recup-photos.gallery { }
  .realisations .row.recup-photos.gallery .col-md-3:nth-child(1) { grid-area: item1; }
  .realisations .row.recup-photos.gallery .col-md-3 { }
  .realisations .propor { margin-bottom: 5px; }
  .AvisClientsBg .contenu, .realisations .contenu { }
  a.bouton-principal, button.bouton-principal, .formulaire input.btn-primary { padding: 17px 20px; font-size: 14px !important; }
  a.btn-card { bottom: 0px; }
  .intervention .contenu { padding: 0px; width: 100%; }
  .intervention { display: flex; flex-direction: column; }
  .intervention ul { column-count: 1; width: 100%; }
  .AvisClientsBg { padding: 2em 5%; }
  .temoignageScroll { max-height: 135px; }
  .temoignageScroll { max-height: 185px; }
  .note-avis { flex-wrap: wrap; }
  .bande_contact_footer .row1 { padding: 2rem 1%; }
  label.checkbox.label-rgpd { font-size: 11px; }
  .bande_contact_footer { padding: 0px 3%; background: rgb(255, 250, 246); }
  .contact .formulaire .form-group input.btn-primary { font-size: 13px; width: 100%; padding: 15px 20px; margin-top: 20px; }
  .contact .formulaire .form-group textarea.form-control { height: 121px; }
  .divAvis { width: 100%; }
  .pied .bande1 { padding: 30px 15px; }
  .pied .title_footer { font-size: 21px; }
  .pied address p { }
  address i { width: 16px; padding-top: 4px; font-size: 20px; }
  .pied .btn-like { padding: 0px 0px 15px; text-align: center; }
  .pied .btn-partage { text-align: center; padding: 20px 0px 0px; justify-content: center; }
  .pied .btn-partage a { text-align: center; }
  .body-contact .fluid-contenu .corps, .body-gallery-4 .fluid-contenu .corps { padding: 30px 0px 0px; }
  .contact .tab-coordonnes .cell.gauche .contenu h2 { font-size: 20px; }
  .contact .tab-coordonnes { display: block; }
  .contact .tab-coordonnes .cell.gauche { display: block; width: 100%; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; }
  .contact .tab-coordonnes .cell.gauche .contenu { padding: 0px 15px 30px; }
  .contact .tab-coordonnes .cell.centre { display: block; width: 100%; }
  .contact .tab-coordonnes .cell.droite { display: block; width: 100%; height: 180px; overflow: hidden; }
  .contact .plan .block #googlemapapi, .contact .plan iframe { height: 250px !important; }
  .contact .tab-formulaire { display: block; padding: 5rem 4%; }
  .contact .coordonnees { padding: 0px; }
  .gallery .description-galerie { padding: 0px 15px 20px; }
  .actualites, .prestation { display: block; padding: 2em 3%; }
  .newsButtons { gap: 15px; }
  .actualites .date_post, .news .date-article { font-size: 15px; }
  .prestation { margin-bottom: 0em; }
  .actualites .cell.photo, .prestation .cell.photo { display: block; width: 100%; height: 180px; }
  .prestation .cell.photo { height: 250px; }
  .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; }
  .gallery .ligne-photos .propor { margin-bottom: 10px; }
  .gallery .nav li { margin-bottom: 0px; background: 0px 0px; }
  .gallery .description-galerie {padding: 0px 0px 40px;column-count: 1;column-gap: 0;}
  .services .cell.droite .contenu { clear: both; }
  .scrollbars { width: 100%; height: auto; }
  .pied .scrollbars { height: 301px; }
  .news_avant_apres > div:last-child { right: 0px; }
  .news_avant_apres > div { display: block; margin: 0px 0px 5px; }
  .news_avant_apres, .news_avant_apres > div { display: block; }
}
  @media (min-width: 768px) and (max-width: 991px) {
  .pad-sm { padding-left: 15px !important; padding-right: 15px !important; }
  .intervention { padding: 7vh 3% 4vh; }
  .pad-sm-l { padding-left: 15px !important; }
  .pad-sm-r { padding-right: 15px !important; }
  .nopad-sm { padding-left: 0px !important; padding-right: 0px !important; }
  .nopad-sm-l { padding-left: 0px !important; }
  .nopad-sm-r { padding-right: 0px !important; }
  .slogan { text-align: center; }
  .scrollbars { height: 240px; }
  .body-contact .fluid-contenu .corps, .body-gallery-4 .fluid-contenu .corps { padding: 30px 0px 0px; }
  .h1, h1 { font-size: 26px; line-height: 26px; }
  .titre-secondaire { font-size: 23px; line-height: 24px; }
  .gallery .description-galerie { padding: 0px 0px 40px; text-align: justify; }
}
  @media (min-width: 991px) and (max-width: 1199px) {
  .slogan .sous-titre { font-size: 20px; line-height: 20px; }
  .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: 0px; }
  .contact .formulaire .form-group input.btn-primary { width: 100%; margin-top: 8px; float: none; }
}
  .infinite-scroll .chargement { background: url("../images/chargement.gif") center top no-repeat scroll rgba(0, 0, 0, 0); bottom: 0px; display: none; height: 32px; left: 50%; margin-left: -16px; position: absolute; width: 32px; }
  .g-recaptcha { float: left; }
  #g-recaptcha-response { left: 12px; position: relative; top: -45px; display: block !important; opacity: 0 !important; margin: 0px !important; height: 10px !important; }
  @media print {
  @page { size: portrait; margin: 2cm; }
  body { background-color: var(--color0); font-family: serif; font-size: 10pt; }
  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.6667%; }
  .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%; }
}
}
