/*******************************************************
FONTS
********************************************************/

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/*******************************************************
COLOR
********************************************************/
.bleu {
    color: #0052A7;
}

.bleuclair {
    color: #40C0F1;
}

.vert {
    color: #7EBC4A;
}

.vertfonce {
    color: #00A651;
}

.rouge {
    color: #FF0000;
}

.blanc {
    color: white;
}


/*******************************************************
GENERAL
********************************************************/
body {
    font-weight: 400;
    color: black;
    font-size: 16px;
    font-family: Montserrat !important;
}

p, li, label {
    font-weight: 400;
    font-size: 16px;
}


#back-to-top {
    position: fixed;
    bottom: 7px;
    right: 7px;
    display: none;
    z-index: 200;
    text-align: center;
}

    #back-to-top .fa-regular {
        background-color: #D15015;
        color: #fff;
        width: 40px;
        height: 40px;
        font-size: 18px;
        line-height: 40px;
        border-radius: 100%
    }

.container-fluid > .row,
.container-fluid > div > .row {
    padding: 0;
}

.max-width {
    max-width: 1600px;
    margin: 0 auto;
}


.max-width-entete {
    max-width: 1920px;
    margin: 0 auto;
}


img {
    max-width: 100%;
}


h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    margin-top: 0;
}

footer {
    clear: both;
}

a {
    text-decoration: none;
    display: inline-block;
    color: #7EBC4A;
}

    a:hover,
    a:active,
    a:focus,
    button:hover,
    button:active,
    button:focus {
        text-decoration: none !important;
        box-shadow: none !important;
        outline: none !important;
        color: #40C0F1;
    }

p {
    margin: 0;
}



.anchor {
    visibility: hidden;
    height: 255px;
    margin-top: -255px;
}

.bg-perso {
    display: none;
}

@media(max-width:991px) {
    .anchor {
        visibility: hidden;
        height: 178px;
        margin-top: -178px;
    }
}

/*******************************************************
COMMUN
********************************************************/

.ico-circle span:not(.intitle) {
    border-radius: 100%;
    background-color: #004994;
    display: block;
    margin: 0 auto;
    height: 60px;
    text-align: center;
    line-height: 55px;
    width: 60px;
    border: 2px solid white;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.ico-circle.promo span:not(.intitle) {
    background-color: #FF0000;
}

.ico-circle.industriel span:not(.intitle) {
    background-color: #00A651;
}

.ico-circle.vert span:not(.intitle) {
    background-color: #51A32B;
}

.ico-circle.vitrage span:not(.intitle) {
    background-color: #40C0F1;
}

.ico-circle span:not(.intitle) img {
    height: 30px;
}

.ico-circle.xs span {
    height: 30px;
    width: 30px;
    line-height: 26px;
    border: 1px solid white;
}

    .ico-circle.xs span img {
        height: 15px;
    }

.ico-circle.sm span:not(.intitle) {
    height: 37px;
    width: 37px;
    line-height: 33px;
    border: 1px solid white;
}

    .ico-circle.sm span:not(.intitle) img {
        height: 19px;
    }

a.ico-circle:hover span:not(.intitle),
a.ico-circle:focus span:not(.intitle),
a.ico-circle:active span:not(.intitle),
a.ico-circle.active span:not(.intitle) {
    background-color: #7EBC4A;
    transition: all .3s ease;
}

.rdv {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    position: relative;
}

    .rdv .fond-rdv {
        position: absolute;
        left: -100px;
        top: 0;
    }

@media(max-width:991px) {
    .rdv {
        background-color: #0052A7;
        z-index: 0;
    }

        .rdv .fond-rdv {
            position: absolute;
            left: -100px;
            top: 0;
            z-index: -1;
        }
}

.rdv:before {
    content: "";
    position: absolute;
    background-image: url(/docs/templates/6/fond-footer-2.webp);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100%;
    width: 60%;
    top: 0;
    right: 0;
    z-index: -1;
}

.rdv.vitrage:before {
    background-image: url(/docs/templates/6/fond-footer-3.webp);
}

@media(max-width:991px) {
    .rdv {
        padding-bottom: 180px;
    }

        .rdv:before {
            height: 300px;
            top: initial;
            bottom: 0;
            width: 100%;
        }

        .rdv .btn-sl {
            transform: translateY(65px);
        }
}

@media(min-width:992px) {
    .rdv:after {
        content: "";
        position: absolute;
        background-color: #0052A7;
        border-radius: 0 0 120px 0;
        box-shadow: 10px 0 10px 0 rgba(0, 0, 0, 0.25);
        padding: 60px 0;
        height: 100%;
        width: 50%;
        top: 0;
        left: 0;
        z-index: -1;
    }
}

.rdv .content {
    margin-top: 70px;
    color: white;
    padding: 0 30px;
}

@media(max-width:991px) {
    .rdv .content {
        margin-top: 50px;
    }
}


.rdv .content .intro {
    font-size: 28px;
    font-weight: 700;
}

.rdv .content .hightlight,
.rdv .content .text {
    font-size: 24px;
}

.rdv .content .hightlight {
    color: #7EBC4A;
    font-weight: 700;
    margin: 30px 0;
}

@media(max-width:991px) {
    .rdv .content .intro,
    .rdv .content .hightlight {
        font-size: 20px;
    }

    .rdv .content .text {
        font-size: 16px;
    }
}

.rdv.vitrage p.title-section {
    background-color: #40C0F1;
}

.rdv.vitrage .content {
    margin-top: 40px;
}

    .rdv.vitrage .content img {
        margin-bottom: 20px;
    }

    .rdv.vitrage .content .hightlight {
        color: #40C0F1;
    }

.entete-page {
    background-color: #0052A7;
    padding: 30px 0;
}

    .entete-page h1 {
        color: white;
        font-family: Orbitron;
        font-size: 32px;
        margin: 0;
        font-weight: 600;
        text-transform: uppercase;
        position: relative;
        padding-left: 90px;
    }

        .entete-page h1 span {
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            left: 0;
        }

@media(max-width:991px) {
    .entete-page h1 {
        font-size: 20px;
    }
}

/*******************************************************
TITLE
********************************************************/


h1.home,
h1.page,
h2.home,
p.title-section,
h1.title-section,
h2.title-section,
.detail-prestation h2,
.prestation-anchor h1 {
    font-size: 32px;
    font-family: orbitron;
    color: white;
    display: inline-block;
    border-radius: 20px 0 20px 0;
    background-color: #7EBC4A;
    padding: 20px;
    font-weight: 500;
    text-transform: uppercase;
}

@media(max-width:767px) {
    h1.home,
    h1.page,
    h2.home,
    p.title-section,
    h1.title-section,
    h2.title-section,
    .detail-prestation h2,
    .prestation-anchor h1 {
        font-size: 20px;
    }
}




/*******************************************************
BTN
********************************************************/

.btn {
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 20px 0 20px 0;
}

    .btn i {
        color: white;
        margin-right: 10px;
        font-size: 18px;
    }


    .btn:hover,
    .btn:active,
    .btn:focus {
        transition: all 0.3s ease;
    }

.btn-default {
    color: black;
    background-color: #7EBC4A;
}

    .btn-default:hover,
    .btn-default:active,
    .btn-default:focus {
        background-color: #004994;
        color: white;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25) !important;
    }

