﻿/*******************************************************
FONTS
********************************************************/

@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:wght@400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;700;800;900&display=swap');

/*******************************************************
COLOR
********************************************************/

.blue {
    color: #009CB6;
}

.pink {
    color: #E50047;
}

.light-grey {
    color: #F6F6F6;
}

.dark-grey {
    color: #2F3237;
}

.white {
    color: #ffffff;
}

/*******************************************************
GRADIENT & BACKGROUND
********************************************************/

.dark-blue-gradient {
    background: linear-gradient(264deg, #009CB3 0%, #2F3237 100%);
}

.dark-pink-gradient {
    background: linear-gradient(263deg, #E50047 0%, #2F3237 101%);
}

.bg-blue {
    background-color: #009CB6;
}

.bg-pink {
    background-color: #E50047;
}

.bg-light-grey {
    background-color: #F6F6F6;
}

.bg-dark-grey {
    background-color: #2F3237;
}


/*******************************************************
GENERAL
********************************************************/


body {
    font-weight: 400;
    color: #2F3237;
    font-size: 1.125rem;
    line-height: 30px;
    font-family: 'Roboto Flex' !important;
}

p, li, label, td {
    font-weight: 400;
    line-height: 30px;
    font-size: 1.125rem;
}

small {
    font-size: 0.875rem;
    line-height: 1.4;
}


#back-to-top {
    position: fixed;
    bottom: 7px;
    right: 7px;
    display: none;
    z-index: 200;
    text-align: center;
}

    #back-to-top .fa-regular {
        background-color: #E50047;
        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;
}

.max-width {
    max-width: 1400px;
    margin: 0 auto;
}

img {
    max-width: 100%;
}

footer {
    clear: both;
}

a {
    display: inline-block;
    color: #009CB6;
    font-weight: 600;
    text-decoration: none;
}


    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: #E50047;
    }

.anchor {
    visibility: hidden;
    height: 255px;
    margin-top: -255px;
}

@media(max-width:991px) {
    .anchor {
        visibility: hidden;
        height: 178px;
        margin-top: -178px;
    }
}

.bg-perso {
    display: none;
}

strong {
    font-weight: 700;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/*******************************************************
TITLE
********************************************************/

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat';
}

.title-section {
    font-size: 2.125rem;
    color: #009CB6;
    font-weight: 800;
    margin: 0;
}

    .title-section + p {
        font-weight: 700;
        margin: 0;
    }

@media(max-width:991px) {
    .title-section {
        font-size: 1.75rem;
    }
}

/*******************************************************
BTN
********************************************************/

.btn {
    padding: 10px 20px;
    border-radius: 35px;
    font-size: 1rem;
    overflow: hidden;
    transition: all .3s ease;
}

    .btn i {
        margin-right: 10px;
        font-size: 18px;
        vertical-align: middle;
    }

    .btn:hover,
    .btn:active,
    .btn:focus {
        transition: all .3s ease;
    }

    .btn:before {
        transition: all .3s ease;
    }

    .btn:hover:before,
    .btn:active:before,
    .btn:focus:before {
        transition: all .3s ease;
    }


