body {
    h1,
    .h1,
    h2,
    .h2,
    h3,
    .h3,
    h4,
    .h4,
    h5,
    .h5,
    h6,
    .h6 {
        font-weight: 700;
    }
    h1,.h1 {
        font-size: 3rem;
        padding: 20px 0;
    }
    h2,.h2 {
        font-size: 2rem;
        padding: 20px 0;
    }
    h3,.h3,h4,.h4 {
        padding: 15px 0;
    }
    h5,.h5,h6,.h6 {
        padding: 10px 0;
    }
    p {
        font-size: 1.25rem;
    }

    header#page-header {
        display: flex;
        flex-direction: column;
        padding: 0;

        .header-top {
            background-color: $primary;
            width: 100%;
            display: flex;
            align-items: center;

            .container {
                display: flex;
                justify-content: flex-end;

                .menu-top {

                    ul {
                        display: flex;
                        align-items: center;
                        height: 100%;

                        li {
                            list-style: none;
                            display: flex;
                            align-items: center;
                            height: 100%;
                            border-right: 4px solid #FFF;

                            &:first-child {
                                border-left: 4px solid #FFF; // Applique une bordure à gauche uniquement pour le premier élément li
                            }
                            a {
                                height: 100%;
                                width: 100%;
                                padding: 0 12px;
                                display: flex;
                                gap: 10px;
                                font-size: 0.9rem;
                                color: #FFF;

                                img {
                                    max-width: 20px;
                                    max-height: 20px;
                                }
                            }
                            &:hover {
                                background-color: $secondary;
                            }
                        }
                    }
                }
                .phone-link {
                    font-size: .9rem;
                    display: flex;
                    gap: 0 12px;
                    align-items: center;
                    padding: 10px;
                    border-right: 4px solid #FFF;
                    position: relative;
                    text-decoration: none;
                    color: #FFF;
                    transition: .3s;

                    &::before {
                        content: '';
                        display: inline-block;
                        height: 20px;
                        width: 20px;
                        background-image: url(../Images/phone-white.svg);
                        background-size: cover;
                        background-position: center;
                        background-repeat: no-repeat;
                    }
                    &:hover {
                        background-color: $secondary;
                    }
                }
            }

        }
        .container-mainnavigation {
            align-items: center!important;

            .navbar-brand-image {
                height: 144px;
                background: #FFF;
                margin-top: -45px;
                padding: 0 2rem;

                img {
                    padding: 10px;
                    height: 65%;
                    width: auto;
                    @media (min-width: 1200px) {
                        max-height: 130px;
                    }
                }
            }
            #mainnavigation {
    
                .navbar-nav {
                    justify-content: flex-end;
    
                    .nav-item {
                        
                        .nav-link {
                            font-weight: 600;
                            color: #333;

                            &:hover {
                                color: $primary;
                            }
                            &::before {
                                display: none;
                            }
                        }
                        .back-menu {
                            display: none;
                        }
                        .dropdown-menu {
                            position: fixed;
                            top: 138px;
                            width: 100%;
                            left: 0;
                            border-radius: 0;
                            padding: 40px 0;
                            border: none;
                            border-top: 3px solid #eee;
                            box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.2);
                            margin: 0;
                
                            .container-md {
                              padding: 0;
                              display: grid;
                              grid-template-columns: repeat(auto-fit, minmax(20px, 1fr));
                
                              ul {
                                list-style: none;
                                display: flex;
                                flex-direction: row;
                                flex-wrap: wrap;
                
                                &:not(:last-of-type) {
                                  border-right: 3px solid lightgrey;
                                }
                                .nav-item {
                                    margin: 0 1rem 1rem 0;
                                    width: calc(33.3% - 1rem);

                                    .nav-link {
                                        color: #212121;
                                        transition: all 0.2s ease-in-out;
                                        padding: 5px 0;
                                        height: inherit;
                                        position: relative;
                    
                                        &:hover,
                                        &:focus,
                                        &:focus-visible {
                                        color: #000;
                                        }
                                        &.show {
                                            &:after {
                                            opacity: 1;
                                            display: block;
                                            content: "";
                                            position: absolute;
                                            bottom: 0;
                                            left: 50%;
                                            border-width: 8px;
                                            border-style: solid;
                                            border-color: transparent transparent #000 transparent;
                                            transform: translateX(-50%);
                                            }
                                        }                          
                                    }
                                  &.active,
                                  &:hover,
                                  &:focus,
                                  &:focus-visible {
                                    .nav-link {
                                      color: $secondary;
                                    }
                                  }
                                }
                              }
                            }
                            .close-menu {
                              position: absolute;
                              right: 20px;
                              top: 20px;
                              width: 30px;
                              height: 30px;
                              border: none;
                              background-color: transparent;
                            }
                        }
                    }
                }
            }
            div.menu-responsive {
                display: none;
            }
        }
    }
    header#page-header.navbar-transition {
        --mainnavigation-nav-height: 100px;
    }
    .rev_slider_mobile {
        margin-top: -85px!important;
    }
    .carousel-fullscreen {
        .carousel-item-type-text {
            .carousel-text-inner {
                background: #fff ;
                border-radius: var(--frame-embedded-border-radius);
                color: #16ACA7;
                padding: 2.5rem 1.25rem;
            }
        }
    }
    main#page-content {
        .frame-background-primary, .frame-background-secondary, .frame-background-primary a, .frame-background-secondary a {
            color: #FFF;
        }
        .frame-partners-img {

            .gallery-row {
                margin-top: 2rem;
                gap: 2.5rem 0.5rem;
    
                .gallery-item picture {
    
                    img {
                        max-height: 60px;
                        width: auto;
                        filter: saturate(0);
                        transition: .2s;
                
                        &:hover {
                            filter: saturate(1);
                        }
                    }
                }
            }
        }

        .timeline {
            .timeline-item {
                .timeline-item-date {
                    display: none;
                }
            }
        }
    }
    footer#page-footer {
        .footer-section-content {
            background: $secondary;

            .footer-section-content-column {
                .list-normal {
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
                    padding: 0;

                    li {
                        list-style: none;
                        border-bottom: 1px solid #fff;
                        padding-bottom: 0.4rem;
                        
                        &:last-child {
                            border: none;
                        }
                        a {
                            color: #FFF;
                            text-decoration: none;
                        }
                    }
                }
            }
        }
        .frame-background-primary .footer-info-section, .frame-background-secondary .footer-info-section, .frame-background-primary .footer-info-section a, .frame-background-secondary .footer-info-section a {
            color: #FFF;
        }
    }
    div#tarteaucitronRoot {
        div#tarteaucitronAlertBig {
            background: #FFF;
    
            span#tarteaucitronDisclaimerAlert {
                color: #333;
            }
            button.tarteaucitronAllow {
                background: $primary;
            }
            button#tarteaucitronCloseAlert {
                background: $secondary;
                color: #FFF;
            }
        }
        div#tarteaucitron {
            button#tarteaucitronClosePanel {
                background: $primary;
            }
            div#tarteaucitronServices {
                div.tarteaucitronMainLine {
                    background: $primary;

                    div#tarteaucitronInfo {
                        background: $primary;
                        border: unset;
                    }
                }
                div.tarteaucitronBorder {
                    div.tarteaucitronTitle {
                        button {
                            background: $primary;
                        }
                    }
                }
                div#tarteaucitronSave {
                    background: #FFF;
                    button.tarteaucitronAllow {
                        background: $primary;
                    }
                }
            }
        }
    }
    .btn {
        text-transform: uppercase;
        .btn-primary {
            color: #FFF;
        }
    }

    .scroll-top {
        border-radius: 50%;
    }
}
@media screen and (max-width: 1399px) {
    .carousel-fullscreen {
        .carousel-item-type-text {
            .carousel-text-inner {
                .carousel-item-header {
                    font-size: 2rem !important;
                }
            }
        }
    }
}