.btn-secondary {
    background: linear-gradient(152deg,#AB2A18,#F8AB2B);
}

    .btn-secondary:before {
        background-color: #F8AB2B;
    }

.btn-sl {
    position: relative;
    color: white;
    background-color: #7EBC4A;
    line-height: 1;
    font-weight: 600;
    font-family: orbitron;
    border-radius: 20px 0 20px 0;
    padding: 30px 20px;
    padding-left: 90px;
}

    .btn-sl img {
        position: absolute;
        top: 19px;
        left: 20px;
    }

    .btn-sl:hover {
        background-color: #004994;
        color: white;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25) !important;
    }

/*******************************************************
HEADER
********************************************************/

header {
    background-color: #0052A7;
    color: white;
    padding: 10px 0;
    position: relative;
    border-bottom: 10px solid #7EBC4A;
}

    header .logo {
        max-width: 277px;
    }

@media(max-width:991px) {
    header .logo {
        max-width: 185px;
    }
}

header.fixed {
    position: fixed;
    width: 100%;
    z-index: 100;
}

header .navbar-nav {
    padding: 0;
    margin: 0;
}

    header .navbar-nav li {
        padding: 0 30px;
        text-align: center;
    }

        header .navbar-nav li + li {
            border-left: 1px solid #004082;
        }


    header .navbar-nav a {
        color: white;
        font-size: 16px;
        padding: 0;
        line-height: 1.2;
        font-family: Orbitron;
    }

header .ico-circle span {
    margin-bottom: 10px !important;
}

header .navbar .nav-link.active {
    color: white;
}

header .navbar-nav a:hover,
header .navbar-nav a:active,
header .navbar-nav a:focus {
    color: white !important;
}

header .navbar,
header .navbar .dropdown {
    position: inherit;
}

    header .navbar .dropdown-toggle::after {
        content: none;
    }

    header .navbar .dropdown-menu {
        width: 100%;
        border: none;
        background-color: #0052A7;
        color: white;
        border-radius: 0;
        margin-top: 3px;
        padding: 0;
        box-shadow: 0px 10px 10px -10px #00000033;
        text-align: center;
    }

        header .navbar .dropdown-menu a {
            padding: 20px;
        }

            header .navbar .dropdown-menu a span {
                margin-bottom: 10px;
            }


header .navbar-toggler {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    height: 100%;
    font-size: 28px;
    width: 65px;
}

    header .navbar-toggler:after {
        content: "";
        position: absolute;
        clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
        height: 100%;
        width: 100%;
        background-color: #7ebc4a;
        top: 0;
        left: 0;
        z-index: -1;
    }

    header .navbar-toggler .navbar-toggler-icon {
        width: auto;
        height: auto;
    }

header .sl-mobile {
    width: 30px;
}

@media(max-width:991px) {
    header {
        position: relative;
        border-bottom: 4px solid #7EBC4A;
    }

        header .navbar {
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 11;
            padding: 20px 0;
            height: 100%;
            overflow: auto;
            align-items: flex-start;
            text-align: left;
            left: -100%;
            background-color: #0052A7;
            transition: left .3s ease;
        }

            header .navbar.open-menu {
                left: 0;
                transition: left .3s ease;
            }

        header .navbar-collapse {
            display: block !important;
        }

            header .navbar-collapse .logo {
                max-width: 280px !important;
            }

        header .navbar .far {
            font-size: 25px;
            color: #0C4DA2;
            text-align: right;
            width: 100%;
        }

        header .navbar .nav-link br {
            display: none;
        }

        header .navbar .navbar-nav {
            align-items: flex-start;
        }

        header .navbar .nav-link {
            text-align: left;
            padding: 15px 0;
        }

        header .navbar .nav-item {
            border-left: none;
            width: 100%;
        }

            header .navbar .nav-item + .nav-item a {
                border-top: 1px solid #004082;
            }

        header .navbar .nav-link span {
            display: inline-block;
            margin-bottom: 0 !important;
            margin-right: 10px;
        }

        header .navbar .close-menu {
            font-size: 25px;
            color: white;
            text-align: right;
            width: 100%;
        }
}

/*******************************************************
FOOTER
********************************************************/