.btn-default {
    color: white;
    border: none;
    background-color: #009CB6;
    position: relative;
    z-index: 0;
}

    .btn-default:before {
        content: "";
        background: linear-gradient(270deg, rgba(47, 50, 55, 0.00) 0%, #2F3237 100%);
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        opacity: 0.2;
        z-index: -1;
    }

    .btn-default:hover:before,
    .btn-default:active:before,
    .btn-default:focus:before {
        opacity: 0.5;
    }

    .btn-default:hover,
    .btn-default:active,
    .btn-default:focus {
        background-color: #009CB6 !important;
        color: white !important;
    }

.btn-secondary {
    color: white;
    border: none;
    background-color: #E50047;
    position: relative;
    z-index: 0;
}

    .btn-secondary:before {
        content: "";
        background: linear-gradient(270deg, rgba(47, 50, 55, 0.00) 0%, #2F3237 100%);
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        opacity: 0.2;
        z-index: -1;
    }

    .btn-secondary:hover:before,
    .btn-secondary:active:before,
    .btn-secondary:focus:before {
        opacity: 0.5;
    }

    .btn-secondary:hover,
    .btn-secondary:active,
    .btn-secondary:focus {
        background-color: #E50047 !important;
        color: white !important;
    }

.btn-secondary-alt {
    color: #E50047;
    border: 2px solid #E50047;
    background-color: transparent;
}

    .btn-secondary-alt:hover,
    .btn-secondary-alt:active,
    .btn-secondary-alt:focus {
        background-color: #E50047 !important;
        color: white !important;
    }

/*******************************************************
HEADER
********************************************************/

header {
    background-color: #2F3237;
    padding: 20px 0;
}

    header.fixed {
        position: fixed;
        width: 100%;
        z-index: 100;
    }


    header img {
        max-width: 175px;
        margin-right: 50px;
        vertical-align: middle;
    }

    header p {
        display: inline-block;
        font-size: 1.875rem;
        color: white;
        font-weight: 700;
        vertical-align: bottom;
        margin: 0;
        position: relative;
        padding-left: 45px;
    }

        header p:before {
            content: "\f3c5";
            position: absolute;
            font-family: 'Font Awesome 7 Pro';
            font-weight: 300;
            font-size: 1em;
            color: #009CB6;
            left: 0;
            top: 1px;
        }

    header .btn + .btn {
        margin-left: 15px;
    }

@media(max-width:767px) {
    header {
        text-align: center;
    }

        header img {
            margin: 0;
        }

        header p {
            font-size: 1.625rem;
            padding: 0 35px;
            display: inline-block;
        }

        header .btn {
            height: 58px;
            width: 58px;
            line-height: 58px;
            padding: 0;
            text-align: center;
            margin-top: 10px;
        }

            header .btn span {
                display: none;
            }

            header .btn i {
                font-size: 1.5em;
                margin: 0;
            }
}

@media(max-width:1199px) {
    header p {
        display: block;
        margin-top: 8px;
    }
}


/*******************************************************
FOOTER
********************************************************/

footer {
    background-color: #2F3237;
    color: white;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.20);
}

    footer .info-centre img {
        max-width: 175px;
    }

    footer .info-centre .nom-centre {
        font-size: 1.5rem;
        font-weight: 900;
        margin-top: 20px;
        margin-bottom: 0;
    }

    footer .info-centre .adresse {
        margin-bottom: 20px;
    }

        footer .info-centre .adresse p {
            font-size: 1rem;
            margin: 0;
        }

    footer .score-footer .global-score {
        color: #FBBC05;
        font-size: 1.625rem;
        font-weight: 900;
    }

    footer .score-footer span {
        display: inline-block;
        vertical-align: middle;
    }

        footer .score-footer span:last-child {
            font-size: 0.875rem;
        }

    footer .reseau i {
        font-size: 1.125rem;
        color: #009CB6;
        height: 45px;
        width: 45px;
        line-height: 42px;
        text-align: center;
        background-color: transparent;
        border: 2px solid #009CB6;
        border-radius: 100%;
        margin-right: 15px;
        transition: all .3s ease;
    }

    footer .reseau a:hover i,
    footer .reseau a:focus i,
    footer .reseau a:active i {
        color: #E50047;
        border: 2px solid #E50047;
        background-color: transparent;
        transition: all .3s ease;
    }

    footer .chalandise {
        margin-top: 15px;
    }

        footer .chalandise p:first-child {
            font-size: 1rem;
            font-weight: 700;
            margin-bottom: 15px;
        }

        footer .chalandise p:last-child {
            font-size: 0.875rem;
            line-height: 1.8;
            margin: 0;
        }

    footer .copyright {
        display: none;
    }

    footer .copyright-footer {
        padding: 30px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.20);
        margin-top: 30px;
    }

        footer .copyright-footer ul {
            padding: 0;
            margin: 0;
        }

            footer .copyright-footer ul li {
                list-style: none;
                display: inline-block;
                position: relative;
            }

                footer .copyright-footer ul li a {
                    color: white;
                    padding: 0 20px;
                    font-size: 1rem;
                    font-weight: 400;
                }

                footer .copyright-footer ul li:hover,
                footer .copyright-footer ul li:active,
                footer .copyright-footer ul li:focus {
                    opacity: 0.6;
                }

                footer .copyright-footer ul li:first-child a {
                    padding-left: 0;
                }

                footer .copyright-footer ul li + li:before {
                    content: "";
                    position: absolute;
                    width: 7px;
                    height: 7px;
                    border-radius: 100%;
                    background-color: #E50047;
                    left: 0px;
                    top: 50%;
                    transform: translateY(-50%);
                }

        footer .copyright-footer p {
            margin: 0;
            font-size: 1rem;
        }


