/*******************************************************
FONTS
********************************************************/

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap');

/*******************************************************
COLOR
********************************************************/
.darkgreen {
    color: #51A32B;
}

.lightgreen {
    color: #BFD783;
}

.darkorange {
    color: #D15015;
}

.lightorange {
    color: #E39059;
}

.darkyellow {
    color: #EDA327;
}

.lightyellow {
    color: #FCCA81;
}

/*******************************************************
GRADIENT
********************************************************/

.gradientgreen {
    background: linear-gradient(152deg,#51A32B,#BFD783);
}

.gradientorange {
    background: linear-gradient(152deg,#AB1A18,#E39059);
}

.gradientyellow {
    background: linear-gradient(152deg,#D36A15,#FCCA81);
}

.gradientwarm {
    background: linear-gradient(152deg,#AB2A18,#F8AB2B);
}

/*******************************************************
GENERAL
********************************************************/
body {
    font-weight: 400;
    color: black;
    font-size: 16px;
    font-family: Roboto !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: 1400px;
    margin: 0 auto;
}


img {
    max-width: 100%;
}


h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    margin-top: 0;
    font-family: Roboto;
}

footer {
    clear: both;
}

a {
    text-decoration: none;
    display: inline-block;
    color: #51A32B;
}

    a:hover,
    a:active,
    a:focus,
    button:hover,
    button:active,
    button:focus {
        text-decoration: none !important;
        box-shadow: none !important;
        outline: none !important;
        color: #D15015;
    }

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;
    }
}

@media(min-width:992px) {
    .container-img {
        width: 100%;
        height: 100%;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        border-radius: 15px;
    }

        .container-img img {
            display: none;
        }
}

@media(max-width:991px) {
    .container-img {
        margin-top: 40px;
    }

        .container-img img {
            border-radius: 15px;
        }
}

section > div[class^=home] {
    padding: 60px 0;
}

@media(max-width:767px) {
    section > div[class^=home] {
        padding: 40px 0;
    }
}


/*******************************************************
TITLE
********************************************************/


h1 {
    margin-top: 40px;
    font-weight: 700;
    margin-bottom: 40px;
}

.title-section {
    color: white;
    position: relative;
    padding: 40px 20px;
    border-radius: 15px;
    margin-bottom: 40px;
}

    .title-section .fa-light {
        left: 30px;
        top: 50%;
        transform: translateY(-50%);
        position: absolute;
        font-size: 45px;
        height: 85px;
        width: 85px;
        background-color: white;
        line-height: 85px;
        text-align: center;
        box-shadow: 0 0 0 8px rgba(250,250,250,0.4);
        border-radius: 100%;
    }

    .title-section h1,
    .title-section h2 {
        font-weight: 700;
        margin: 0;
        padding-left: 130px;
    }

    .title-section h1 {
        font-size: 38px;
    }

    .title-section h2 {
        font-size: 28px;
    }

        .title-section h1 span,
        .title-section h2 span {
            font-weight: 400;
            font-size: 20px;
            font-style: italic;
            display: block;
            margin-top: 5px;
        }

@media(max-width:767px) {
    .title-section h1,
    .title-section h2 {
        padding-left: 0;
        text-align: center;
        padding-top: 85px;
        font-size: 24px;
    }

        .title-section h1 span,
        .title-section h2 span {
            font-size: 16px;
        }

    .title-section .fa-light {
        top: 30px;
        left: 50%;
        transform: translate(-50%,0);
        font-size: 30px;
        height: 70px;
        width: 70px;
        line-height: 70px;
    }
}


/*******************************************************
BTN
********************************************************/

.btn {
    color: white;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 18px;
    border-radius: 10px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    z-index: 0;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

    .btn:before {
        content: "";
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        z-index: -1;
        position: absolute;
        opacity: 0;
        transition: all 0.3s ease;
    }

    .btn .fa-regular {
        font-size: 20px;
        margin-right: 8px;
    }

    .btn:hover,
    .btn:active,
    .btn:focus {
        transition: all 0.3s ease;
    }

        .btn:hover:before,
        .btn:active:before,
        .btn:focus:before {
            opacity: 1;
            transition: all 0.3s ease;
        }

.btn-primary {
    background: linear-gradient(152deg,#51A32B,#BFD783);
}

    .btn-primary:before {
        background-color: #51A32B;
    }



.btn-secondary {
    background: linear-gradient(152deg,#AB2A18,#F8AB2B);
}

    .btn-secondary:before {
        background-color: #F8AB2B;
    }

.btn-devis {
    padding: 15px 20px;
    margin-top: 40px;
    color: black !important;
    line-height: 1.3;
    display: inline-block;
    border-radius: 15px;
}

    .btn-devis span {
        display: block;
        font-size: 20px;
        font-weight: 700;
    }

@media(max-width:767px) {
    .btn-devis span {
        font-size: 18px;
    }
}

.btn-devis span .fa-solid {
    font-size: 16px;
    margin-left: 10px;
}

.btn-devis.btn-bateau {
    background: #FBF1D8;
}

    .btn-devis.btn-bateau span {
        color: #EDA327 !important;
    }

.btn-devis.btn-auto-moto {
    background: white;
}

    .btn-devis.btn-auto-moto span {
        color: #51A32B !important;
    }

.btn-devis.btn-mrh {
    background: #F0DDD0;
}

    .btn-devis.btn-mrh span {
        color: #D15015 !important;
    }

.btn-devis.btn-pret {
    background: white;
}

    .btn-devis.btn-pret span {
        color: #EDA327 !important;
    }


/*******************************************************
HEADER
********************************************************/

header {
    box-shadow: 0px 2px 13px 0px rgb(0 0 0 / 10%);
    padding: 10px 0;
    background-color: white;
}

    header.fixed {
        position: fixed;
        width: 100%;
        z-index: 100;
    }


    header .navbar-toggler {
        position: absolute;
        top: 14px;
        left: 10px;
        z-index: 10;
    }

        header .navbar-toggler .far {
            color: #51A32B;
            font-size: 28px;
        }

    header img {
        max-width: 130px;
        transition: all .3s ease;
    }

@media(max-width:767px) {
    header.fixed img {
        max-width: 90px;
        transition: all .3s ease;
    }
}

@media(max-width:767px) {
    header .btn {
        padding: 12px 18px;
        font-size: 16px;
        margin-top: 15px;
    }
}

@media(min-width:992px) {
    header .nav-item {
        position: relative;
    }

        header .nav-item + .nav-item:before {
            content: "/";
            color: #EDA327;
            font-weight: 800;
            left: -2px;
            top: 2px;
            position: absolute;
        }
}

header .nav-link {
    color: black;
    font-size: 18px;
    padding: 0 15px !important;
    transition: all .3s ease;
}

@media(min-width:992px) {
    header .nav-link:hover,
    header .nav-link:focus,
    header .nav-link:active {
        color: #D15015;
        transition: all .3s ease;
    }
}

@media(max-width:991px) {
    header .nav-link:hover,
    header .nav-link:focus,
    header .nav-link:active {
        color: white;
    }
}


header .nav-item:first-child .nav-link {
    padding-left: 0 !important;
}

header .nav-item:last-child .nav-link {
    padding-right: 0 !important;
}

@media(max-width:991px) {
    header .navbar {
        position: fixed;
        width: 80%;
        top: 0;
        z-index: 10;
        padding: 20px;
        height: 100%;
        left: -100%;
        background-color: #51A32B;
        transition: left .3s ease;
    }

        header .navbar .far {
            font-size: 30px;
            color: white;
            text-align: right;
            width: 100%;
        }

    .navbar.open-menu {
        left: 0;
        transition: left .3s ease;
    }

    header .navbar-collapse {
        height: 100%;
    }

    header .nav-link {
        display: block;
        color: white;
        padding: 15px 0px !important;
    }
}

/*******************************************************
FOOTER
********************************************************/

footer {
    background-color: #323232;
    color: white;
}

    footer .top-footer {
        padding: 30px 0;
    }

        footer .top-footer img {
            max-width: 140px;
        }

    footer .info-footer {
        position: relative;
    }

@media(min-width:992px) {
    footer .info-footer:after {
        content: "";
        position: absolute;
        height: 70%;
        width: 1px;
        top: 50%;
        transform: translateY(-50%);
        opacity: 0.3;
        background-color: white;
        right: -27px;
    }
}


footer .info-footer h2 {
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 10px;
}

    footer .info-footer h2 span {
        display: block;
        font-size: 16px;
    }

footer .reseau {
    margin-top: 10px;
}

    footer .reseau a {
        height: 30px;
        width: 30px;
        text-align: center;
        border-radius: 100%;
        border: 1px solid white;
        line-height: 30px;
        font-size: 14px;
        margin-right: 3px;
        background-color: transparent;
        transition: all .3s ease;
    }

        footer .reseau a:hover {
            border: 1px solid #51A32B;
            color: white;
            background-color: #51A32B;
            transition: all .3s ease;
        }

footer ul {
    margin: 0;
}

footer a {
    color: white;
}

footer .top-footer ul {
    padding: 0 25px;
}

    footer .top-footer ul li {
        list-style: none;
        line-height: 1.8;
    }

@media(min-width:768px) {
    footer .top-footer ul li + li {
        margin-top: 10px;
    }
}

@media(max-width:767px) {
    footer .top-footer ul li {
        margin-top: 10px;
        text-align: center;
    }
}



footer .top-footer p.orias {
    font-size: 13px;
    color: #C0C0C0;
    margin-top: 5px;
}



footer .bottom-footer {
    padding: 30px 0;
    background-color: #262626;
}

    footer .bottom-footer ul {
        padding: 0;
    }

        footer .bottom-footer ul li {
            display: inline-block;
            position: relative;
        }

            footer .bottom-footer ul li + li:before {
                content: "/";
                color: #EDA327;
                font-weight: 800;
                left: -2px;
                top: 2px;
                position: absolute;
            }

@media(max-width:767px) {
    footer .bottom-footer ul li {
        padding: 8px 7px;
    }

        footer .bottom-footer ul li + li:before {
            top: 9px;
        }
}

footer .bottom-footer ul li a {
    padding: 0 15px !important;
    transition: all 0.3s ease;
}

@media(min-width:992px) {
    footer .bottom-footer ul li a:hover,
    footer .bottom-footer ul li a:active,
    footer .bottom-footer ul li a:focus,
    footer .top-footer ul li a:hover,
    footer .top-footer ul li a:active,
    footer .top-footer ul li a:focus {
        color: white;
        opacity: 0.5;
        transition: all 0.3s ease;
    }
}

footer .bottom-footer ul li:first-child a {
    padding-left: 0 !important;
}

footer .bottom-footer .copy {
    font-size: 13px;
    opacity: 0.6;
}

footer .copyright {
    display: none;
}

/*******************************************************
CONTENT
********************************************************/

.home-auto-moto .horaires-supp {
    text-align: center;
    margin-bottom: 60px;
    background-color: #D15015;
    padding: 20px;
    color: white;
    border-radius: 15px;
}

    .home-auto-moto .horaires-supp h3 {
        /*padding: 0 !important;
        font-size: 22px !important;
        color: white !important;*/
        display: none;
    }

    .home-auto-moto .horaires-supp ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

.home-auto-moto {
    background-color: #E5EECD;
}

@media(min-width:992px) {
    .home-auto-moto .container-img {
        background-image: url(/docs/pages/26/2m-auto-moto-min.jpg);
    }
}


.home-auto-moto .title-section {
    background: linear-gradient(152deg,#51A32B,#BFD783);
}

    .home-auto-moto .title-section .fa-light {
        color: #51A32B;
    }

.home-auto-moto h3 {
    font-size: 28px;
    font-weight: 700;
    color: #50a22b;
    padding-left: 75px;
    position: relative;
    margin-bottom: 5px;
}

    .home-auto-moto h3 span {
        font-size: 16px;
        font-weight: 400;
        color: black;
        display: block;
    }



    .home-auto-moto h3 .fa-light {
        height: 55px;
        width: 55px;
        background-color: white;
        position: absolute;
        border-radius: 100%;
        left: 0;
        line-height: 55px;
        color: black;
        font-size: 24px;
        text-align: center;
        top: 50%;
        transform: translateY(-50%);
    }

.home-auto-moto .question {
    margin: 40px 0;
}

    .home-auto-moto .question p + p {
        margin-top: 40px;
    }

    .home-auto-moto .question p span {
        font-size: 18px;
        color: #51A32B;
        display: block;
        font-weight: 700;
    }

.home-auto-moto .pills p {
    padding: 15px;
    text-align: center;
    background-color: white;
    line-height: 1.2;
    color: black;
    border-radius: 10px;
}

.home-auto-moto .pills .eco {
    font-size: 20px;
}

    .home-auto-moto .pills .eco span {
        font-size: 36px;
        display: block;
        color: #51A32B;
        font-weight: 700;
    }

.home-auto-moto .pills .assu {
    font-size: 14px;
    padding: 22px 15px;
}

    .home-auto-moto .pills .assu span {
        font-size: 22px;
        font-weight: 700;
        color: #51A32B;
        display: block;
        margin-bottom: 10px;
    }

.home-auto-moto .liste {
    padding-left: 75px;
    margin-top: 25px;
}

    .home-auto-moto .liste p {
        line-height: 1.8;
    }

    .home-auto-moto .liste .fa-regular {
        font-weight: 900;
        color: #58b030;
        margin-right: 5px;
        font-size: 20px;
    }

/********************/


@media(min-width:992px) {
    .home-habitation .container-img {
        background-image: url(/docs/pages/26/2m-multirisque-habitation-min.jpg);
    }
}

.home-habitation .title-section {
    background: linear-gradient(152deg,#AB1A18,#E39059);
}

    .home-habitation .title-section .fa-light {
        color: #D15015;
    }

.home-habitation .garantie {
    margin: 40px 0;
}

    .home-habitation .garantie .content {
        position: relative;
        padding-left: 70px;
    }

.home-habitation .content .fa-light {
    height: 55px;
    width: 55px;
    background-color: #F0DDD0;
    border-radius: 100%;
    line-height: 55px;
    color: black;
    text-align: center;
    font-size: 24px;
}

.home-habitation .garantie .content .fa-light {
    position: absolute;
    left: 0;
    top: 0;
}

.home-habitation .assu {
    margin-bottom: 40px;
}

    .home-habitation .assu .content .fa-light {
        margin-bottom: 10px;
    }


    .home-habitation .assu .col-md-4 + .col-md-4 {
        position: relative;
    }

@media(min-width:768px) {
    .home-habitation .assu .col-md-4 + .col-md-4:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: #D15015;
        top: 0;
        left: 0;
    }
}

@media(max-width:767px) {
    .home-habitation .assu .col-md-4 + .col-md-4 {
        margin-top: 30px;
    }

        .home-habitation .assu .col-md-4 + .col-md-4:before {
            content: "";
            position: absolute;
            width: 70%;
            left: 50%;
            transform: translateX(-50%);
            height: 1px;
            background-color: #D15015;
            top: -15px;
        }
}

.home-habitation .garantie h3 {
    color: black;
    font-size: 16px;
    font-weight: 700;
}

    .home-habitation .garantie h3 span {
        font-size: 20px;
        color: #D15015;
        display: block;
        margin-bottom: 5px;
    }

.home-habitation .pills p {
    padding: 15px;
    text-align: center;
    font-size: 20px;
    background-color: #F0DDD0;
    line-height: 1.2;
    border-radius: 10px;
}

    .home-habitation .pills p span {
        color: #D15015;
        display: block;
        font-size: 24px;
        font-weight: 700;
        margin-top: 5px;
    }

.home-habitation small {
    margin-top: 40px;
    display: block;
    font-size: 14px;
    font-style: italic;
}

/********************/

.home-pret {
    background-color: #FBF1D8;
}

@media(min-width:992px) {
    .home-pret .container-img {
        background-image: url(/docs/pages/26/2m-pret-min.jpg);
    }
}

.home-pret .title-section {
    background: linear-gradient(152deg,#D36A15,#FCCA81);
}

    .home-pret .title-section .fa-light {
        color: #EDA327;
    }

.home-pret .content {
    text-align: center;
}

    .home-pret .content .fa-light {
        height: 55px;
        width: 55px;
        background-color: white;
        border-radius: 100%;
        line-height: 55px;
        color: #EDA327;
        margin-bottom: 10px;
        font-size: 24px;
        text-align: center;
    }


.home-pret .col-md-4 + .col-md-4 {
    position: relative;
}

@media(min-width:768px) {
    .home-pret .col-md-4 + .col-md-4:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: #EDA327;
        top: 0;
        left: 0;
    }
}

@media(max-width:767px) {
    .home-pret .col-md-4 + .col-md-4 {
        margin-top: 30px;
    }

        .home-pret .col-md-4 + .col-md-4:before {
            content: "";
            position: absolute;
            width: 70%;
            left: 50%;
            transform: translateX(-50%);
            height: 1px;
            background-color: #EDA327;
            top: -15px;
        }
}

.home-pret h3 {
    font-size: 28px;
    font-weight: 700;
    color: #EDA327;
    padding-left: 75px;
    position: relative;
    margin-bottom: 5px;
}

    .home-pret h3 span {
        font-size: 16px;
        font-weight: 400;
        color: black;
        display: block;
    }

    .home-pret h3 .fa-light {
        height: 55px;
        width: 55px;
        background-color: white;
        position: absolute;
        border-radius: 100%;
        left: 0;
        line-height: 55px;
        color: black;
        font-size: 24px;
        text-align: center;
        top: 50%;
        transform: translateY(-50%);
    }

.home-pret .liste {
    padding-left: 75px;
    margin-top: 25px;
}

    .home-pret .liste p {
        line-height: 1.8;
    }

    .home-pret .liste .fa-regular {
        font-weight: 900;
        color: #EDA327;
        margin-right: 5px;
        font-size: 20px;
    }


.home-pret small {
    margin-top: 40px;
    display: block;
    font-size: 14px;
    font-style: italic;
}

/********************/


@media(min-width:992px) {
    .home-sante .container-img {
        background-image: url(/docs/pages/26/2m-sante-min.jpg);
    }
}

.home-sante .title-section {
    background: linear-gradient(152deg,#51A32B,#BFD783);
}

    .home-sante .title-section .fa-light {
        color: #51A32B;
    }


.home-sante .bilan + p {
    margin-top: 30px;
}

    .home-sante .bilan + p span {
        font-weight: 700;
        font-size: 20px;
        color: #51A32B;
        margin-bottom: 40px;
        display: block;
    }

.home-sante .point-sante {
    margin: 40px 0;
}

    .home-sante .point-sante p {
        position: relative;
        padding-left: 70px;
    }

        .home-sante .point-sante p + p {
            margin-top: 40px;
        }

        .home-sante .point-sante p span {
            font-weight: 700;
            display: block;
        }

        .home-sante .point-sante p .fa-light {
            height: 55px;
            width: 55px;
            background-color: #E5EECD;
            border-radius: 100%;
            line-height: 55px;
            color: black;
            margin-bottom: 10px;
            font-size: 24px;
            text-align: center;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }

.home-sante .bilan p {
    padding: 15px 20px;
    background: #E5EECD;
    border-radius: 15px;
    text-align: center;
}

    .home-sante .bilan p span {
        color: #51A32B;
        display: block;
        font-size: 22px;
        font-weight: 700;
    }

/********************/

.home-entreprise-pro {
    background-color: #F0DDD0;
}

    .home-entreprise-pro .title-section {
        background: linear-gradient(152deg,#AB1A18,#E39059);
    }

        .home-entreprise-pro .title-section .fa-light {
            color: #D15015;
        }

    .home-entreprise-pro img {
        margin-bottom: 40px;
        border-radius: 15px;
    }

    .home-entreprise-pro p {
        line-height: 1.8;
    }

        .home-entreprise-pro p .fa-regular {
            font-weight: 900;
            color: #D15015;
            margin-right: 5px;
            font-size: 20px;
        }

/********************/

@media(min-width:992px) {
    .home-bateau .container-img {
        background-image: url(/docs/pages/26/2m-bateau-min.jpg);
    }
}

.home-bateau .title-section {
    background: linear-gradient(152deg,#D36A15,#FCCA81);
}

    .home-bateau .title-section .fa-light {
        color: #EDA327;
    }

    .home-bateau .title-section + p span {
        color: #EDA327;
        font-size: 20px;
        font-weight: 600;
    }

.home-bateau .point-bateau {
    margin-top: 30px;
}

    .home-bateau .point-bateau p {
        position: relative;
        padding-left: 70px;
    }

        .home-bateau .point-bateau p + p {
            margin-top: 40px;
        }

        .home-bateau .point-bateau p span {
            font-weight: 700;
            display: block;
        }

        .home-bateau .point-bateau p .fa-light {
            height: 55px;
            width: 55px;
            background-color: #FBF1D8;
            border-radius: 100%;
            line-height: 55px;
            color: black;
            margin-bottom: 10px;
            font-size: 24px;
            text-align: center;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }


/********************/

.home-map {
    position: relative;
}

@media(min-width:992px) {
    .home-map .weGmap {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
    }

    .home-map #plan-acces, .home-map .mapContainer {
        height: 100% !important;
    }
}

@media(max-width:991px) {
    .home-map .weGmap {
        display: none;
    }
}

.home-map .info-pratique {
    box-shadow: 0px 2px 13px 0px rgb(0 0 0 / 10%);
    padding: 40px;
    border-radius: 15px;
    background-color: white;
}

.home-map h2 {
    font-weight: 700;
    font-size: 36px;
    text-align: center;
    margin-bottom: 30px;
}

@media(max-width:767px) {
    .home-map h2 {
        font-size: 30px;
    }
}


@media(max-width:767px) {
    .home-map .info-pratique {
        padding: 20px;
    }
}

.home-map .info-pratique h2 + p {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    padding-top: 70px;
}

    .home-map .info-pratique h2 + p:before {
        content: "\f3c5";
        position: absolute;
        font-family: 'Font Awesome 6 Pro';
        font-weight: 300;
        height: 55px;
        width: 55px;
        background-color: #E5EECD;
        line-height: 55px;
        color: black;
        left: 50%;
        transform: translateX(-50%);
        font-size: 24px;
        top: 0;
        border-radius: 100%;
    }

.home-map .info-pratique img {
    border-radius: 15px;
}

.home-map ul {
    padding: 0;
    margin: 0;
}

    .home-map ul li {
        list-style: none;
        line-height: 1.8;
    }

        .home-map ul li.today {
            font-weight: 700;
            color: #58B030;
        }

.home-map .horaires-supp {
    position: relative;
    padding-left: 70px;
    margin-top: 30px;
}

    .home-map .horaires-supp:before {
        content: "\f017";
        position: absolute;
        font-family: 'Font Awesome 6 Pro';
        font-weight: 300;
        height: 55px;
        width: 55px;
        background-color: #E5EECD;
        line-height: 55px;
        color: black;
        left: 0;
        font-size: 24px;
        top: 0;
        border-radius: 100%;
        text-align: center;
    }

    .home-map .horaires-supp h3 {
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 5px;
    }

    .home-map .horaires-supp .horaires-supp-liste li {
        position: relative;
        padding-left: 16px;
    }

        .home-map .horaires-supp .horaires-supp-liste li:before {
            content: "\f0da";
            position: absolute;
            font-family: 'Font Awesome 6 Pro';
            font-weight: 400;
            color: #51A32B;
            top: 50%;
            font-size: 18px;
            left: 0;
            transform: translateY(-50%);
        }


.home-map .container-gps {
    background-color: #E5EECD;
    padding: 30px;
    border-radius: 15px;
    margin-top: 30px;
    text-align: center;
}

    .home-map .container-gps > p {
        margin-bottom: 30px;
    }


    .home-map .container-gps h4 {
        font-weight: 700;
        font-size: 22px;
        color: #51a32b;
    }

.home-map .gps {
    display: flex !important;
    justify-content: center !important;
    --bs-gutter-x: 0;
}

    .home-map .gps p {
        color: black;
        margin-top: 5px;
    }

.gm-style .gm-style-iw-c {
    padding: 0;
}

.weGmap .gm-style-iw-d {
    padding: 15px 10px 10px 25px;
}

.gm-ui-hover-effect {
    position: absolute !important;
    width: 40px !important;
    height: 40px !important;
    right: 0;
}

.gm-style .gm-style-iw-t::after {
    height: 0;
}

.weGmap .infowindows {
    text-align: center;
    font-size: 16px;
}

    /* .weGmap .infowindows div[itemprop="name"],
    .weGmap .infowindows .map-bt-itineraire {
        display: none;
    }*/

    .weGmap .infowindows div[itemprop="name"] {
        font-weight: 600;
        margin-bottom: 15px;
    }

    .weGmap .infowindows div[itemprop="streetAddress"] {
        position: relative;
        padding-top: 70px;
    }

        .weGmap .infowindows div[itemprop="streetAddress"]:before {
            content: "\f3c5";
            position: absolute;
            font-family: 'Font Awesome 6 Pro';
            font-weight: 300;
            height: 55px;
            width: 55px;
            background-color: #E5EECD;
            line-height: 55px;
            color: black;
            left: 50%;
            transform: translateX(-50%);
            font-size: 24px;
            top: 0;
            border-radius: 100%;
        }

    .weGmap .infowindows .map-phone-number {
        position: relative;
        font-size: 20px;
        font-weight: 700;
        color: #51A32B;
        margin: 10px 0;
    }

    .weGmap .infowindows .map-bt-itineraire {
        color: white;
        padding: 12px 25px;
        font-weight: 500;
        font-size: 16px;
        border-radius: 10px;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        background: linear-gradient(152deg, #AB2A18, #F8AB2B);
        z-index: 0;
        position: relative;
        margin-top: 10px;
        display: inline-block;
        overflow: hidden;
        transition: all 0.3s ease;
    }

        .weGmap .infowindows .map-bt-itineraire:before {
            content: "";
            height: 100%;
            width: 100%;
            background-color: #F8AB2B;
            top: 0;
            left: 0;
            z-index: -1;
            position: absolute;
            opacity: 0;
            transition: all 0.3s ease;
        }

        .weGmap .infowindows .map-bt-itineraire:hover,
        .weGmap .infowindows .map-bt-itineraire:focus,
        .weGmap .infowindows .map-bt-itineraire:active {
            transition: all 0.3s ease;
        }

            .weGmap .infowindows .map-bt-itineraire:hover:before,
            .weGmap .infowindows .map-bt-itineraire:focus:before,
            .weGmap .infowindows .map-bt-itineraire:active:before {
                opacity: 1;
                transition: all 0.3s ease;
            }


/*******************************************************
MODAL
********************************************************/
.modal-content {
    padding: 40px;
    color: black;
}

@media(max-width:767px) {
    .modal-content {
        padding: 15px;
    }
}

.modal-content h2 {
    font-size: 36px;
    font-weight: 700;
    text-align: center;
    margin: 0;
}

@media(max-width:767px) {
    .modal-content h2 {
        font-size: 30px;
    }
}

.modal-content .btn:not(#btnSubmit) {
    margin: 30px 0;
}

.modal-content {
    position: relative;
}

    .modal-content .btn-close {
        position: absolute;
        top: 40px;
        right: 40px;
    }

@media(max-width:767px) {
    .modal-content .btn-close {
        top: 15px;
        right: 15px;
    }
}

/*.modal-content form {
    margin-top: 30px;
}*/

.modal-content form label {
    font-weight: 500;
    margin-bottom: 5px;
}

.modal-content form .form-control {
    background-color: #E5EECD;
    border: none !important;
    padding: 8px 12px;
}

    .modal-content form .form-control:active,
    .modal-content form .form-control:focus {
        box-shadow: none;
    }

    .modal-content form .form-control.input-validation-error {
        background-color: #F0DDD0;
    }

    .modal-content form .form-control[type="checkbox"] {
        display: none;
    }

        .modal-content form .form-control[type="checkbox"] + label {
            font-weight: 400;
            position: relative;
            padding-left: 30px;
            font-size: 16px;
            line-height: 1.4;
            color: #757474;
            margin-bottom: 15px;
        }

            .modal-content form .form-control[type="checkbox"] + label:before {
                content: "\f0c8";
                position: absolute;
                font-family: 'Font Awesome 5 Pro';
                font-weight: 400;
                left: 0;
                font-size: 22px;
                top: -2px;
            }

            .modal-content form .form-control[type="checkbox"] + label::after {
                content: "\f14a";
                position: absolute;
                font-family: 'Font Awesome 5 Pro';
                font-weight: 900;
                left: 0;
                font-size: 22px;
                top: -2px;
                color: #51A32B;
                opacity: 0;
            }

        .modal-content form .form-control[type="checkbox"]:checked + label:after {
            opacity: 1;
        }


.modal-content .form-response {
    margin-top: 30px;
}

.modal-content small {
    font-size: 14px;
    font-style: italic;
    color: #757474;
}

.modal-content #btnSubmit {
    color: white;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 18px;
    border-radius: 10px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: linear-gradient(152deg,#51A32B,#BFD783);
}

.modal-content .grecaptcha-badge {
    margin: 20px auto;
}

.modal-content .form-control:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #E5EECD inset !important;
}

    .modal-content .form-control:-webkit-autofill:focus, input:-webkit-autofill:active, input:-webkit-autofill:focus {
        -webkit-box-shadow: 0 0 0px 1000px #E5EECD inset !important;
    }

.modal-header,
.modal-footer,
.modal-body {
    padding: 0;
    border: none;
}

.modal-content h5 {
    font-size: 36px;
    font-weight: 700;
    margin: 0;
}

@media(max-width:767px) {
    .modal-content h5 {
        font-size: 30px;
    }
}

.modal-footer .btn {
    margin-bottom: 0 !important;
}

#cookiesModal .modal-title {
    font-size: 30px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

#cookiesModal h2 {
    text-align: left;
    font-weight: 300;
}

#cookiesModal h2,
#cookiesModal h3 {
    margin-bottom: 15px;
    font-weight: 400;
    margin-top: 20px;
    font-size: 26px;
}

#cookiesModal .btn {
    border: 1px solid #c2c2c2 !important;
    margin: 0 !important;
    font-size: 16px;
    padding: 10px 20px;
}

#cookiesModal .btn-success {
    margin-left: -1px !important;
}

#cookiesModal .close {
    border: none;
    background-color: transparent;
    font-size: 35px;
}

    #cookiesModal .close:hover {
        color: black;
    }

#cookiesModal .modal-footer {
    margin-top: 20px;
}

/*******************************************************
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 {
    font-size: 16px;
    margin: 5px 5px 0 5px;
    padding: 8px 25px;
}

    .weCookieBar .btn:hover {
        color: white;
    }


.weCookieBar #weCookieButton3 {
    background: linear-gradient(152deg,#AB2A18,#F8AB2B);
}

    .weCookieBar #weCookieButton3:before {
        background-color: #F8AB2B;
    }

.weCookieBar #weCookieButton2 {
    background: linear-gradient(152deg,#51A32B,#BFD783);
}

    .weCookieBar #weCookieButton2:before {
        background-color: #51A32B;
    }