footer {
}

    footer .nav-footer {
        padding: 50px 0;
        color: white;
        background-color: #0052A7;
    }

        footer .nav-footer .col-lg + .col-lg {
            border-left: 1px solid #004082;
        }

        footer .nav-footer .reseau {
            background-color: #003A77;
            border-radius: 20px 0 20px 0;
            padding: 35px 20px;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

            footer .nav-footer .reseau a {
                height: 48px;
                width: 48px;
                border-radius: 100%;
                color: white;
                border: 4px solid white;
                text-align: center;
                font-size: 20px;
                text-align: center;
                line-height: 40px;
            }

@media(max-width:991px) {
    footer .nav-footer .reseau {
        padding: 20px;
        flex-direction: row;
    }
}

footer .nav-footer .logo {
    width: 260px;
}

    footer .nav-footer .logo + p {
        font-size: 18px;
        margin: 25px 0;
        font-weight: 300;
    }

footer .nav-footer .title {
    font-size: 24px;
    font-weight: 700;
    display: inline-block;
    background-color: #7EBC4A;
    padding: 10px 15px;
    border-radius: 20px 0 20px 0;
    margin-bottom: 20px;
}

footer .nav-footer ul {
    margin: 0;
    display: inline-block;
    padding: 0;
}

    footer .nav-footer ul li {
        list-style: none;
        position: relative;
        text-align: left;
        padding: 10px 0 10px 42px;
    }

        footer .nav-footer ul li a {
            color: white;
            font-size: 18px;
        }

        footer .nav-footer ul li span {
            position: absolute;
            left: 0;
            top: 8px;
        }

footer .copyright {
    display: none;
}

footer .copyright-footer {
    background-color: #004994;
    color: white;
    padding: 10px;
}


    footer .copyright-footer .max-width-footer {
        max-width: 1920px;
        margin: 0 auto;
    }


    footer .copyright-footer p {
        font-size: 12px;
    }

    footer .copyright-footer a {
        color: white;
        transition: all .3s ease;
    }

        footer .copyright-footer a:hover,
        footer .copyright-footer a:active,
        footer .copyright-footer a:focus {
            opacity: 0.6;
            transition: all .3s ease;
        }

@media(max-width:991px) {
    footer .border-row > div + div {
        border-top: 1px solid #004082;
        padding-top: 30px;
        padding-bottom: 15px;
    }

    footer .border-row > div:nth-child(2) {
        padding-top: 30px;
        padding-bottom: 30px;
        margin-top: 30px;
    }

    footer .nav-footer .col-lg + .col-lg {
        border-left: 1px solid #004082;
    }
}


/*******************************************************
HOME
********************************************************/

.main-carousel .carousel-control-prev,
.main-carousel .carousel-control-next {
    display: none;
}

.main-carousel li::marker {
    content: none;
}

.main-carousel .carousel-indicators {
    justify-content: end;
    margin-right: 5%;
    margin-left: 5%;
}

    .main-carousel .carousel-indicators [data-bs-target] {
        width: 25px;
        height: 25px;
        background-color: white;
    }

    .main-carousel .carousel-indicators .active {
        background-color: #0052A7;
    }


.main-carousel img {
    display: block;
    margin: 0 auto;
}

.about {
    background-color: #F0F0F0;
    padding: 60px 0;
}

    .about h2 {
        font-size: 24px;
        font-weight: 700;
        margin: 0;
        text-transform: uppercase;
    }

    .about img {
        margin: 30px auto;
        background-color: white;
        border-radius: 20px 0 20px 0;
        padding: 20px 30px;
        width: 180px !important;
        max-height: 140px;
    }

    .about .owl-carousel,
    .liste-activite .owl-carousel {
        margin-top: 40px;
    }

    .about .owl-item,
    .liste-activite .owl-item {
        text-align: center;
    }

    .about .owl-item p,
    .liste-activite .owl-item p{
        padding:0 30px;
    }

    .about .owl-dots,
    .liste-activite .owl-dots {
        text-align: center;
        margin-top: 30px;
    }

    .about .owl-dot,
    .liste-activite .owl-dot {
        display: inline-block;
    }

        .about .owl-dot button,
        .liste-activite .owl-dot button {
            padding: 10px;
            font-family: orbitron;
            background-color: #D9D9D9;
            color: #ADADAD;
            font-size: 12px;
            border-radius: 6px 0 6px 0;
            margin: 0 3px;
            line-height: 1;
        }

        .about .owl-dot.active button,
        .liste-activite .owl-dot.active button {
            background-color: #7EBC4A;
            color: white;
        }

.liste-activite .owl-carousel img {
    display: inline-block;
}

.home-prestation {
    padding: 60px 0;
}

    .home-prestation .content {
        overflow: hidden;
        width: 100%;
        border-radius: 20px 0 20px 0;
    }

        .home-prestation .content h3 {
            background-color: #0052A7;
            height: 70px;
            padding: 15px 10px;
            font-size: 20px;
            margin: 0;
            padding-left: 60px;
            display: flex;
            color: white;
            position: relative;
            align-items: flex-start;
            flex-direction: column;
            justify-content: center;
        }

            .home-prestation .content h3 .intitle {
                font-size: 16px;
                font-weight: 300;
                display: block;
            }

            .home-prestation .content h3 span:not(.intitle) {
                position: absolute;
                left: 10px;
                top: 18px;
            }

    .home-prestation .container-img {
        aspect-ratio: 1 / 1;
        background-size: cover !important;
        background-position: center !important;
        position: relative;
    }

        .home-prestation .container-img:before {
            content: "";
            position: absolute;
            height: 100%;
            width: 100%;
            background-color: #0052A7;
            opacity: 0;
            top: 0;
            left: 0;
            transition: all 0.3s ease;
        }

    .home-prestation .content:hover .container-img:before {
        opacity: 0.6;
        transition: all 0.3s ease;
    }

    .home-prestation .container-img p {
        font-family: orbitron;
        display: inline-block;
        z-index: 2;
        color: white;
        display: inline-block;
        border-radius: 20px 0 20px 0;
        background-color: #7EBC4A;
        padding: 15px 20px;
        font-weight: 500;
        width: max-content;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
        opacity: 0;
        transition: all 0.3s ease;
    }

    .home-prestation .content:hover .container-img p {
        opacity: 1;
        transition: all 0.3s ease;
    }

.home-avis-client {
    background-color: #F0F0F0;
    padding: 60px 0;
}


/*******************************************************
PRESTATIONS
********************************************************/

.intro-prestation {
    background-color: #0052A7;
    padding: 40px 0;
    color: white;
    z-index: 1;
    overflow: hidden;
    position: relative;
}

    .intro-prestation:before {
        content: "";
        position: absolute;
        background-image: url(/docs/templates/6/fond-intro-prestation.webp);
        background-repeat: no-repeat;
        height: 1014px;
        width: 848px;
        opacity: 0.35;
        right: -30px;
        top: 50%;
        transform: translateY(-50%);
        z-index: -1;
    }

    .intro-prestation .side-img {
        border-radius: 120px 0 120px 0;
    }

    .intro-prestation .title-section {
        padding-left: 100px;
        line-height: 1;
        position: relative;
        text-transform: initial;
        margin-bottom: 40px;
    }

        .intro-prestation .title-section span {
            position: absolute;
            top: 9px;
            left: 20px;
        }

    .intro-prestation .content {
        padding: 40px;
    }


    .intro-prestation.vitrage {
        background-color: #40C0F1;
        color: black;
    }

        .intro-prestation.vitrage .title-section {
            background-color: #40C0F1;
            padding-left: 20px;
            box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        }

        .intro-prestation.vitrage:before {
            background-image: url(/docs/templates/6/fond-intro-vitrage.webp);
            height: 1328px;
            width: 1026px;
        }

    .intro-prestation.groupe .title-section {
        padding-left: 20px;
    }

@media(max-width:991px) {
    .intro-prestation.groupe .title-section {
        text-align: center;
    }

        .intro-prestation.groupe .title-section img {
            display: block;
            margin: 0 auto;
        }
}

@media(max-width:991px) {
    .intro-prestation {
        background-color: #0052A7;
        padding: 20px 0;
        color: white;
        z-index: 1;
        overflow: hidden;
        position: relative;
    }

        .intro-prestation .content {
            padding: 20px;
        }

        .intro-prestation .title-section {
            display: block;
        }
}


.detail-prestation {
    position: relative;
    padding: 30px 0;
    overflow: hidden;
}

    .detail-prestation h2 {
        text-transform: initial;
        margin-bottom: 30px;
    }



@media(min-width:992px) {
    .detail-prestation .content {
        padding: 30px;
    }
}

.detail-prestation .content p {
    font-size: 18px;
}


.alterne {
    max-width: 1920px;
    margin: 0 auto;
}

    .alterne:nth-child(even) .detail-prestation img {
        border-radius: 120px 0 0 120px;
        border-left: 8px solid #7EBC4A;
        transform: translateX(15px);
    }

    .alterne:nth-child(even) .row:not(.absolute-lg) {
        flex-direction: row-reverse;
    }

    .alterne:nth-child(odd) .detail-prestation img {
        border-radius: 0 120px 120px 0;
        border-right: 8px solid #7EBC4A;
        transform: translateX(-15px);
    }

    .alterne:nth-child(odd) .row.absolute-lg {
        flex-direction: row-reverse;
    }

    .alterne.vitrage img {
        border-color: #40C0F1 !important;
    }

    .alterne.vitrage h2 {
        background-color: #40C0F1;
    }

@media(min-width:992px) {

    .detail-prestation .absolute-lg {
        position: absolute;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: 100%;
        left: 50%;
        max-width: 1600px;
        padding: 0 15px;
    }
}


@media(max-width:991px) {

    .detail-prestation .container-img {
        margin-bottom: 30px;
    }
}

.prestation-anchor {
    padding: 40px 0;
    background-color: #004994;
}

@media(max-width:991px) {
    .prestation-anchor .liste {
        display: none;
    }

    .prestation-anchor h1 {
        margin: 0;
    }
}

.prestation-anchor .liste {
    margin-top: 20px;
}

    .prestation-anchor .liste a {
        padding: 5px 15px;
        background-color: #7EBC4A;
        color: white;
        font-family: orbitron;
        border-radius: 20px 0 20px 0;
        font-size: 20px;
        margin: 10px;
        transition: all .3s ease;
    }

        .prestation-anchor .liste a:hover {
            background-color: #0052A7;
            color: white;
            transition: all .3s ease;
        }

.prestation-anchor.vitrage {
    background-color: #40C0F1;
    box-shadow: inset -1px 3px 4px 0 rgba(0, 0, 0, 0.25);
}

    .prestation-anchor.vitrage h1 {
        background-color: #40C0F1;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }

    .prestation-anchor.vitrage .liste a {
        background-color: #40C0F1;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }

        .prestation-anchor.vitrage .liste a:hover {
            background-color: #0052A7;
        }


/*******************************************************
GROUPE
********************************************************/

.liste-activite {
    background-color: #004994;
    padding: 50px 0;
}

    .liste-activite .ico-circle span {
        height: 150px;
        line-height: 138px;
        width: 150px;
        border-width: 5px;
        margin-bottom: 20px;
    }

    .liste-activite .ico-circle img {
        height: 75px !important;
    }

    .liste-activite a {
        color: white;
        font-family: orbitron;
    }



/*******************************************************
MENTIONS LEGALES
********************************************************/
.mentions-legales {
    margin-bottom: 40px;
}

    .mentions-legales .title {
        margin-bottom: 0;
        font-weight: 700;
        color: #51a32b;
        font-size: 32px;
    }

    .mentions-legales h2 {
        font-weight: 500;
        color: #51A32B;
        font-size: 22px;
        margin-top: 40px;
        margin-bottom: 15px;
    }

/*******************************************************
COOKIE BAR 
********************************************************/

.weCookieBar .btn-default {
    font-size: 16px;
    margin: 5px 5px 0 5px;
    padding: 8px 25px;
    font-family: orbitron;
    color: white;
    background-color: #7EBC4A;
}

    .weCookieBar .btn-default:hover,
    .weCookieBar .btn-default:active,
    .weCookieBar .btn-default:focus {
        background-color: #004994;
        color: white;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25) !important;
    }

#cookiesModal .modal-title {
    font-size: 24px;
    font-family: 'Orbitron';
    font-weight: 600;
    color: #0052A7;
}

#cookiesModal h2,
#cookiesModal h3 {
    font-size: 22px;
    font-family: 'Orbitron';
}