/*******************************************************
HOME
********************************************************/

.hero {
    height: 630px;
    position: relative;
    background : url(/docs/pages/64/fond-hero-glassauto.webp) #000000;
    background-position: center;
    background-size: cover;
}

    .hero .content {
        position: absolute;
        left: 50%;
        margin: auto;
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        color: white;
        padding: 0 15px;
        text-align: center;
        width: max-content;
    }

        .hero .content h1 {
            font-size: 3.125rem;
            font-weight: 800;
            margin-bottom: 50px;
        }

        .hero .content h2 {
            font-size: 3rem;
            font-weight: 700;
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
        }

            .hero .content h2:before {
                content: "";
                position: absolute;
                background: url(/docs/templates/59/dot-glassauto.svg);
                height: 28px;
                width: 22px;
                bottom: 10px;
                right: 180px;
            }

            .hero .content h2 span {
                background-color: #009CB6;
                display: inline-block;
                margin-bottom: 20px;
                padding: 10px 20px;
            }

        .hero .content .btn {
            margin-top: 90px;
            font-size: 1.375rem;
            font-weight: 700;
            padding: 15px 25px;
        }

            .hero .content .btn i {
                font-size: 1.1em;
            }

@media(max-width:991px) {
    .hero .content {
        width: 100%;
    }

        .hero .content h1,
        .hero .content h2 {
            font-size: 2.125rem;
        }

        .hero .content .btn {
            margin-top: 30px;
        }
}

.carousel .carousel-indicators li {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background-color: #E50047;
    border: none;
    opacity: 0.3;
    margin: 0 3px;
}

    .carousel .carousel-indicators li::marker {
        content: none;
        font-size: 0;
    }

    .carousel .carousel-indicators li.active {
        opacity: 1;
    }

