/*******************************************************
FONTS
********************************************************/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/*******************************************************
COLOR
********************************************************/

.white {
    color: white !important;
}

.vert {
    color: #41C4B0 !important;
}

.violet {
    color: #5328AB !important;
}

.jaune {
    color: #EAAD4D !important;
}

.bg-vert {
    background-color: #41C4B0 !important;
}

.bg-violet {
    background-color: #5328AB !important;
}

.bg-jaune {
    background-color: #EAAD4D !important;
}

.bg-light-grey {
    background-color: #F5F5F5;
}

.gradient-vert {
    background: linear-gradient(to bottom,#1CB3A7,#008176);
}

.gradient-vert-radial {
    background: radial-gradient(circle, #6CC2B8 0%, #35ADA3 20.26%, #0A4641 100%);
}

.gradient-violet {
    background: linear-gradient(to bottom,#7C34D1,#5428AC);
}

.gradient-jaune {
    background: linear-gradient(to bottom,#E5BA2C,#E9A943);
}


/*******************************************************
GENERAL
********************************************************/


body {
    font-weight: 300;
    color: #212529;
    font-size: 18px;
    font-family: 'Poppins' !important;
}

p, li, label, td {
    font-weight: 300;
    line-height: 1.5;
    font-size: 18px;
}


#back-to-top {
    position: fixed;
    bottom: 7px;
    right: 20px;
    display: none;
    z-index: 200;
    text-align: center;
}

    #back-to-top .far {
        background-color: #41C4B0;
        color: white;
        width: 40px;
        height: 40px;
        font-size: 18px;
        line-height: 40px;
        border: 1px solid white;
        border-radius: 100%;
    }

.container-fluid > .row,
.container-fluid > div > .row {
    padding: 0;
}

.outer-max-width {
    max-width: 1600px;
    margin: 0 auto;
}

.max-width {
    max-width: 1360px;
    margin: 0 auto;
}



img {
    max-width: 100%;
}

footer {
    clear: both;
}

a {
    text-decoration: none;
    display: inline-block;
    color: #41C4B0;
}

    a:not(.btn):not(.nav-link):not(.close) {
        text-decoration: underline;
        word-break: break-all;
    }



    a:hover,
    a:active,
    a:focus,
    button:hover,
    button:active,
    button:focus {
        text-decoration: none !important;
        box-shadow: none !important;
        outline: none !important;
    }

    a:hover,
    a:active,
    a:focus {
        color: #269A88;
    }

.white a:not(.btn) {
    color: white;
}

    .white a:not(.btn):hover,
    .white a:not(.btn):active,
    .white a:not(.btn):focus {
        opacity: 0.7;
    }

p {
    margin: 0;
}



.anchor {
    visibility: hidden;
    height: 255px;
    margin-top: -255px;
}

.bg-perso {
    display: none !important;
}

@media(max-width:991px) {
    .anchor {
        visibility: hidden;
        height: 178px;
        margin-top: -178px;
    }
}

.radius-border {
    border-radius: 20px;
}

.shadow-border {
    box-shadow: 0px 2px 19.5px 0px rgba(0,0,0,0.14);
}

/*******************************************************
TITLE
********************************************************/

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    margin-top: 0;
    font-family: 'Poppins';
}

h2 {
    font-size: 45px;
    font-weight: 300;
}

@media(max-width:991px) {
    h2 {
        font-size: 36px;
    }

        h2 span {
            font-size: 26px;
        }
}


/*******************************************************
BTN
********************************************************/

.btn {
    padding: 10px 30px;
    color: white;
    border-radius: 35px;
    display: inline-block;
    font-weight: 400;
    border: none;
    line-height: 1.5;
    font-size: 14px;
    transition: all 0.3s ease;
}

    .btn .fa-regular {
        font-size: 15px;
        margin-right: 10px;
    }

    .btn:hover,
    .btn:active,
    .btn:focus {
        transition: all 0.3s ease;
    }

    .btn.btn-default,
    .btn.btn-secondary {
        background-color: #41C4B0;
        border: 1px solid #41C4B0;
        color: white;
    }

        .btn.btn-default:hover,
        .btn.btn-default:active,
        .btn.btn-default:focus,
        .btn.btn-secondary:hover,
        .btn.btn-secondary:active,
        .btn.btn-secondary:focus {
            background-color: transparent;
            border: 1px solid #41C4B0;
            color: #41C4B0;
        }

    .btn.btn-default-alt {
        background-color: transparent;
        border: 1px solid #41C4B0;
        color: #41C4B0;
    }

        .btn.btn-default-alt:hover,
        .btn.btn-default-alt:active,
        .btn.btn-default-alt:focus {
            background-color: #41C4B0;
            color: white;
        }

    .btn.btn-cta {
        position: relative;
        overflow: hidden;
        border: 1px solid transparent;
        z-index: 0;
        transition: all 0.3s ease;
    }

        .btn.btn-cta:hover,
        .btn.btn-cta:active,
        .btn.btn-cta:focus {
            color: #EAAD4D;
            border: 1px solid #EAAD4D;
            transition: all 0.3s ease;
        }

        .btn.btn-cta:before {
            content: "";
            position: absolute;
            height: 100%;
            width: 100%;
            background: linear-gradient(to bottom,#E5BA2C,#E9A943);
            top: 0;
            left: 0;
            opacity: 1;
            z-index: -1;
            transition: all 0.3s ease;
        }

        .btn.btn-cta:hover:before {
            opacity: 0;
            transition: all 0.3s ease;
        }



/*******************************************************
HEADER
********************************************************/

header {
    padding: 20px 0;
    box-shadow: 0px 2px 19.5px 0px rgba(0,0,0,0.14);
}

@media(max-width:991px) {
    header {
        padding: 20px 0;
    }
}


header.fixed {
    position: fixed;
    width: 100%;
    z-index: 100;
    background-color: white;
}


header img {
    max-width: 180px;
}

@media(max-width:991px) {
    header img {
        max-width: 150px;
    }
}

header .title {
    font-size: 22px;
    font-weight: 600;
}


header .team {
    font-size: 16px;
}

    header .team span:not(.delete) {
        color: #41C4B0;
        font-weight: 600;
    }

@media(max-width:767px) {
    header .team span:not(.delete) {
        display: block;
    }
}


/*******************************************************
FOOTER
********************************************************/


footer .nav-footer {
    padding: 25px 0;
    text-align: center;
    
}

    footer .nav-footer ul {
        margin: 0;
        padding: 0;
    }

        footer .nav-footer ul li {
            padding: 0 20px;
            display: inline-block;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.2;
        }

@media(max-width:767px) {
    footer .nav-footer ul li {
        display: block;
        list-style: none;
        padding: 15px 0;
    }
}

footer .nav-footer ul li a {
    color: #212529;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

    footer .nav-footer ul li a:hover,
    footer .nav-footer ul li a:active,
    footer .nav-footer ul li a:focus {
        color: #41C4B0;
        transition: all 0.3s ease;
    }



footer .nav-footer ul li + li {
    position: relative;
}

@media(min-width:768px) {
    footer .nav-footer ul li + li:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 2px;
        background-color: #41C4B0;
        left: 0;
        top: 0;
    }
}

footer .copyright-footer {
    text-align: center;
    padding: 20px 0;
    color: #8c8c8c;
    font-size: 14px;
}

    footer .copyright-footer a {
        color: #8c8c8c;
        text-decoration: none !important;
    }

        footer .copyright-footer a:hover {
            color: #41C4B0;
        }

footer .copyright {
    display: none;
}

/*******************************************************
CONTENT
********************************************************/

.entete-page {
    position: relative;
    color: white;
    background-size: cover;
    background-position: center;
    z-index: 0;
}


@media(min-width:768px) {
    .entete-page {
        height: 250px;
    }
}

@media(max-width:767px) {
    .entete-page {
        text-align: center;
        padding: 30px 0;
    }
}

.entete-page .content .fil-ariane {
    padding: 0;
    margin: 0;
}

    .entete-page .content .fil-ariane li {
        list-style: none;
        display: inline-block;
        position: relative;
    }

        .entete-page .content .fil-ariane li a {
            font-size: 16px;
            text-decoration: none;
            color: white;
            padding: 0 15px;
            position: relative;
        }

        .entete-page .content .fil-ariane li + li:before {
            content: "\f054";
            position: absolute;
            font-family: 'Font Awesome 6 Pro';
            color: white;
            font-size: 12px;
            font-weight: 500;
            top: 7px;
            left: -4px;
        }

.entete-page .share {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid white;
    border-radius: 35px;
    line-height: 1;
    border-radius: 35px;
}

@media(min-width:768px) {
    .entete-page .share {
        position: absolute;
        top: 25px;
        right: 50px;
    }
}

@media(max-width:767px) {
    .entete-page .share {
        margin-bottom: 20px;
    }
}

@media(max-width:991px) {
    .entete-page .share {
        padding: 10px 15px;
    }
}

@media(min-width:768px) and (max-width:991px) {
    .entete-page .share {
        top: 15px;
        right: 15px;
    }
}

.entete-page .share p {
    font-size: 16px;
    display: inline-block;
}

    .entete-page .share p .fa-light {
        margin-right: 15px;
    }

.entete-page .share a {
    font-size: 20px;
    text-decoration: none;
    margin-left: 15px;
    color: white;
}

    .entete-page .share a:hover {
        opacity: 0.7;
    }


.entete-page .content {
    max-width: 1360px;
    padding: 0 15px;
    text-align: center;
}


@media(min-width:768px) {
    .entete-page .content {
        width: 100%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
    }
}


.entete-page .content h1 {
    margin: 0;
    font-weight: 300;
    font-size: 60px;
}


@media(max-width:991px) {
    .entete-page h1 {
        font-size: 40px !important;
    }
}

.entete-page .content h1 span {
    font-size: 21px;
    display: block;
}


/* LISTE */

.liste-agence {
    background-color: #F5F5F5;
    padding: 60px 0 46px 0;
}

/************ si on veut 3 agences par ligne */

@media(min-width:1200px){
    .liste-agence .three-col > div {
        margin-left: 0.1%;
    }
}  

/*********************************************/

    .liste-agence .agence {
        background-color: white;
        padding: 20px;
        position: relative;
        height: 100%;
        padding-bottom: 200px;
    }

        .liste-agence .agence img {
            max-height: 200px;
        }


        .liste-agence .agence h2 {
            font-size: 32px;
            font-weight: 400;
            margin: 20px 0;
            color: #41C4B0;
        }

            .liste-agence .agence h2 span {
                font-size: 20px;
                font-weight: 500;
                display: block;
                text-transform: uppercase;
                color: #212529;
            }

        .liste-agence .agence p {
            font-size: 16px;
        }

        .liste-agence .agence p span{
            display:block;
        }

        .liste-agence .agence .bottom-content {
            position: absolute;
            bottom: 20px;
            padding: 0 20px;
            width: 100%;
            left: 0;
        }


            .liste-agence .agence .bottom-content .btn {
                margin-bottom: 20px;
            }

            .liste-agence .agence .bottom-content span.btn:hover {
                cursor:auto;
            }

        .liste-agence .agence .site-link {
            border-top: 1px solid #EAEAEA;
            line-height: 1;
            padding-top: 20px;
        }

            .liste-agence .agence .site-link a {
                color: #212529;
                text-decoration: none;
                font-size: 14px;
                padding: 0 20px;
            }

                .liste-agence .agence .site-link a:first-child {
                    padding-left: 20px;
                }

                .liste-agence .agence .site-link a + a {
                    border-left: 1px solid #EAEAEA;
                }

                .liste-agence .agence .site-link a .fa-regular {
                    color: #41C4B0;
                    padding-right: 6px;
                }

/* PRESENTATION */

.presentation {
    padding: 60px 0;
}

    .presentation h2 {
        margin-bottom: 30px;
    }

    .presentation .mapContainer {
        border-radius: 20px;
    }

.mentions-legales {
    padding: 50px 0;
}

    .mentions-legales h2,
    .mentions-legales h3 {
        margin: 25px 0;
    }


/*******************************************************
INFOWINDOW
********************************************************/

.gm-style .gm-style-iw-c {
    padding: 0;
    max-height: 290px !important;
}

.gm-style .gm-style-iw-d {
    max-height: 290px !important;
}


.gm-style .gm-style-iw-t::after {
    height: 0;
}

.gm-style-iw .infowindows {
    font-size: 16px;
    padding: 15px;
    line-height: 1.3;
    font-family: Poppins !important;
}

.infowindows [itemprop=name] {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 400;
}

    .infowindows [itemprop=name] b {
        font-weight: 400;
    }

.infowindows .map-phone-number,
.infowindows .map-bt-url {
    margin: 10px 0;
    position: relative;
    padding-left: 25px;
}

    .infowindows .map-phone-number:before,
    .infowindows .map-bt-url:before {
        position: absolute;
        font-family: 'Font Awesome 6 Pro';
        font-weight: 300;
        color: #41C4B0;
        left: 0;
        top: 1px;
    }

    .infowindows .map-phone-number:before {
        content: "\f095";
    }

    .infowindows .map-bt-url:before {
        content: "\f245";
        left: 7px;
    }

.infowindows .map-bt-itineraire {
    border: 1px solid #41C4B0;
    color: #41C4B0;
    background-color: transparent;
    display: inline-block;
    padding: 8px 25px;
    font-weight: 300;
    border-radius: 25px;
    transition: background-color .3s ease, color .3s ease;
}

    .infowindows .map-bt-itineraire:hover,
    .infowindows .map-bt-itineraire:active,
    .infowindows .map-bt-itineraire:focus {
        border: 1px solid #41C4B0;
        color: white;
        background-color: #41C4B0;
        transition: background-color .3s ease, color .3s ease;
    }

    .infowindows .map-bt-itineraire:not(:disabled):not(.disabled).active:focus,
    .infowindows .map-bt-itineraire:not(:disabled):not(.disabled):active:focus {
        outline: none;
        box-shadow: none;
    }

    .infowindows .map-bt-itineraire:not(:disabled):not(.disabled).active,
    .infowindows .map-bt-itineraire:not(:disabled):not(.disabled):active {
        border-color: #41C4B0;
        color: white;
        background-color: #41C4B0;
        outline: none;
        box-shadow: none;
    }

/*******************************************************
404
********************************************************/

.page-error {
    text-align: center;
}

    .page-error h1 {
        text-align: center;
        font-size: 100px;
        line-height: 1;
        margin-top: 60px;
    }

        .page-error h1 span {
            display: block;
            font-weight: 500;
            font-size: 60%;
            color: #27d0c0;
        }

    .page-error p {
        padding: 30px;
    }

    .page-error a {
        padding: 15px 30px 13px 30px;
        border-radius: 35px;
        font-weight: 400;
        margin-bottom: 60px;
        border: none;
        line-height: 1.5;
        text-decoration: none !important;
        background-color: #41C4B0;
        border: 1px solid #41C4B0;
        color: white;
        font-size: 16px;
        transition: background-color .3s ease, color .3s ease;
    }

        .page-error a:hover,
        .page-error a:active,
        .page-error a:focus {
            background-color: transparent;
            border: 1px solid #41C4B0;
            color: #41C4B0;
            transition: background-color .3s ease, color .3s ease;
        }