#cookiesModal .form-group {
    margin-top: 20px;
}


/*******************************************************
FORM
********************************************************/

.contact {
    background-color: #F0F0F0;
    padding: 50px 0;
    position: relative;
    z-index: 1;
}

@media(max-width:991px) {
    .contact {
        padding-top: 0;
    }
}

.contact .weGmap {
    position: absolute;
    height: 100%;
    width: 50%;
    top: 0;
    left: 0;
    z-index: -1;
}

@media(max-width:991px) {
    .contact .weGmap {
        display: none;
    }
}

.contact #plan-acces,
.contact .mapContainer {
    height: 100% !important;
}

.contact .weGmap .gm-style-iw-t {
    display: none;
}

.contact h2.ico-circle {
    display: inline-block;
    background-color: #0052A7;
    color: white;
    font-size: 20px;
    font-weight: 600;
    padding: 20px 50px;
    margin-bottom: 40px;
    position: relative;
    padding-left: 150px;
    border-radius: 20px 0 20px 0;
    position: relative;
}

    .contact h2.ico-circle span {
        position: absolute;
        top: 7px;
        left: 75px;
        height: 50px;
        line-height: 47px;
        width: 50px;
    }

        .contact h2.ico-circle span img {
            height: 22px;
        }

.contact label {
    color: black !important;
    font-weight: 500;
}