@media screen and (max-width: 1200px) {
	body {

        header#page-header {
            .container-mainnavigation {
                #mainnavigation {
                    .navbar-nav {
                        padding: 0rem 0 3rem 0;
                        gap: 15px;

                        .nav-item {

                            .back-menu {
                                display: block;
                                position: relative;
                                top: auto;
                                right: auto;
                                width: 100%;
                                height: 40px;
                                text-align: left;
                                margin-bottom: 2rem;
                                border-radius: 0;
                                border: none;

                                &::before {
                                    content: "";
                                    border-top: 0.3em solid;
                                    border-right: 0.3em solid transparent;
                                    border-bottom: 0;
                                    border-left: 0.3em solid transparent;
                                    margin-left: auto;
                                    vertical-align: middle;
                                    display: inline-block;
                                    transform: rotate(90deg) translateY(6px);
                                }
                            }
                            .dropdown-menu {
                                height: auto;
                            }
                        }
                    }
                }
            }
        }
		.breadcrumb-section {
      		.breadcrumb {
                .breadcrumb-item {
                    &:not(:nth-last-child(2)) {
                            display: none;
                    }
                    & + .breadcrumb-item:before {
                            content: var(--bs-breadcrumb-divider, "<") !important;
                    }
                }
      		}
    	}
  	}
}