.presentation-centre {
    padding: 60px 0;
}

    .presentation-centre .carousel {
        border-radius: 20px;
        overflow: hidden;
    }


    .presentation-centre h2 {
        font-size: 3.125rem;
        font-weight: 900;
        text-align: center;
        position: relative;
    }

        .presentation-centre h2:before {
            content: "";
            position: absolute;
            width: 80px;
            height: 5px;
            left: 50%;
            transform: translateX(-50%);
            top: 70px;
            background: linear-gradient(90deg, #E50047 0%, #009CB6 100%);
        }

        .presentation-centre h2 span {
            font-size: 0.68em;
            font-weight: 200;
            display: block;
            margin-top: 35px;
        }

    .presentation-centre h3 {
        font-size: 2.125rem;
        font-weight: 800;
        color: #009CB6;
        margin-bottom: 30px;
        margin-top: 0;
    }

        .presentation-centre h3 span {
            display: block;
            color: #2F3237;
        }

    .presentation-centre p + p {
        margin-bottom: 30px;
    }

@media(max-width:991px) {
    .presentation-centre h2 {
        font-size: 2.5rem;
    }

        .presentation-centre h2:before {
            top: 105px;
        }

    .presentation-centre h3 {
        font-size: 1.75rem;
    }
}

.liste-assurance {
    padding: 20px 0 60px 0;
}

    .liste-assurance .owl-logo {
        padding: 0 40px;
        margin-top: 50px;
    }

        .liste-assurance .owl-logo .owl-item {
            vertical-align: middle;
            text-align: center;
        }

        .liste-assurance .owl-logo img {
            max-height: 60px;
            max-width: 120px;
            margin: auto;
            width: auto;
        }

        .liste-assurance .owl-logo .owl-nav button {
            position: absolute;
            top: 50%;
            line-height: 1;
            transform: translateY(-50%);
            background-color: transparent;
        }

            .liste-assurance .owl-logo .owl-nav button i {
                color: #E50047;
                font-size: 25px;
            }

            .liste-assurance .owl-logo .owl-nav button:hover i,
            .liste-assurance .owl-logo .owl-nav button:active i,
            .liste-assurance .owl-logo .owl-nav button:focus i {
                color: #009CB6;
            }

            .liste-assurance .owl-logo .owl-nav button:focus i {
                border: 2px solid #b9e1e7;
                border-radius:5px;
            }

        .liste-assurance .owl-logo .owl-nav .owl-prev {
            left: 0;
        }

        .liste-assurance .owl-logo .owl-nav .owl-next {
            right: 0;
        }

.avis-client {
    padding: 60px 0;
}


    .avis-client .centre-score p {
        padding: 20px 0 30px 0;
    }

    .avis-client .centre-score p {
        display: inline-block;
        margin: 0;
    }

    .avis-client .centre-score .global-score {
        font-size: 3.25rem;
        font-weight: 700;
        margin-right: 10px;
    }

    .avis-client .centre-score .star-score {
        text-align: left;
    }

        .avis-client .centre-score .star-score span {
            display: block;
        }

            .avis-client .centre-score .star-score span:not(.stars-outer) {
                font-size: 0.875rem;
            }


    .avis-client .avis {
        background-color: white;
        padding: 30px;
        height: 100%;
        border-radius: 20px;
    }


        .avis-client .avis .name {
            font-weight: 700;
            display: inline-block;
            margin: 0 5px 0 0;
            position: relative;
            margin-bottom: 10px;
            padding-left: 60px;
        }

            .avis-client .avis .name img {
                position: absolute;
                left: 0;
                max-width: 50px;
            }

            .avis-client .avis .name span {
                font-weight: 300;
                display: block;
            }

        .avis-client .avis .star {
            display: inline-block;
            vertical-align: top;
            line-height: 1.4;
            margin: 0;
            float: right;
        }

            .avis-client .avis .star .fas {
                font-size: 13px;
                color: #ffc100;
            }

        .avis-client .avis .aspect {
            margin-bottom: 20px;
        }

            .avis-client .avis .aspect span {
                font-weight: 700;
            }

.info-pratique {
    padding: 60px 0;
}

    .info-pratique h2 {
        margin-bottom: 40px;
    }

    .info-pratique h3 {
        font-size: 1.5rem;
        font-weight: 800;
        margin-bottom: 20px;
        margin-top: 0;
    }

        .info-pratique h3 i {
            font-size: 1.375em;
            color: #E50047;
            margin-right: 15px;
            vertical-align: middle;
        }

    .info-pratique .horaires-day {
        position: relative;
        padding-left: 55px;
    }

        .info-pratique .horaires-day:before {
            content: "\f05a";
            position: absolute;
            font-size: 2.063rem;
            color: #E50047;
            font-family: "Font Awesome 7 Pro";
            left: 0;
        }

        .info-pratique .horaires-day p:not(.horaire) {
            font-size: 1.5rem;
            font-family: 'Montserrat';
            font-weight: 800;
            margin-bottom: 15px;
        }

            .info-pratique .horaires-day p:not(.horaire) span {
                font-size: 1.17em;
                color: #009CB6;
                text-transform: uppercase;
                display: block;
                width: fit-content;
                text-decoration: underline;
                text-decoration-thickness: 4px;
                margin-top: 5px;
            }

    .info-pratique p {
        margin: 0;
    }

    .info-pratique .gps a {
        color: #2F3237;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
    }

        .info-pratique .gps a i {
            height: 70px;
            width: 70px;
            border-radius: 100%;
            background-color: #E6F6F8;
            color: #009CB6;
            font-size: 1.75rem;
            text-align: center;
            line-height: 70px;
            transition: all 0.3s ease;
        }

        .info-pratique .gps a:hover i,
        .info-pratique .gps a:active i,
        .info-pratique .gps a:focus i {
            background-color: #009CB6;
            color: #ffffff;
            transition: all 0.3s ease;
        }

    .info-pratique .gps p {
        margin-top: 5px;
        font-weight: 700;
    }

    .info-pratique .map-container {
        border-radius: 20px;
        overflow: hidden;
    }

        .info-pratique .map-container .content {
            padding: 50px 0 50px 40px;
        }

            .info-pratique .map-container .content ul {
                padding: 0;
                margin: 0;
            }

                .info-pratique .map-container .content ul li {
                    list-style: none;
                }

                    .info-pratique .map-container .content ul li.today {
                        color: #009CB6;
                        font-weight: 700;
                    }

                    .info-pratique .map-container .content ul li.closed span:not(.jour) {
                        color: #E50047;
                        font-weight: 700;
                    }

@media(max-width:991px) {
    .info-pratique h2 {
        margin-bottom: 0;
    }

    .info-pratique h3,
    .info-pratique .horaires-day p:not(.horaire) {
        font-size: 1.25rem;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .info-pratique .gps .row {
        justify-content: flex-start !important;
    }

    .info-pratique .gps a i {
        height: 60px;
        width: 60px;
        border-radius: 100%;
        background-color: #E6F6F8;
        color: #009CB6;
        font-size: 1.5rem;
        text-align: center;
        line-height: 60px;
    }

    .info-pratique .map-container .content {
        padding: 30px;
    }
}


.point-fort {
    padding: 60px 0 50px 0;
}

    .point-fort h2 {
        color: white;
    }

    .point-fort .content {
        padding: 30px;
        height: 100%;
        border-radius: 15px;
        border: 1px solid rgba(0,156,178,0.3);
        background: linear-gradient(301deg, rgba(47, 50, 55, 0.30) 0%, rgba(47, 50, 55, 0.00) 100%);
    }

        .point-fort .content h3 {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 25px;
        }

            .point-fort .content h3 i {
                font-size: 2.58em;
                display: block;
                margin-bottom: 25px;
            }

        .point-fort .content p {
            margin-bottom: 0;
        }


.liste-services {
    padding: 60px 0;
}

    .liste-services ul {
        padding: 0;
        margin-bottom: 0;
    }

        .liste-services ul li {
            list-style: none;
        }


    .liste-services .content {
        padding: 30px;
        border: 1px solid #EBEBEB;
        text-align: center;
        height: 100%;
    }

        .liste-services .content h3 {
            font-size: 1.2rem;
            margin-bottom: 0;
            margin-top: 30px;
            font-weight: 700;
        }

        .liste-services .content h3 span{
            display:block;
        }

@media(max-width:991px) {
    .liste-services .content h3 {
        font-size: 1rem;
    }

    .liste-services .content {
        padding: 20px;
    }
}

.faq {
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

    .faq:before {
        content: "?";
        position: absolute;
        color: white;
        font-weight: 900;
        opacity: 0.15;
        bottom: 85px;
        right: 0;
        font-size: 400px;
    }

    .faq h2 {
        color: white;
        margin-bottom: 40px;
    }

    .faq h3 {
        font-size: 1.25rem;
        font-weight: 800;
        position: relative;
        padding-left: 48px;
        margin-bottom: 15px;
    }

        .faq h3:before {
            content: "\f059";
            font-family: 'Font Awesome 7 Pro';
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            font-size: 1.5em;
            position: absolute;
            font-weight: 400;
        }

    .faq ul {
        margin: 0;
        padding: 0;
    }

    .faq ul li{
        list-style:none;
    }

    .faq .question + .question {
        margin-top: 40px;
    }

@media(max-width:991px) {
    .faq:before {
        bottom: 57px;
        font-size: 263px;
    }
}

.rdv {
    padding: 60px 0;
    background-color: #2F3237;
}

    .rdv h2 + p {
        font-size: 1.25rem;
        margin-bottom: 15px;
    }

    .rdv form {
        padding: 40px;
        background-color: #ffffff;
        border-radius: 20px 20px 0 20px;
        margin-top: 50px;
        position: relative;
    }

        .rdv form:before {
            content: "";
            position: absolute;
            -webkit-clip-path: polygon(0 0,100% 0, 0 100%);
            clip-path: polygon(0 0,100% 0, 0 100%);
            background-color: #E50047;
            height: 100px;
            width: 100px;
            bottom: -1px;
            right: -1px;
        }

        .rdv form:after {
            content: "";
            position: absolute;
            -webkit-clip-path: polygon(100% 0,100% 100%, 0 100%);
            clip-path: polygon(100% 0,100% 100%, 0 100%);
            background-color: #2F3237;
            height: 101px;
            width: 101px;
            bottom: -1px;
            right: -1px;
        }

        .rdv form .form-group label {
            font-size: 1.125rem;
            font-weight: 700;
            margin-bottom: 15px;
            line-height: 1;
        }

        .rdv form .form-control {
            background-color: #F6F6F6;
            border-radius: 50px;
            padding: 15px 25px;
            border: none;
        }

            .rdv form .form-control:focus,
            .rdv form .form-control:active {
                box-shadow: 0 0 0 .25rem rgba(0, 156, 182, .25);
            }

            .rdv form .form-control.input-validation-error {
                box-shadow: 0 0 0 .25rem rgba(229, 0, 71, .25);
            }


        .rdv form textarea.form-control {
            border-radius: 15px;
        }

        .rdv form .field-validation-error {
            color: #E50047;
            font-size: 1rem;
        }

        .rdv form fieldset label {
            font-size: 1rem;
        }

form input[type="checkbox"] {
    width: 15px;
    height: 15px;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    appearance: none;
    margin-right: 5px;
    padding: 0;
    border: 2px solid #E50047;
    border-radius: 3px;
}

    form input[type="checkbox"]:before {
        content: "\f14a";
        font-family: 'Font Awesome 5 Pro';
        font-weight: 900;
        color: #E50047;
        font-size: 17px;
        position: absolute;
        top: -9px;
        left: -2px;
        opacity: 0;
    }

    form input[type="checkbox"]:checked:before {
        opacity: 1;
    }

    form input[type="checkbox"]:checked {
        border-color: transparent;
    }

form .form-captcha > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
}

#form-confirm-modal button {
    background-color: transparent;
    float: right;
    font-size: 30px;
}


.validation-summary-errors u {
    margin: 0;
    padding: 0;
}

.validation-summary-errors li {
    margin-left: 0;
}

@media(max-width:991px) {
    .rdv form {
        padding: 20px;
        margin-top: 30px;
    }

        .rdv form:before,
        .rdv form:after {
            height: 50px;
            width: 50px;
        }
}

/*******************************************************
INFOWINDOW
********************************************************/
.gm-ui-hover-effect {
    position: absolute !important;
    right: 0;
}

.gm-style .gm-style-iw {
    font-weight: 400;
}

.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: 1rem;
    text-align: start;
    padding: 15px;
    line-height: 1.3;
    font-family: Roboto Flex !important;
}