.contact .form-control {
    background-color: white;
    border: 1px solid transparent;
    color: #898989;
    font-weight: 500;
    padding: 10px 12px;
    border-radius: 0;
}

    .contact .form-control:active,
    .contact .form-control:focus {
        border: 1px solid #0C4DA2;
        background-color: white;
        box-shadow: none;
        outline: none;
    }


    .contact .form-control[type="checkbox"] {
        display: none;
    }

        .contact .form-control[type="checkbox"] + label {
            font-weight: 400;
            position: relative;
            padding-left: 30px;
            font-size: 16px;
            line-height: 1.2;
            margin-bottom: 15px;
        }

            .contact .form-control[type="checkbox"] + label:before {
                content: "\f0c8";
                position: absolute;
                font-family: 'Font Awesome 6 Pro';
                font-weight: 400;
                left: 0;
                font-size: 22px;
                color: #0052A7;
                top: -2px;
            }

            .contact .form-control[type="checkbox"] + label::after {
                content: "\f14a";
                position: absolute;
                font-family: 'Font Awesome 6 Pro';
                font-weight: 900;
                left: 0;
                font-size: 22px;
                top: -2px;
                color: #0052A7;
                opacity: 0;
            }

        .contact .form-control[type="checkbox"]:checked + label:after {
            opacity: 1;
        }

.contact textarea {
    min-height: 140px;
}

@media(min-width:992px) {
    .contact form {
        padding: 0 40px;
    }
}

.form-control.input-validation-error,
.form-control.input-validation-error:focus,
.form-control.input-validation-error:active {
    border: 1px solid #FF0000;
    background-color: #F7E2E3;
}

.field-validation-error span {
    margin-top: 5px;
    display: inline-block;
    font-size: 13px;
    color: #FF0000;
}

.encadre-info.bleu {
    background-color: #0052A7;
    color: white;
    padding: 15px;
    font-size: 13px;
    text-align: center;
    border-radius: 5px;
    font-weight: 500;
}

    .encadre-info.bleu i {
        font-size: 13px;
        margin-right: 10px;
    }

.contact .form-captcha > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
}

.contact #btnSubmit {
    background-color: #87001D;
    color: white;
    font-size: 20px;
    padding: 15px 70px;
    margin-top: 40px !important;
}

@media(max-width:991px) {
    .contact #btnSubmit {
        padding: 15px 50px;
    }
}

.contact .info-groupe {
    background-color: #0052A7;
    color: white;
    text-align: center;
    display: inline-block;
    padding: 30px 40px;
    border-radius: 120px 0 120px 0;
}

@media(max-width:991px) {
    .contact .info-groupe {
        border-radius: 0;
    }
}

@media(max-width:991px) {
    .contact #btnSubmit {
        padding: 15px 50px;
    }
}

.contact .info-groupe h2 {
    font-size: 32px;
    font-weight: 700;
    margin: 0;
    padding-left: 50px;
    display: inline-block;
    position: relative;
}

    .contact .info-groupe h2:before {
        content: "";
        position: absolute;
        background: url(/docs/templates/6/title-contact.svg);
        height: 29px;
        width: 40px;
        background-size: 100%;
        background-repeat: no-repeat;
        left: 0;
        top: 4px;
    }

@media(max-width:991px) {
    .contact .info-groupe h2 {
        text-align: left;
    }
}


.contact .info-groupe p {
    font-size: 18px;
    margin: 30px 0;
}

.contact .info-groupe .btn {
    font-size: 14px;
    margin: 5px;
}

.contact .info-groupe .gps {
    display: flex !important;
    margin-bottom: 30px;
}

    .contact .info-groupe .gps p {
        display: none !important;
    }

/*******************************************************
FAQ
********************************************************/

.filtre-module {
    background-color: #7EBC4A;
    padding: 20px 0;
    text-align: center;
}


    .filtre-module select {
        background-color: white;
        width: auto;
        margin: 0 auto;
        display: block;
        padding: 15px 60px 15px 30px;
        border-radius: 0;
        background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235%22%20height%3D%2222%22%20viewBox%3D%220%200%2035%2022%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M0.500004%205.66848L6.16667%200.000731183L17.5%2011.0007L28.8333%200.000732174L34.5%205.66848L17.5%2022.0007L0.500004%205.66848Z%22%20fill%3D%22%237EBC4A%22%2F%3E%3C%2Fsvg%3E);
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-repeat: no-repeat;
        background-position: right 15px center;
        background-size: 20px;
        cursor: pointer;
    }

