/* Classe .active donnée par je javascript du menu (menu.js), nécéssaire pour la compatibilité mobile */

:root {
    box-sizing: border-box;

    --primary: #333;
    --hover-color: #557cfa;
    --dark: #1c2022;
    --light: #fff;

    --header-bg: var(--primary);
}

header {
    background: var(--header-bg);
    padding-left: 1.5em;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1000;
}

.branding-logo {
    display: flex;
    align-items: center;
}

.navbar {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
}

.menu {
    display: flex;
    flex-direction: row;
}

.menu li {
    list-style: none;
}

.menu li a {
    display: block;
    text-decoration: none;
    color: var(--light);
    padding: 1em 1.5em;
    font-size: 1rem;
}

/* Styling submenu */
.has-dropdown {
    position: relative;
}

.submenu {
    position: absolute;
    left: 0;
    background-color: var(--dark);
    white-space: nowrap;
    padding: 1.5em 0;
    min-width: 16em;

    /* hide submenus */
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top center;
}

.submenu>li>a {
    padding: 0.8em 1.5em;
}

.submenu .submenu {
    left: -100%;
    top: 0;
}

.submenu .submenu .submenu {
    left: -100%;
    top: 0;
}

/* hover des boutons (pc uniquement) */
.menu>li:hover>a,
.submenu>li:hover>a {
    background-color: hsla(0, 0%, 100%, 0.05);
    color: var(--hover-color);
}

.menu>li:hover>a{
    background-color: hsla(0, 0%, 0%, 0.95);
}
/* ////////// */

/* Arrows */

.arrow {
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    vertical-align: middle;
    border-left: 0.15em solid currentColor;
    border-bottom: 0.15em solid currentColor;
    transform: rotate(225deg);
    margin-top: -0.25em;
    transition: transform 100ms ease-in-out;
}

/* Reveal  */
/* .menu>li:hover>a+.submenu,
.submenu>li:hover>a+.submenu */
.menu>li.active>a+.submenu,
.submenu>li.active>a+.submenu {
    opacity: 1;
    transform: scaleY(1);
}

/* ANIMATE aRROWS */
/* .menu>li:hover>a>.arrow,
.submenu>li:hover>a>.arrow */
.menu>li.active>a>.arrow,
.submenu>li.active>a>.arrow
 {
    transform: rotate(-45deg);
}

@media only screen and (max-width: 78.75em) {

    .submenu .submenu .submenu {
        left: -100%;
        top: 0.5em;
    }

    .submenu {
        min-width: 16em;
    }
}

@media only screen and (min-width: 58.75em) {
    .lg-col-2 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .lg-col-2>li {
        flex: 50%;
    }
}

@media only screen and (max-width: 58.75em) {

    .menu li a {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 50em) {
    header {
        /* position: relative; */
        padding: 1.5em 2em;
    }

    .menu {
        flex-flow: column;
        position: absolute;
        background: var(--light);
        top: 4.55em;
        left: 0;
        right: 0;
        height: 100vh;

        opacity: 0;
        transform: scaleY(0);
        transform-origin: top center;
        transition: 200ms transform cubic-bezier(0.36, 0.4, 0.42, 1.48) 100ms,
            100ms opacity ease-in-out;

        overflow-y: scroll;
        padding-bottom: 1000px;
    }

    .menu>li>a {
        font-size: 1rem;
        color: var(--dark);
    }

    .submenu>li>a {
        font-size: 1rem;
    }

    .submenu {
        top: 0;
        padding-left: 1.5em;
        /* border-left: 0.12em dotted hsla(342, 99%, 45%, 0.95); */
    }

    .submenu .submenu {
        left: 0;
        top: 0;
    }

    .submenu .submenu .submenu {
        left: 0;
        top: 0;
    }

    /* .menu>li:hover>a+.submenu,
    .submenu>li:hover>a+.submenu */
    .menu>li.active>a+.submenu,
    .submenu>li.active>a+.submenu {
        position: relative;
    }

    .burger-icon {
        /* position: absolute; */
        z-index: 11;
        justify-self: flex-end;
        margin-left: auto;
        /* right: 10px;
        top: 10px; */
        cursor: pointer;
    }

    .burger-line {
        width: 30px;
        height: 5px;
        background-color: white;
        margin: 5px;
        border-radius: 5px;
        transition: all 0.3s ease;
        pointer-events: none;
    }


    .navbar:has(.menu.active) .burger-icon .burger-line:nth-child(1) {
        transform: rotate(45deg) translate(9px, 5px);
    }

    .navbar:has(.menu.active) .burger-icon .burger-line:nth-child(2) {
        opacity: 0;
    }

    .navbar:has(.menu.active) .burger-icon .burger-line:nth-child(3) {
        transform: rotate(-45deg) translate(9px, -5px);
    }

    /* reveal menu */
    .menu.active {
        position: absolute;
        opacity: 1;
        transform: scaleY(1);
    }
}