.header {
    background: var(--dark-hdp);
    left: 0;
    position: sticky;
    top: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 1000;
    padding-top: 50px;
    padding-bottom: 20px;
    position: relative;

    &:before {
        content: '';
        width: 100%;
        height: 4px;
        top: 0px;
        position: absolute;
        background: linear-gradient(90deg, rgba(7, 116, 186, 1) 0%, rgba(224, 23, 124, 1) 50%, rgba(13, 190, 57, 1) 100%);
    }

    .header__main {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-bottom: 10px;
        padding-top: 10px;
        position: relative;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;

        @media (max-width: 991px) {
            &:has(.menu.open) {
                position: fixed;
            }
        }
    }

    .header__main .container {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .header.scrolling {
        background: #fff;
    }

    .header__logo {
        -ms-flex-item-align: center;
        align-self: center;
        display: block;
        position: relative;
        z-index: 10;
    }

    .header__logo img {
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        width: 120px;
    }

    .header__logo:hover img {
        opacity: 0.7;
    }

    .header__boutons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 16px;
        margin-top: 24px;
        right: 60px;
        padding: 0 24px;
        top: 12px;
    }

    .header__boutons .bouton {
        border-radius: 8px 0 8px 0;
        width: 100%;
    }

    .header .menu__socials a:not(:hover) {
        color: #fff;
    }

    .menu {
        background: var(--dark-hdp);
        top: -100vh;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        left: 0;
        padding-bottom: 24px;
        position: fixed;
        overflow: auto;
        -webkit-transition: all 1s;
        transition: all 1s;
        width: 100%;
        z-index: 9;
    }

    .menu.open {
        top: 0;
    }

    @media (min-width: 992px) {
        .menu {
            background: transparent;
            bottom: auto;
            bottom: initial;
            height: auto;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -ms-flex-direction: row;
            flex-direction: row;
            overflow: visible;
            overflow: initial;
            padding: 0;
            position: static;
            width: 100%;
        }
    }

    .menu__main {
        margin: 0;
        padding: 0;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        overflow: auto;
        margin-top: 5rem;
        width: 100%;
        overflow: visible;
        position: relative;

        @media (max-width: 991px) {
            margin-top: 180px;
        }
    }

    .menu__main ul {
        padding: 0px;
        margin: 0px;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .menu__main li {
        list-style: none;

        a {
            text-decoration: none;
            color: var(--white);
            text-transform: uppercase;
            font-family: var(--semibold);
            font-size: 13px;
            line-height: 14px;
        }

        .children {
            opacity: 0;
            display: none;
        }
    }

    .menu__main li::before {
        display: none;
    }

    @media (min-width: 992px) {
        .menu__main {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: 0px;
            margin-top: 0;
            justify-content: end;

            .menu-item.cta_contact {
                margin: 0px 10px 10px 10px;
            }
        }
    }

    .menu__main .menu-item {
        overflow: hidden;
        padding: 10px 24px;
        width: 100%;
    }

    @media (max-width: 991px) {

        .menu__main .menu-item:not(:last-child),
        .menu__main+.menu-panel .menu-item {
            border-bottom: 3px solid #1e1428;
            background: #2a1c38;
        }

        .menu__main .menu-item:last-child {
            background: var(--main-color3);

            a {
                color: var(--white);
            }
        }

        .menu__main+.menu-panel {
            padding: 0px;
        }

        .menu__main+.menu-panel li {
            list-style: none;
            padding-left: 24px;

            &:not(:first-child) {
                padding: 10px 24px;
                margin: 0px;

                a {
                    font-family: var(--semibold);
                    text-transform: uppercase;
                }
            }

            a {
                text-decoration: none;
                color: var(--white);
                font-size: 14px;

                .menu-item-description {
                    display: none;
                }
            }

        }

        .menu-panel .media_left_menu,
        .menu-panel img {
            display: none;
        }
    }


    .menu__main .menu-item {
        @media (min-width: 992px) {
            .media_left_menu {
                grid-row: 1 / span 4;
            }
        }

        @media (min-width: 1200px) {
            .media_left_menu {
                grid-row: 1 / span 3;
            }
        }

        @media (min-width: 1400px) {
            .media_left_menu {
                grid-row: 1 / span 2;
            }
        }

        @media (max-width: 991px) {
            margin-bottom: 0px !important;

            &.pll-parent-menu-item {
                >a {
                    display: none;
                }
            }
        }
    }

    @media (min-width: 992px) {
        .menu__main .menu-item {
            padding: 0;
            width: auto;
            transition: var(--transition);

            ul {
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transition: opacity 0.3s ease, transform 0.3s ease;
            }

            &:not(.pll-parent-menu-item) {
                &:hover {
                    overflow: visible;

                    ul {
                        display: grid;
                        background: var(--white);
                        position: absolute;
                        opacity: 1;
                        visibility: visible;
                        pointer-events: auto;
                        grid-template-columns: 230px repeat(auto-fit, minmax(200px, 1fr));
                        place-items: flex-start;
                        right: 0px;
                        border-radius: var(--border-radius);
                        outline: 8px solid rgba(255, 255, 2555, 0.16);
                        padding: 10px 30px 10px 10px;
                        width: 103%;
                        top: 60px;
                        place-items: center;
                        gap: 25px;
                        animation: fade-in 0.3s ease-in-out forwards;

                        li {
                            margin: 0px;
                            padding: 0px;

                            &:first-child {
                                height: 100%;

                                a {
                                    span {
                                        &.menu-item-image-span {
                                            font-size: 28px !important;
                                            font-family: var(--medium) !important;
                                            color: var(--white) !important;
                                            text-transform: math-auto !important;
                                            top: 25px !important;
                                            left: 25px !important;
                                            line-height: 32px !important;
                                            letter-spacing: normal !important;
                                        }

                                        &.menu-item-lien {
                                            font-size: 14px !important;
                                            font-family: var(--medium) !important;
                                            color: var(--white) !important;
                                            text-transform: math-auto !important;
                                            bottom: 25px !important;
                                            right: 25px !important;
                                            line-height: 16px !important;
                                            letter-spacing: normal !important;
                                        }
                                    }
                                }
                            }

                            &:not(:first-child) {
                                height: 100%;

                                a {
                                    height: 100%;
                                }

                                &:hover {
                                    a {
                                        span {
                                            color: var(--main-color1);
                                        }
                                    }
                                }

                                a {
                                    img {
                                        width: 40px;
                                        height: 40px;
                                        object-fit: contain;
                                    }
                                }
                            }

                            a {
                                display: grid;
                                grid-template-columns: 50px 1fr;
                                gap: 0px 10px;
                                color: var(--dark);
                                transition: var(--transition);

                                span {
                                    color: var(--dark);
                                }

                                .menu-item-image-span {
                                    font-size: 13px;
                                    line-height: 18px;
                                    font-family: var(--bold);
                                }

                                .menu-item-image-span.doubleligne {
                                    height: 30px;
                                }

                                .menu-item-description {
                                    grid-column: 2;
                                    text-transform: math-auto;
                                    font-size: 12px;
                                    line-height: 16px;
                                    font-family: var(--regular);
                                }

                            }

                            a,
                            span,
                            img {
                                padding: 0px !important;
                            }
                        }
                    }
                }
            }

            .media_left_menu {
                a {
                    position: relative;
                    height: 100%;
                    width: 100%;
                    display: block !important;

                    img {
                        height: 100%;
                        width: 100%;
                    }

                    span {
                        position: absolute;

                        &.menu-item-image-span {
                            z-index: 10;
                            left: 0;
                        }

                        &.menu-item-description {
                            position: absolute;
                            right: 25px;
                            z-index: 10;
                            bottom: 25px;
                            color: var(--white);
                            text-transform: math-auto;
                            font-family: var(--medium);
                            font-size: 14px;
                        }
                    }
                }
            }
        }

        .menu__main .menu-item:not(:last-child) {
            border-bottom: 0;
        }
    }

    @media (min-width: 1200px) {
        .menu__main {
            gap: 24px;
        }
    }

    @media (min-width: 1400px) {
        .menu__main {
            gap: 24px;

            .menu-item.cta_contact {
                margin: 0px -20px 10px 10px;
            }

            .menu-item {
                &:hover {
                    ul {
                        gap: 25px !important;
                    }
                }
            }
        }
    }

    .menu__main .menu-item a,
    .menu__main .menu-item span {
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }

    .menu__main .menu-item a,
    .menu__main .menu-item span:not(.menu-item-description) {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 13px;
        line-height: 14px;
        padding: 4px 10px;
        font-family: var(--semibold);
        text-transform: uppercase;
        color: var(--white);
        letter-spacing: 1px;
    }

    @media (min-width: 992px) {

        .menu__main .menu-item:not(.menu-item-has-children) a:hover,
        .menu__main .menu-item span:hover {
            color: var(--main-color1);
        }

        .menu__main .menu-item.pll-parent-menu-item:hover {
            position: relative;
            overflow: visible;

            a {
                &:after {
                    right: -15px;
                }
            }

            ul {
                position: absolute;
                right: 16px;
                background-color: #0F0A14;
                top: 5px;
                opacity: 1;
                visibility: visible;
                display: block;
                width: fit-content;
                border-radius: var(--border-radius);

                li {
                    padding: 0px !important;
                    margin: 0px !important;

                    a {
                        font-family: var(--regular) !important;
                        color: var(--main-color4) !important;
                        transition: var(--transition);
                        pointer-events: all;
                        padding: 10px 5px !important;

                        &:hover {
                            opacity: 0.6;
                        }
                    }
                }
            }
        }

        .menu__main .menu-item-has-children:not(.pll-parent-menu-item)>a:hover,
        .menu__main .menu-item-has-children:not(.pll-parent-menu-item).hover_submenu>a {
            color: var(--dark);
            z-index: 2;
            position: relative;
            transition: var(--transition);

            &:after {
                content: '';
                background-color: var(--white);
                border-radius: 8px 8px 0 0;
                width: 120%;
                height: 100%;
                position: absolute;
                z-index: -1;
                top: -12px;
                left: 50%;
                transform: translateX(-50%);
                padding: 35px 30px;
                transition: var(--transition);
            }
        }

        .menu__main .menu-item.cta_contact {
            padding: 5px 0px;
            border-radius: var(--border-radius);
            display: flex;
            align-items: center;
            cursor: pointer;
            transition: var(--transition);
            background-color: var(--main-color1);
            outline: 4px solid rgba(80, 120, 240, 0.33);

            &:before {
                content: '';
                background-image: url('../../img/tel.svg');
                width: 16px;
                height: 18px;
                display: inline-block;
                background-repeat: no-repeat;
                margin: 1px -5px 0px 7px;
            }

            &:hover {
                background-color: var(--main-color2);

                a {
                    color: var(--white) !important;
                }
            }

            a {
                text-transform: capitalize !important;
                font-family: var(--regular) !important;
            }
        }

        .menu__main .pll-parent-menu-item>a {
            display: flex;
            gap: 5px;
            align-items: center;
            justify-content: center;
            color: var(--main-color4);
            font-family: var(--regular) !important;

            &:before {
                content: '';
                background-image: url('../../img/flag.svg');
                width: 22px;
                height: 25px;
                display: inline-block;
                position: relative;
                background-repeat: no-repeat;
                margin-top: 5px;
            }

            &:after {
                content: '';
                background-image: url('../../img/chevron.svg');
                width: 10px;
                height: 10px;
                display: inline-block;
                position: relative;
                background-repeat: no-repeat;
                margin-top: 5px;
            }
        }
    }

    .menu__main .menu-item i {
        display: none !important;
    }

    .menu__main .sub-menu {
        margin: 0;
        padding: 0;
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
        opacity: 0;

        @media (min-width: 992px) {
            display: none;
        }

        @media (max-width: 991px) {
            flex-direction: column;
            opacity: 1;
            padding-left: 10px;

            .menu-item {
                padding: 0px !important;
                border: none;
                display: flex;
                align-items: center;

                a {
                    padding: 7px 0px !important;
                }

                &:nth-child(2):not(.lang-item) {
                    padding-top: 10px !important;
                }

                .menu-item-image-span {
                    height: fit-content;
                    display: inline-block;
                    padding: 0px;
                    color: var(--main-color3) !important;
                }

                img,
                .menu-item-description,
                .menu-item-lien {
                    display: none;
                }

            }

            .media_left_menu {
                display: none !important;
            }
        }
    }

    .menu__main .sub-menu li {
        list-style: none;
    }

    .menu__main .sub-menu li::before {
        display: none;
    }

    .menu__main .sub-menu .menu-item {
        padding: 8px 0;
    }

    .menu__main .sub-menu .menu-item a {
        font-size: 14px;
    }

    .menu__main .open i {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .menu__main .open .sub-menu {
        border-color: var(--main-color3);
        max-height: 500px;
    }

    .menu__toggle {
        cursor: pointer;
        display: block;
        height: 32px;
        width: 32px;
        z-index: 11;
    }

    .menu__toggle span {
        background: var(--main-color3);
        display: block;
        height: 3px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        width: 32px;
    }

    .menu__toggle span::before,
    .menu__toggle span::after {
        background: var(--main-color3);
        content: "";
        display: block;
        height: 3px;
        position: absolute;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        width: 32px;
    }

    .menu__toggle span::before {
        top: -10px;
    }

    .menu__toggle span::after {
        top: 10px;
    }

    .menu__toggle.open span {
        background: transparent;
    }

    .menu__toggle.open span::before,
    .menu__toggle.open span::after {
        background: var(--white);
    }

    .menu__toggle.open span::before {
        top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .menu__toggle.open span::after {
        top: 0;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
}

.menu__main .menu-item .sub-menu:has(li:not(.media_left_menu)) {
    padding: 20px !important;

    li {
        a {
            display: flex !important;
            flex-direction: column;
            align-items: start;
            gap: 15px !important;
        }
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}