.faq {
    padding: 40px 0;
}

    .faq .accordion-item {
        background-color: #F5F5F5;
        border: 1px solid #D4D4D4;
        border-radius: 20px 0 20px 0;
    }

        .faq .accordion-item button {
            background-color: transparent;
            font-size: 20px;
            font-weight: 700;
            color: black !important;
            padding: 35px 18px;
            box-shadow: none;
        }

            .faq .accordion-item button:after {
                background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235%22%20height%3D%2222%22%20viewBox%3D%220%200%2035%2022%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M0.500004%205.66848L6.16667%200.000731183L17.5%2011.0007L28.8333%200.000732174L34.5%205.66848L17.5%2022.0007L0.500004%205.66848Z%22%20fill%3D%22%230052A7%22%2F%3E%3C%2Fsvg%3E);
                height: 22px;
                width: 34px;
                background-size: 100%;
                background-repeat: no-repeat;
            }

            .faq .accordion-item button.collapsed:after {
                background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235%22%20height%3D%2222%22%20viewBox%3D%220%200%2035%2022%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M0.500004%205.66848L6.16667%200.000731183L17.5%2011.0007L28.8333%200.000732174L34.5%205.66848L17.5%2022.0007L0.500004%205.66848Z%22%20fill%3D%22%237EBC4A%22%2F%3E%3C%2Fsvg%3E);
            }

    .faq .accordion-body {
        padding-bottom: 35px;
        padding-top: 0;
    }


/*******************************************************
ACTUALITE
********************************************************/

.liste-actualite,
.liste-promo {
    padding: 50px 0;
}

    .liste-actualite .content,
    .liste-promo .content {
        height: 100%;
        position: relative;
        background-color: #F5F5F5;
        border: 1px solid #D4D4D4;
        padding: 20px 20px 40px 20px;
        border-radius: 20px 0 20px 0;
    }

    .liste-actualite span,
    .liste-promo span,
    .detail-actualite .date,
    .detail-actualite .categorie {
        color: #FFF;
        font-size: 14px;
        padding: 3px 6px;
        background-color: #0052A7;
        font-weight: 600;
        display: inline-block;
    }

    .liste-actualite .date,
    .liste-promo .date {
        margin-top: 20px;
    }

    .liste-actualite .categorie,
    .liste-promo .categorie {
        text-transform: uppercase;
        position: absolute;
        top: 40px;
        right: 40px;
    }

        .liste-promo .categorie.promo,
        .liste-actualite .categorie.promo {
            background-color: #FF0000;
        }

        .liste-promo .categorie.pneus,
        .liste-actualite .categorie.digital {
            background-color: #0052A7;
        }

        .liste-promo .categorie.entretiens,
        .liste-actualite .categorie.groupe {
            background-color: #7EBC4A;
        }

        .liste-promo .categorie.vitrageauto {
            background-color: #40C0F1;
        }

        .liste-promo .categorie.industriels {
            background-color: #00A651;
        }

        .liste-promo .categorie.autres {
            background-color: #003A77;
        }

    .liste-actualite h2,
    .liste-promo h2 {
        font-weight: 600;
        font-size: 20px;
        margin-top: 20px;
    }

    .liste-actualite img,
    .liste-promo img {
        border-radius: 20px 0 0 0;
    }

    .liste-promo h2 {
        text-transform: uppercase;
    }

    .liste-actualite .resume,
    .liste-promo .resume {
        margin-top: 20px;
        font-size: 18px;
    }

.detail-actualite {
    padding: 60px 0;
}

    .detail-actualite h1 {
        font-size: 32px;
        font-family: orbitron;
        margin-top: 15px;
    }

    .detail-actualite img {
        border-radius: 80px 0 80px 0;
    }

/*******************************************************
PAGINATION
********************************************************/
.pagination-container,
.liste-pager {
    display: flex;
    justify-content: center;
    padding: 30px 0;
}

    .pagination-container li .page-link,
    .liste-pager li span {
        color: black;
        font-weight: 700;
        background-color: white;
        display: block;
        height: 40px;
        width: 40px;
        line-height: 40px;
        text-align: center;
        padding: 0;
    }

    .liste-pager li + li span {
        border-left: 1px solid #D8D8D8;
    }

    .pagination-container li.active .page-link,
    .pagination-container li:hover .page-link,
    .pagination-container li:active .page-link,
    .pagination-container li:focus .page-link,
    .liste-pager li.active span,
    .liste-pager li:hover span,
    .liste-pager li:active span,
    .liste-pager li:focus span {
        background-color: #0052A7;
        color: white;
        cursor: pointer;
    }


/*******************************************************
STORE LOCATOR
********************************************************/
/************* liste */
.store-locator-title {
    background-color: #0052A7;
    color: white;
    padding: 25px 0 15px 0;
}

    .store-locator-title h1 {
        font-size: 32px;
        font-family: orbitron;
        text-transform: uppercase;
        position: relative;
        padding-left: 70px;
    }

@media(max-width:767px) {
    .store-locator-title h1 {
        font-size: 20px;
    }
}

