.advertisings-widgets h1 {
    z-index       : 5;
    color         : white;
    position      : relative;
    text-align    : center;
    text-transform: uppercase;
    font-weight   : 400;
}
.advertisings-widgets .content-inner {
    position  : absolute;
    left      : 50%;
    top       : 60%;
    z-index   : 8;
    transform : translate(-50%, -50%);
    text-align: center;
}
.accueil main {
    margin-top: 0;
}
#slide-menu,
.menu-left {
    width: 100%;
}
.menu-left {
    height         : 85px;
    display        : flex;
    align-items    : center;
    justify-content: center;
}
.menu-left a {
    display        : flex;
    justify-content: center;
}
.lieu {
    color         : white;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size     : 14px;
}
#main-menu {
    transition: 0.35s ease;
}
#main-menu.scrolled-half #slide-menu {
    background-color: rgba(255, 255, 255, 0.7);
}
#main-menu.menu-breakpoint.scrolled-half #slide-menu {
    background-color: white;
}
#main-menu.scrolled-half #slide-menu:not(.menu-breakpoint) > ul:not(.top-menu) > li > a {
    color: black!important;
}
#main-menu.scrolled-half .menu-left {
    background: #fff url("../../img/texture2.jpg");
    box-shadow: 0 0 10px black inset;
    transition: all 280ms 0 ease-in-out;
}
#main-menu.menu-breakpoint .menu-left {
    background: #fff url("../../img/texture2.jpg");
    box-shadow: 0 0 10px black inset;
}
#main-menu.menu-breakpoint .menu-level-0 > li > a {
    color: black !important;
}
.section-bois {
    background: url("../../img/bois.jpg");
    padding   : 6.5vw 7vw;
    z-index   : 2;
    position  : relative;
}
.contact {
    z-index   : 2;
    position  : relative;
    min-height: 350px;
}
.bois {
    background: url("../../img/bois.jpg");
    padding   : 2rem;
}
form .text-danger {
    display: none;
}
form .form-label {
    display: none;
}
form .btn {
    background: var(--color-1);
    color     : white;
}
form .btn:hover {
    background: #a27445;
    color     : white;
}
form h2 {
    font-weight: 400;
}
.form-control {
    border       : 1px rgba(181,131,81,0.3) solid !important;
    border-radius: 0;
}
.form-control::placeholder {
    font-size: 14px;
}
.padding-y {
    padding: 2rem 0;
}
.liste-partner {
    gap       : 0 30px;
    margin-top: 1rem;
}
.accueil .realisations-widgets {
    padding: 10.5vw 7vw 10.5vw 0;
}
.widget-header h2 {
    font-size     : 35px;
    color         : black;
    font-weight   : 400;
    text-transform: unset;
}
h3 {
    font-size    : 16px;
    margin-bottom: 1rem;
}
.data-item__title {
    color      : var(--color-1);
    font-weight: 700;
}
.blogs-detail .data-item__title {
    font-size: 28px;
}
.menu-breakpoint .sub-menu li a {
    background: white;
    color     : black !important;
}
.menu-breakpoint .sub-menu li a:hover {
    color: var(--color-1) !important;
}
.blogs-widgets .data-item__title {
    font-size     : 28px;
    text-transform: uppercase;
    font-weight   : 600;
    margin-bottom : 1rem;
}
.realisations-widgets .card-title {
    margin-bottom: 0.5rem;
}
.blogs-widgets .card-title {
    line-height: 1.2;
}
#main-menu.scrolled-half .menu-left {
    position: relative;
}
.hero-img {
    position: relative;
}
.hero-img::after {
    content       : "";
    position      : absolute;
    inset         : 0;
    background    : black;
    opacity       : 0;
    transition    : opacity 0.6s ease;
    pointer-events: none;
    z-index       : 1;
}
/* texte au-dessus */
/* état scroll */
.hero-dark .hero-img::after {
    opacity: 0.9;
    /* ajuste l’intensité */
}
/* Conteneur principal */
.hero-title {
    position     : relative;
    display      : inline-block;
    width        : 100%;
    margin-bottom: 2rem;
}
/* Masque qui cache le titre */
.hero-title-mask {
    overflow: hidden;
    position: relative;
}
/* Titre au départ (caché en bas) */
.hero-title-mask h1 {
    margin    : 0;
    transform : translateY(120px);
    opacity   : 0;
    transition: transform 1s cubic-bezier(0, 0, 0.025, 1.02), opacity 1s cubic-bezier(0, 0, 0.025, 1.02);
}
/* Trait pleine largeur au départ */
.hero-title::after {
    content   : "";
    position  : absolute;
    left      : 0;
    bottom    : -15px;
    height    : 1px;
    width     : 100%;
    background: white;
    transition: all 1s 0.8s cubic-bezier(0, 0, 0.025, 1.02);
}
/* État animé */
.hero-title.active .hero-title-mask h1 {
    transform: translateY(0);
    opacity  : 1;
}
/* Trait réduit centré */
.hero-title.active::after {
    width    : 133px;
    left     : 50%;
    transform: translateX(-50%);
}
.advertisings-widgets:after {
    position  : absolute;
    display   : block;
    width     : 93%;
    height    : 30px;
    right     : 0;
    bottom    : 0;
    content   : "";
    background: white;
}
.sous-titre p,
.sous-titre span {
    font-size     : 12px;
    letter-spacing: 4px;
    text-transform: uppercase;
}
.sous-titre {
    margin-bottom: 1rem;
}
p {
    font-size     : 14px;
    letter-spacing: 1px;
    color         : black;
}
.bloc-contact {
    position: relative;
}
.bloc-contact img {
    width  : 100%;
    display: block;
}
.padding-left {
    padding-left: 80px;
}
.padding-photo {
    padding-left : 80px;
    padding-right: 40px;
}
.padding-right {
    padding-right: 80px;
}
.bloc-contact::after {
    content       : "";
    position      : absolute;
    top           : 0;
    left          : 0;
    width         : 100%;
    height        : 100%;
    background    : rgba(0,0,0,0.65);
    pointer-events: none;
}
.contact-title {
    margin-bottom: 1.5rem;
}
.contact-title span {
    font-size     : 40px;
    text-transform: uppercase;
    color         : white;
}
.parallax-img {
    overflow: hidden;
}
.parallax-img img {
    transform  : translateX(0);
    will-change: transform;
    position   : absolute;
    display    : block;
    width      : 100%;
    height     : 100%;
    top        : 0;
    left       : 0;
    object-fit : cover;
    transition : all 280ms 0 ease-in-out;
}
.parallax-img2 {
    overflow: hidden;
}
.parallax-img2 img {
    width      : 140%;
    transform  : translateX(-80px);
    /* ← décale à gauche */
    will-change: transform;
}
.bloc-contact .container {
    position: relative;
    z-index : 2;
}
.card-title {
    line-height: 1.2;
}
.bloc-texte strong {
    color      : var(--color-1);
    font-weight: 500;
}
h2 {
    font-size     : 30px;
    color         : var(--color-1);
    text-transform: uppercase;
    font-weight   : 700;
    margin-bottom : 1.2rem;
}
h2.lower {
    text-transform: unset;
}
.plan-site h2 a {
    color    : var(--color-1)!important;
    font-size: 20px;
}
.bloc-plan {
    border-top : 2px solid #000;
    padding-top: 1rem;
}
.associes-detail h1 {
    color      : black;
    font-weight: 400;
    text-align : center;
    font-size  : 24px;
}
.bloc-plan:hover {
    border-top: 2px solid var(--color-1);
}
.plan-site h3 {
    font-size: 16px;
    color    : var(--color-1);
}
.bloc-right {
    padding-right: 7vw;
    padding-left : 7vw;
    position     : relative;
}
.ratio-8-5 {
    width       : 100%;
    aspect-ratio: 8 / 5;
    object-fit  : cover;
}
.ratio-1-1 {
    width       : 100%;
    aspect-ratio: 1 / 1;
    object-fit  : cover;
}
.galeries-widgets swiper-container.mySwiper,
.realisations-detail swiper-container.mySwiper {
    height: 520px;
}
.img-survol .bouton {
    position: absolute;
    display : block;
    width   : 100%;
    height  : 40px;
    left    : 0;
    bottom  : 0;
    overflow: hidden;
}
.img-survol .titre {
    position       : absolute;
    top            : 0;
    left           : 0;
    right          : 0;
    color          : #fff;
    font-weight    : 600;
    font-size      : 18px;
    text-align     : center;
    z-index        : 5;
    top            : unset;
    display        : flex;
    align-items    : end;
    justify-content: center;
    padding-bottom : 3rem;
    height         : 100%;
}
.img-survol .titre,
.img-survol .titre p {
    color        : #fff;
    font-weight  : 600;
    font-size    : 18px;
    margin-bottom: 0;
}
.img-survol .cache {
    position        : absolute;
    display         : block;
    z-index         : 2;
    width           : 100%;
    height          : 100%;
    top             : 0;
    left            : 0;
    background-color: rgba(0, 0, 0, 0.35);
    transition      : all 280ms 0 ease-in-out;
}
.ombre {
    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.35);
}
.card {
    position: relative;
}
.bloc-realisation .img-survol,
.card .img-survol {
    overflow: hidden;
}
.card:hover .img-survol,
.realisation-row:hover .img-survo {
    transition      : all 125ms cubic-bezier(0, 0.005, 1, 1);
    background-color: rgba(0, 0, 0, 0.15);
}
.img-survol img {
    position  : absolute;
    display   : block;
    width     : 100%;
    height    : 100%;
    top       : 0;
    left      : 0;
    object-fit: cover;
    transition: all 280ms ease-in-out;
}
/* overlay sombre */
.img-survol .overlay {
    position  : absolute;
    inset     : 0;
    background: rgba(0,0,0,0);
    transition: background 280ms ease-in-out;
    z-index   : 2;
}
/* au hover → fond plus sombre */
.card:hover .img-survol .overlay,
.realisation-row:hover .overlay {
    background: rgba(0,0,0,0.45);
}
.realisation-row:hover .img-survol img,
.realisations-widgets .card:hover .img-survol img {
    transform: scale(1.03);
}
.card .img-survol .bouton:before,
.realisation-row .img-survol .bouton:before {
    transition     : all 280ms ease-in-out;
    align-items    : center;
    position       : absolute;
    display        : flex;
    width          : 100%;
    height         : 100%;
    top            : 100%;
    left           : 0;
    content        : "Découvrir";
    text-align     : center;
    font-weight    : bold;
    color          : #fff;
    justify-content: center;
    text-transform : uppercase;
    letter-spacing : 2px;
    font-size      : 11px;
    z-index        : 10;
}
.card:hover .img-survol .bouton:before,
.realisation-row:hover .img-survol .bouton:before {
    top: 0;
}
.card .img-survol .bouton:after,
.realisation-row .img-survol .bouton:after {
    position        : absolute;
    display         : block;
    width           : 0;
    height          : 1px;
    top             : 0;
    left            : 50%;
    z-index         : 4;
    content         : "";
    background-color: white;
    transition      : all 1s cubic-bezier(0, 0, 0.025, 1.02);
}
.card:hover .img-survol .bouton:after,
.realisation-row:hover .img-survol .bouton:after {
    width: 100%;
    left : 0;
}
.card .img-survol .img--survol:after,
.realisation-row .img-survol .img--survol:after {
    position        : absolute;
    display         : block;
    z-index         : 2;
    width           : 100%;
    height          : 100%;
    top             : 0;
    left            : 0;
    background-color: transparent;
    content         : ' ';
    transition      : all 125ms cubic-bezier(0, 0.005, 1, 1);
}
.vertical-droit {
    display       : flex;
    align-items   : center;
    padding-bottom: 7vw;
    letter-spacing: 3px;
    padding       : 10.5vw 0;
    min-width     : 7vw;
    max-width     : 7vw;
    writing-mode  : vertical-lr;
    text-transform: uppercase;
    transition    : all 3s 500ms cubic-bezier(0, 0, 0.025, 1.02);
    position      : absolute;
    top           : 0;
    right         : 0;
    font-size     : 22px;
    height        : 100%;
}
.vertical-gauche {
    display       : flex;
    align-items   : center;
    padding-bottom: 7vw;
    letter-spacing: 3px;
    padding       : 10.5vw 0;
    min-width     : 7vw;
    max-width     : 7vw;
    writing-mode  : vertical-lr;
    text-transform: uppercase;
    transition    : all 3s 500ms cubic-bezier(0, 0, 0.025, 1.02);
    position      : absolute;
    top           : 0;
    left          : 0;
    font-size     : 22px;
    height        : 100%;
    background    : white;
}
.vertical-droit:after {
    position        : absolute;
    display         : block;
    width           : 1px;
    height          : 14vw;
    top             : 0;
    left            : 0;
    content         : "";
    background-color: #000;
    transition      : all 3s 1s cubic-bezier(0, 0, 0.025, 1.02);
}
.vertical-gauche:after {
    position        : absolute;
    display         : block;
    width           : 1px;
    height          : 14vw;
    top             : 0;
    right           : 0;
    content         : "";
    background-color: #000;
    transition      : all 3s 1s cubic-bezier(0, 0, 0.025, 1.02);
}
@media only screen and (min-width: 1025px) {
    body.accueil:after {
        position        : absolute;
        display         : block;
        width           : 1px;
        height          : 100%;
        top             : 0;
        content         : "";
        background-color: rgb(0 0 0 / 15%);
        z-index         : 0;
        pointer-events  : none;
    }
    body.accueil:after {
        right: 7%;
    }
}
#main-menu.menu-breakpoint #slide-menu {
    display       : block;
    flex-direction: unset;
}
/* ============================= */
/* GRID STRUCTURE                */
/* ============================= */
.presentation-grid {
    position   : relative;
    width      : 100%;
    max-width  : 650px;
    /* ajuste selon ta col-md-5 */
    margin-left: auto;
    /* colle au trait vertical */
}
/* ============================= */
/* IMAGE DU HAUT                 */
/* ============================= */
.parallax-left {
    position: relative;
    width   : 100%;
    z-index : 1;
}
.bloc-img {
    width: 200px;
}
.parallax-left img {
    width  : 100%;
    display: block;
}
/* ============================= */
/* IMAGE DU BAS                  */
/* ============================= */
.parallax-right {
    position   : relative;
    width      : 80%;
    margin-top : -80px;
    /* chevauchement vertical */
    margin-left: auto;
    /* alignée à droite */
    z-index    : 2;
}
.parallax-right img {
    width  : 100%;
    display: block;
}
.btn-contact {
    border       : 2px solid #fff;
    color        : #fff;
    border-radius: 0;
}
.btn-contact:hover {
    border    : 2px solid #fff;
    color     : #fff;
    background: rgba(255, 255, 255, 0.2);
}
.builderjs-layout .page-header .container,
.page-header .container {
    position: relative;
}
.blogs-widgets swiper-container::part(button-next),
.blogs-widgets swiper-container::part(button-prev) {
    top   : unset !important;
    bottom: -80px;
}
.blogs-widgets swiper-container::part(button-next) {
    right        : unset;
    left         : 2%;
    color        : var(--color-1);
    background   : white;
    border-radius: 50%;
    width        : 48px;
    height       : 48px;
}
.blogs-widgets swiper-container::part(button-prev) {
    color        : var(--color-1);
    background   : white;
    border-radius: 50%;
    width        : 48px;
    height       : 48px;
}
.blogs-widgets swiper-container::part(button-prev) {
    transform: scale(0.5) !important;
    padding  : 15px;
}
.blogs-widgets swiper-container::part(button-next) {
    transform: scale(0.5) !important;
    padding  : 15px;
}
.galeries-widgets swiper-container::part(button-next),
.realisations-detail swiper-container::part(button-next) {
    right        : 20px;
    color        : black;
    width        : 40px;
    height       : 40px;
    background   : white;
    color        : var(--color-1);
    border-radius: 50%;
}
.galeries-widgets swiper-container::part(button-prev),
.realisations-detail swiper-container::part(button-prev) {
    left         : 20px;
    color        : black;
    width        : 40px;
    height       : 40px;
    background   : white;
    color        : var(--color-1);
    border-radius: 50%;
}
.galeries-widgets swiper-container::part(button-prev),
.realisations-detail swiper-container::part(button-prev) {
    transform: scale(0.5) !important;
    padding  : 15px;
}
.galeries-widgets swiper-container::part(button-next),
.realisations-detail swiper-container::part(button-next) {
    transform: scale(0.5) !important;
    padding  : 15px;
}
.accueil .services .card:hover .img-survol img {
    filter: grayscale(1) contrast(1.35);
}
.retour a {
    color         : rgba(0,0,0,0.7) !important;
    text-transform: uppercase;
    font-weight   : 600;
    font-size     : 12px;
}
.accueil .services {
    display              : grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows   : 1fr 1fr 1fr;
    gap                  : 0 0;
    grid-auto-flow       : row;
    grid-template-areas  : "A B C" "D D E" "D D .";
    gap                  : 80px;
}
.realisations-detail .data-item__title,
.services-widgets .data-item__title {
    font-size    : 30px;
    font-weight  : 700;
    line-height  : 1.2;
    margin-bottom: 1.2rem;
}
.realisations-detail .data-item__description,
.services-widgets .data-item__description {
    line-height: 1.6;
}
.bloc-realisation .card-title {
    margin-bottom: 1rem;
}
.services-widgets .card-title {
    margin-bottom: 1rem;
}
.services-widgets .data-item__content_short {
    font-size    : 16px;
    margin-bottom: 1rem;
    font-weight  : 500;
}
.data-item__share {
    text-align: center;
}
.share-title {
    text-transform: uppercase;
    color         : var(--color-1);
    letter-spacing: 4px;
    margin-bottom : 10px;
}
.share-icons i {
    font-size: 20px;
    color    : var(--color-1);
}
.share-icons a {
    margin-right: 10px;
}
.share-icons a:hover {
    color: #b58351;
}
.A {
    grid-area: A;
}
.B {
    grid-area: B;
}
.C {
    grid-area: C;
}
.D {
    grid-area: D;
}
.E {
    grid-area: E;
}
ul.list-group {
    gap: 0 20px;
}
.list-group-item {
    border-radius: 0;
    font-size    : 20px;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius   : 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius   : 0;
}
.sticky-top {
    position: -webkit-sticky !important;
    position: sticky !important;
    top     : calc(115px + 40px);
    z-index : 0;
}
.services-widgets p {
    line-height: 2;
}
.list-group-item:hover {
    background: #f7eae2;
}
.galeries-widgets swiper-slide img,
.realisations-detail swiper-slide img {
    width          : 100%;
    height         : 693px;
    object-fit     : cover;
    object-position: center;
}
.sous-titre {
    font-size     : 12px;
    text-transform: uppercase;
}
.margin-top {
    margin-top: -3rem;
    background: white;
    z-index   : 1;
    position  : relative;
}
.bloc-realisation .row:not(.flex-md-row-reverse) > .col-md-6:nth-child(2) {
    display        : flex;
    flex-direction : column;
    justify-content: center;
}
.services .card {
    padding: 1rem;
}
.form-check-label {
    font-size  : 14px;
    line-height: 1.1;
}
.fw-thin {
    font-weight: 300;
}
/* ============================= */
/* RESPONSIVE                    */
/* ============================= */
@media (max-width: 1499px) {
    .padding-left {
        padding-right: 148px;
    }
    .padding-photo {
        padding-right: 40px;
    }
}
@media (max-width: 1299px) {
    .accueil .realisations-widgets {
        padding: 6.5vw 7vw 6.5vw 0;
    }
}
@media (max-width: 1199px) {
    .accueil .services {
        gap: 40px;
    }
}
@media (max-width: 991px) {
    .presentation-grid {
        max-width: 100%;
    }
    .bloc-right {
        padding-right: 10vw;
    }
    h2 {
        font-size: 27px;
    }
    .blogs-widgets .data-item__title {
        font-size: 25px;
    }
    .padding-left {
        padding-right: 30px;
    }
    .parallax-right {
        margin-top: -68px;
        width     : 500px;
        max-width : 100%;
    }
    .list-footer {
        gap: 15px 25px;
    }
    .accueil .services {
        gap: 20px;
    }
    .section-bois {
        padding: 6.5vw 0 7vw 6.5vw;
    }
    .accueil .services {
        display              : grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows   : 1fr 1fr 1fr;
        gap                  : 20px;
        grid-auto-flow       : row;
        grid-template-areas  : "A B" "C D" "E .";
    }
}
@media (max-width: 767px) {
    .hero-img::after {
        content       : "";
        position      : absolute;
        inset         : 0;
        background    : black;
        opacity       : 0.4;
        transition    : opacity 0.6s ease;
        pointer-events: none;
        z-index       : 1;
    }
    .bloc-img {
        width: 150px;
    }
    .liste-partner {
        gap: 20px;
    }
    .bloc-footer {
        margin: 0;
    }
}
@media (max-width: 575px) {
    .accueil .services {
        flex-direction: column;
        display       : flex;
    }
    h2 {
        font-size: 19px;
    }
    .bloc-img {
        width: 130px;
    }
    .bloc-right {
        padding-left: 5px;
    }
    .menu-left {
        justify-content: left;
        padding-left   : 2rem;
        height         : 75px;
    }
    #main-menu .logo > img {
        height: 45px;
    }
    .list-footer {
        flex-direction: column;
    }
    #burger {
        --burger-size: 55px;
    }
}
ul.menufx {
    position        : fixed;
    left            : 0;
    bottom          : 7px;
    z-index         : 5;
    width           : 100vw;
    box-sizing      : border-box;
    background-color: rgba(0, 0, 0, 0.95);
    color           : #fff;
    display         : flex;
    justify-content : space-around;
    align-items     : center;
    transition      : all 0.45s 0 ease-in-out;
    transform       : translateY(23px);
    z-index         : 100;
}
ul.menufx .bt.small {
    padding: 12px;
}
.bt,
.bt:visited,
.bt[type=submit] {
    float            : left;
    padding          : 15px 20px;
    display          : inline-flex;
    white-space      : nowrap;
    align-items      : center;
    cursor           : pointer;
    background-repeat: no-repeat;
    line-height      : 1.56em;
    appearance       : none;
    outline          : none;
    color            : #000;
    border           : none;
    font-size        : 12px;
    text-transform   : uppercase;
    font-weight      : bold;
    letter-spacing   : 1px;
    transition       : all 100ms 0 ease-in;
}
ul.menufx > li > a > span {
    display: block;
    opacity: 0.8;
}
ul.menufx > li > a {
    display            : block;
    margin             : 0 auto;
    background-size    : auto !important;
    background-position: center 4px !important;
    text-align         : center;
    color              : #fff !important;
    text-transform     : uppercase;
    font-size          : 12px;
    white-space        : nowrap;
    font-weight        : normal;
}
ul.menufx > li {
    flex            : 1 1 50%;
    background-color: transparent;
    border          : none !important;
    border-right    : 1px solid rgba(255, 255, 255, 0.05) !important;
    height          : 63px;
}
ul.menufx > li > a > span {
    display: block;
    opacity: 0.8;
}
.bt:hover,
.bt:visited:hover,
.bt[type=submit]:hover {
    background-color: #a27445;
}
.menu-breakpoint > #slide-menu {
    top   : 75px;
    height: calc(100vh - 75px);
}
@media only screen and (min-width: 1025px) {
    ul.menufx {
        display: none;
    }
}
@media(max-width:1086px) {
    main {
        margin-top: 75px;
    }
    .galeries-widgets swiper-container.mySwiper,
    .realisations-detail swiper-container.mySwiper {
        height: 400px;
    }
}
@media(max-width:991px) {
    .padding-left {
        padding-left: 60px;
    }
}
@media(max-width:575px) {
    .padding-left {
        padding-left: 25px;
    }
    .vertical-droit,
    .vertical-gauche {
        font-size: 10px;
    }
    .padding-photo {
        padding-left : 55px;
        padding-right: 20px;
    }
    .parallax-right {
        width: 215px;
    }
    .parallax-img img {
        position: relative;
    }
    .padding-right {
        padding-right: 40px;
    }
    swiper-container.mySwiper {
        height: 68vh;
    }
    .padding-left {
        padding-right: 0;
    }
    .blogs-widgets .card-title {
        line-height: 1.2;
    }
    .blogs-widgets .data-item__title {
        font-size: 20px;
    }
    .accueil .realisations-widgets {
        padding: 6.5vw 2vw 6.5vw 2.5vw;
    }
    .bloc-right {
        padding-right: 8vw;
    }
    .sd-cmp-nkWFW {
        bottom: 75px !important;
    }
    .contact-title span {
        font-size: 30px;
    }
    footer {
        padding: 1rem 1rem 7rem;
    }
    .bloc-realisation .row:not(.flex-md-row-reverse) > .col-md-6:nth-child(1) {
        padding-right: 15px;
    }
    .bloc-realisation .row.flex-md-row-reverse > .col-md-6:nth-child(1) {
        padding-left: 15px;
    }
    .galeries-widgets swiper-container.mySwiper,
    .realisations-detail swiper-container.mySwiper {
        height: 300px;
    }
    .galeries-widgets swiper-slide img,
    .realisations-detail swiper-slide img {
        height: 250px;
    }
    .realisations-detail .data-item__title,
    .services-widgets .data-item__title {
        font-size: 22px;
    }
    .realisations-detail swiper-container::part(button-prev) {
        left: 0;
    }
    .realisations-detail swiper-container::part(button-next) {
        right: 0;
    }
    .form-control::placeholder {
        font-size  : 14px;
        line-height: 1.1;
    }
}
footer .title {
    font-size    : 18px;
    font-weight  : 700;
    line-height  : 1.2;
    margin-bottom: 1rem;
}
/* .footer-popup {
    position                  : fixed;
    inset                     : 0;
    background                : white;
    transform                 : translateY(-100%);

    transition                : transform 0.3s ease;
    z-index                   : 9999;
    overflow-y                : auto;
    -webkit-overflow-scrolling: touch;
}
.footer-popup.active {
    transform: translateY(0);
}  */
.foot-bloc a {
    display      : flex;
    gap          : 0 3px;
    margin-bottom: 10px;
}
h1.page-title {
    font-size: 28px;
}
.associes h1.page-title {
    font-size  : 28px;
    color      : var(--color-1)!important;
    font-weight: 700;
}
.modules.realisations .realisations-header {
    height     : 100px;
    padding-top: 1rem;
}
.foot-link:hover {
    display        : block;
    text-decoration: underline;
    cursor         : pointer;
}
.foot-bloc a i {
    flex-shrink: 0;
}
.footer-popup.active {
    transform: translateY(0);
}
.bg-gris {
    background: rgba(0,0,0,0.1);
}
.plan-site a:hover {
    opacity: 0.5;
}
.plan-site h3 a {
    color     : var(--color-1) !important;
    transition: 0.2s all;
}
.plan-site h3 a:hover {
    opacity: 0.5;
}
.advertisings-widgets {
    position: relative;
}
.advertisings-widgets:after {
    position  : absolute;
    display   : block;
    width     : 93%;
    height    : 30px;
    right     : 0;
    bottom    : 0;
    content   : "";
    background: white;
    z-index   : 2;
}
html {
    scroll-behavior: smooth;
}
@media(max-width:991px) {
    .galeries-widgets swiper-slide img,
    .realisations-detail swiper-slide img {
        height: 450px;
    }
    .section-bois {
        padding: 6.5vw 2vw 7vw;
    }
}
@media(max-width:1024px) {
    body {
        padding-bottom: 70px;
    }
    footer {
        padding: 2rem 1rem 1rem;
    }
}
@media(max-width:767px) {
    .galeries-widgets swiper-slide img,
    .realisations-detail swiper-slide img {
        height: 350px;
    }
}
@media(max-width:575px) {
    .bois {
        padding: 1.5rem 1rem;
    }
}
@media (max-width: 767px) {
    .parallax-img2 {
        padding-right: 0 !important;
    }
    .parallax-img2 .img-fit {
        width    : 100%;
        transform: translateX(0) !important;
    }
}