.infowindows [itemprop=name] {
    margin-bottom: 10px;
    font-size: 1.125rem;
    color: #009CB6;
    font-family: Montserrat !important;
}

.infowindows .map-phone-number,
.infowindows .map-opening-time {
    margin: 10px 0;
    position: relative;
    padding-left: 25px;
}

    .infowindows .map-phone-number:before,
    .infowindows .map-opening-time:before {
        position: absolute;
        font-family: 'Font Awesome 7 Pro';
        font-weight: 400;
        color: #E50047;
        left: 0;
        top: 1px;
    }

    .infowindows .map-phone-number:before {
        content: "\f095";
    }

    .infowindows .map-opening-time:before {
        content: "\f017";
    }

.infowindows .map-phone-number {
    font-weight: 700;
}


.infowindows .map-bt-itineraire {
    color: white;
    border: none;
    background-color: #009CB6;
    position: relative;
    z-index: 0;
    padding: 10px 20px;
    border-radius: 35px;
    font-size: 1rem;
    width: fit-content;
    overflow: hidden;
    transition: all .3s ease;
}

    .infowindows .map-bt-itineraire:before {
        content: "";
        background: linear-gradient(270deg, rgba(47, 50, 55, 0.00) 0%, #2F3237 100%);
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        opacity: 0.2;
        z-index: -1;
    }

    .infowindows .map-bt-itineraire:hover:before,
    .infowindows .map-bt-itineraire:active:before,
    .infowindows .map-bt-itineraire:focus:before {
        opacity: 0.5;
    }

    .infowindows .map-bt-itineraire:hover,
    .infowindows .map-bt-itineraire:active,
    .infowindows .map-bt-itineraire:focus {
        color: white !important;
        background-color: #009CB6 !important;
    }

/*******************************************************
MENTIONS LEGALES
********************************************************/

.mentions-legales {
    padding: 40px 0;
}

    .mentions-legales h1 {
        font-weight: 800;
        color: #009CB6;
    }

    .mentions-legales h2 {
        font-weight: 700;
        margin-top: 40px;
    }

    .mentions-legales dt {
        float: left;
    }

/*******************************************************
PAGE 404
********************************************************/

.page-error {
    text-align: center;
}

    .page-error h1 {
        font-size: 118px;
        font-weight: 800;
        line-height: 1;
        color: #009cb6;
        margin-top: 0;
        padding-top: 60px;
    }

        .page-error h1 span {
            display: block;
            font-size: 75px;
            color: #2f3237;
            font-weight: 700;
        }

    .page-error a {
        margin-bottom: 60px;
        margin-top: 30px;
        color: white;
        border: none;
        background-color: #009CB6;
        position: relative;
        padding: 10px 20px;
        border-radius: 35px;
        font-size: 1rem;
        font-weight: 400;
        overflow: hidden;
        transition: all .3s ease;
        z-index: 0;
        transition: all .3s ease;
    }

        .page-error a:before {
            content: "";
            background: linear-gradient(270deg, rgba(47, 50, 55, 0.00) 0%, #2F3237 100%);
            position: absolute;
            height: 100%;
            width: 100%;
            top: 0;
            left: 0;
            opacity: 0.2;
            z-index: -1;
            transition: all .3s ease;
        }

        .page-error a:hover:before,
        .page-error a:active:before,
        .page-error a:focus:before {
            opacity: 0.5;
            transition: all .3s ease;
        }

        .page-error a:hover,
        .page-error a:active,
        .page-error a:focus {
            background-color: #009CB6 !important;
            color: white !important;
            transition: all .3s ease;
        }