.store-locator-title h1:before {
    content: "";
    position: absolute;
    height: 56px;
    width: 56px;
    background-image: url(/docs/templates/6/picto-sl-vert.svg);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.store-locator-title .filter {
    margin-top: 35px;
}

    .store-locator-title .filter p,
    .store-locator-title .filter label {
        font-size: 18px;
        margin-bottom: 10px;
    }

@media(max-width:767px) {
    .store-locator-title .filter p {
        font-size: 16px;
    }

    .store-locator-title .filter {
        margin-top: 30px;
    }
}


.store-locator-title .filter input {
    border-radius: 0;
    border: none;
}

.store-locator-title .filter .btn-search {
    background-color: transparent;
    font-size: 24px;
}

#container_locator_list .centre {
    background: linear-gradient(90deg, #0052A7 0%, #0073EA 100%);
    color: white;
    padding: 28px 40px;
    border-radius: 20px 0;
    margin-bottom: 30px;
}



    #container_locator_list .centre .btn {
        padding: 10px 20px;
        font-size: 12px;
        border-radius: 10px 0;
        line-height: 1;
    }

    #container_locator_list .centre .title {
        font-size: 20px;
        font-weight: 700;
        position: relative;
        padding-left: 45px;
    }

        #container_locator_list .centre .title:before {
            content: "";
            position: absolute;
            background: url(/docs/templates/6/title-contact.svg);
            height: 29px;
            width: 35px;
            background-size: 100%;
            background-repeat: no-repeat;
            left: 0;
            transform: translateY(-50%);
            top: 50%;
        }



    #container_locator_list .centre .adresse {
        font-size: 17px;
        font-weight: 500;
        margin: 5px 0;
    }


    #container_locator_list .centre .btn-liste {
        font-size: 18px;
        display: flex;
        height: 100%;
        flex-direction: column;
        /*justify-content: space-between;*/
        justify-content: flex-end;
    }

        /* TEMPORAIRE */
        #container_locator_list .centre .btn-liste .btn:last-child {
            display:none;
        }

        /* ********************* */

        #container_locator_list .centre .btn-liste .btn {
            color: white;
        }

    #container_locator_list .centre .prestation {
        display: flex;
        gap: 10px;
        display:none; /* TEMPORAIRE */
    }

@media(max-width:767px) {
    #container_locator_list .centre {
        text-align: center;
    }

        #container_locator_list .centre .title {
            text-align: left;
        }


        #container_locator_list .centre .adresse {
            font-size: 16px;
        }

            #container_locator_list .centre .adresse + div {
                flex-direction: column-reverse;
            }

        #container_locator_list .centre .btn {
            margin-top: 10px;
        }
}

.rangeslider,
.rangeslider__fill {
    display: block;
    height: 7px;
    width: 100%;
    -moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
}

.rangeslider {
    border-radius: 10px;
    box-shadow: none;
    margin-top: 15px;
    position: relative;
    background-color: #D8D8D8;
}

    .rangeslider .rangeslider--disabled {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
        opacity: 0.4;
    }

    .rangeslider .rangeslider__fill {
        border-radius: 10px;
        box-shadow: none;
        position: absolute;
        top: 0;
        background: #eaeaea;
    }

    .rangeslider .rangeslider__handle {
        background-color: #40C0F1;
        border: none;
        width: 25px;
        height: 25px;
        top: -8px;
        border-radius: 100%;
        cursor: pointer;
        display: inline-block;
        position: absolute;
        z-index: 7;
    }


.locator_slider-bar {
    width: 100%;
    background-color: #979797;
    height: 10px;
    border: 1px solid #767676;
    border-radius: 6px 6px 6px 6px;
    -webkit-box-shadow: 1px 1px 0 #919191 inset, 1px 1px 0 rgba(255, 255, 255, 0.65);
    -moz-box-shadow: 1px 1px 0 #919191 inset, 1px 1px 0 rgba(255, 255, 255, 0.65);
    -o-box-shadow: 1px 1px 0 #919191 inset, 1px 1px 0 rgba(255, 255, 255, 0.65);
    -ms-box-shadow: 1px 1px 0 #919191 inset, 1px 1px 0 rgba(255, 255, 255, 0.65);
    box-shadow: 1px 1px 0 #919191 inset, 1px 1px 0 rgba(255, 255, 255, 0.65);
    position: absolute;
    top: -1px;
    left: -1px;
}


.store-locator-liste .liste-centre {
    position: relative;
}

@media(max-width:767px) {
    .store-locator-liste #block_locator_map {
        /* display: none;*/
        visibility: hidden;
    }

    .store-locator-liste #container_locator_list {
        height: auto !important;
    }

    #block_locator_footer_list {
        display: none;
    }
}

.store-locator-liste #locator_map {
    left: 0;
    top: 0;
    background-size: cover;
    height: 1315px;
    width: 100%;
    margin: auto;
    position: absolute;
}

.store-locator-liste #container_locator_list {
    height: 1315px;
    padding: 30px 0;
}

.store-locator-liste .liste-centre .col-md-6 {
    position: relative;
}

/************* detail */

.store-locator-detail .info-map {
    background-color: #0052A7;
    color: white;
    padding: 20px 40px;
    border-radius: 120px 0;
    text-align: center;
    position: relative;
}

    .store-locator-detail .info-map h1 {
        font-size: 32px;
        font-weight: 700;
    }

    .store-locator-detail .info-map .prestation {
        display: flex;
        gap: 10px;
        justify-content: center;
        display:none; /* TEMPORAIRE */
    }

    .store-locator-detail .info-map .adresse {
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        margin: 30px 0;
    }

    .store-locator-detail .info-map .btn {
        font-size: 12px;
        line-height: 1;
        margin: 0 5px;
    }

    /********* TEMPORAIRE*/
    .store-locator-detail .info-map .btn:last-child {
        display:none;
    }
    /*********************/

    .store-locator-detail .info-map .gps {
        display: flex !important;
        justify-content: center;
    }

        .store-locator-detail .info-map .gps p {
            display: none;
        }

        .store-locator-detail .info-map .gps > div {
            flex: 0 0 auto;
            width: auto;
        }


    .store-locator-detail .info-map .lien-map .ico {
        position: relative;
        height: 53px;
        width: 53px;
        line-height: 53px;
        background-color: #0052A7;
        text-align: center;
        display: block;
        transition: opacity .3s ease, transform .3s ease;
    }

        .store-locator-detail .info-map .lien-map .ico:before {
            position: absolute;
            font-family: 'Font Awesome 6 Pro';
            font-size: 22px;
            left: 0;
            right: 0;
            color: #FFBD35;
            margin: auto;
            font-weight: 300;
        }