@media screen and (max-width: 991px) {
    body {
        header#page-header {
            .container-mainnavigation {
                .navbar-brand-image {
                    margin-top: 0;

                    img {
                        max-height: unset;
                        height: 45%;
                        padding: 0;
                    }
                }
                #mainnavigation {
                    ul.navbar-nav {
                        li.nav-item {
                            div.dropdown-menu {
                                top: 180px;
                            }
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 767px) {
    body {
        header#page-header {
            flex-direction: row;

            .header-top {
                height: 25px;

                .container {
                    display: none;
                }
            }
            .container-mainnavigation {
                .navbar-brand-image {
                    height: 100px;

                    img {
                        max-height: unset;
                        padding: 0;
                    }
                }
                #mainnavigation {
                    height: calc(100vh - 169px);

                    &.show + .menu-responsive {
                      display: flex;
                      width: 100%;
                      height: 75px;
                      z-index: 9999;
                    }
                    ul.navbar-nav {
                        li.nav-item {
                            div.dropdown-menu {
                                top: 136px;
                                box-shadow: none;
                                padding: 0;
                                border: unset;
                                height: calc(100% - 211px);
                                overflow-y: scroll;
                                border-top: 1px solid $secondary;

                                div.container-md {
                                    ul {
                                        flex-direction: column;

                                        li.nav-item {
                                            width: auto;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                .menu-responsive {
                    background-color: $primary;
                    position: fixed;
                    left: 0;
                    bottom: 0;
                    
                    nav {
                        flex-basis: 65%;

                        ul {
                            display: flex;
                            align-items: center;
                            height: 100%;
                            padding: 0;
                            margin: 0;

                            li {
                                flex: 1;
                                height: 100%;
                                border-right: 2px solid #FFF;

                                a {
                                    justify-content: center;
                                    flex-direction: column;
                                    height: 100%;
                                    color: #FFF;

                                    img {
                                        max-height: 20px;
                                        max-width: 20px;
                                    }
                                }
                            }
                        }
                    }
                    a.phone-link {
                        flex-basis: 35%;
                        text-align: center;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        color: #FFF;
                        flex-direction: column;
                        gap: 0.25em;
                        text-decoration: none;

                        &::before {
                            content: '';
                            display: inline-block;
                            height: 20px;
                            width: 20px;
                            background-image: url(../Images/phone-white.svg);
                            background-size: cover;
                            background-position: center;
                            background-repeat: no-repeat;
                        }
                    }
                }
            }
        }
    }
}