@media(min-width:768px) {
    .store-locator-detail .lien-map {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -53px;
    }

    .store-locator-detail .info-map .lien-map .ico {
        margin: 7px 0;
        border-radius: 0 15px 15px 0;
    }
}

@media(max-width:767px) {
    .store-locator-detail .lien-map {
        position: absolute;
        display: flex;
        left: 50%;
        transform: translateX(-50%);
        bottom: -53px;
    }

    .store-locator-detail .info-map .lien-map .ico {
        margin: 0 7px;
        border-radius: 0 0 15px 15px;
    }
}

.store-locator-detail .info-map .lien-map #div_streetview .ico:before {
    content: "\f21d";
}

.store-locator-detail .info-map .lien-map #div_streetview.active .ico:before {
    content: "\f279";
}


.store-locator-detail .info-map .lien-map #div_itineraire .ico:before {
    content: "\f277";
}


.info-centre-sl {
    background: #0052A7 url(/docs/templates/6/fond-info-sl.webp);
    background-repeat: no-repeat;
    background-position: right bottom;
    color: white;
    background-size: 30%;
    padding: 20px 0;
}


    .info-centre-sl h2 {
        color: #FFF;
        font-family: Orbitron;
        font-size: 18px;
        font-weight: 600;
        text-transform: uppercase;
        position: relative;
        padding-left: 120px !important;
        padding: 20px 80px;
        border-radius: 20px 0;
        background-color: #7EBC4A;
        display: inline-block;
    }

        .info-centre-sl h2:before {
            content: "";
            position: absolute;
            background-image: url(/docs/templates/6/picto-horaire.svg);
            height: 46px;
            width: 43px;
            left: 65px;
            top: 50%;
            transform: translateY(-50%);
        }

    .info-centre-sl .content {
        padding: 0 60px;
    }

@media(max-width:767px) {
    .info-centre-sl .content {
        padding: 0;
    }

    .info-centre-sl h2 {
        margin-top: 40px;
    }
}

.info-centre-sl img {
    border-radius: 120px 0;
}

.info-centre-sl ul {
    padding: 0;
    margin: 0;
    display: inline-block;
}

    .info-centre-sl ul li {
        padding: 15px 0;
    }

        .info-centre-sl ul li + li {
            border-top: 1px solid #034284;
        }

    .info-centre-sl ul .jour {
        font-weight: 700;
    }


.container-map-detail {
    position: relative;
}

    .container-map-detail #locator_map {
        height: 500px;
        top: 0;
        left: 0;
        width: 100%;
    }

@media (min-width: 768px) {
    .container-map-detail .info-map {
        position: absolute;
        top: 50%;
        width: inherit;
        transform: translateY(-50%);
    }
}

@media (max-width: 767px) {
    .container-map-detail {
        display: flex;
        flex-direction: column-reverse;
        background-color: #0052A7;
    }

        .container-map-detail #locator_map {
            height: 400px;
            top: 0;
            left: 0;
            width: 100%;
        }
}

.store-locator-liste .filter .input-group .form-input-autocomplete {
    position: absolute;
    bottom: -10px;
    transform: translateY(100%);
    width: calc(100% - 42px);
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    color: #6c757d;
    border-radius: 3px !important;
    overflow: hidden;
    border: 1px solid #ced4da;
    z-index: 100
}

    .store-locator-liste .filter .input-group .form-input-autocomplete > .autocomplete-item {
        font-size: 16px;
        font-weight: 400;
        padding: 8px;
        display: flex;
        padding: 8px 12px !important;
        align-items: center;
        column-gap: 8px
    }

        .store-locator-liste .filter .input-group .form-input-autocomplete > .autocomplete-item:not(:first-of-type) {
            padding-top: 4px
        }

        .store-locator-liste .filter .input-group .form-input-autocomplete > .autocomplete-item:not(:last-of-type) {
            padding-bottom: 4px
        }

        .store-locator-liste .filter .input-group .form-input-autocomplete > .autocomplete-item:hover {
            cursor: pointer;
            background: #f3f3f3;
        }

/*******************************************************
MENTIONS LEGALES
********************************************************/

.mention-legale {
    padding: 60px 0;
}

    .mention-legale h2 {
        font-size: 22px;
        font-family: orbitron;
        color: white;
        display: inline-block;
        border-radius: 20px 0 20px 0;
        background-color: #7EBC4A;
        padding: 20px;
        font-weight: 500;
        margin: 20px 0;
        text-transform: uppercase;
    }

    .mention-legale h3 {
        font-weight: 700;
        font-size: 22px;
        margin: 20px 0;
    }

    .mention-legale p {
        margin: 12px 0;
    }



/*******************************************************
 AVIS CLIENT
********************************************************/

.home-avis-client .avis {
    background-color: white;
    padding: 30px;
    height: 100%;
    font-family: Montserrat !important;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

    .home-avis-client .avis .abo {
        font-weight: 700;
        margin-bottom:15px;
    }


    .home-avis-client .avis .name {
        font-weight: 700;
        display: inline-block;
        margin-right: 5px;
        position: relative;
        margin-bottom: 10px;
        padding-left: 60px;
    }

        .home-avis-client .avis .name img {
            position: absolute;
            left: 0;
            max-width: 50px;
        }

        .home-avis-client .avis .name span {
            font-weight: 300;
            display: block;
        }

    .home-avis-client .avis .star {
        display: inline-block;
        vertical-align: top;
        line-height: 1.4;
    }

        .home-avis-client .avis .star .fas {
            font-size: 13px;
            color: #ffc100;
        }

    .home-avis-client .avis .aspect {
        margin-bottom: 20px;
    }

        .home-avis-client .avis .aspect span {
            font-weight: 700;
        }
