:root {
    --font-family-base: "Circe", sans-serif;
    --font-family-accent: "Alumni Sans", sans-serif;
    --container-width: 100rem;
    --container-padding-x: clamp(0.25rem, 0.0625rem + 0.9375vw, 1rem);
    --header-height: 13.75rem;
    --input-height: 3.125rem;
    --padding-block: clamp(0.9375rem, 0.46875rem + 2.34375vw, 2.8125rem);
    --transition: all .2s linear;
    --transition-duration: .2s;
    --color-orange: #FF7400;
    --color-green: #8DCE93;
    --color-red: #B20209;
    --color-grey: #8B8B8B;
    --color-grey-light: #E9E9E9;
    --color-blue: #41649E;
    --color-blue-light: #1386EB;
    --color-blue-dark: #082E80;
    --color-black: #000;
    --color-white: white;
    --color-shadow: rgba(0, 0, 0, 0.4)
}

@media(width <=63.99875rem) {
    .front-menu {
        z-index: 100;
        position: absolute;
        top: 0;
        left: -120%;
        width: 100%;
        height: 100%;
        min-height: 100svh;
        transition: var(--transition)
    }

    .front-menu.active {
        left: 0
    }
}

@media(width > 47.99875rem) {
    .front-menu {
        max-width: 26.25rem
    }
}

@media(width > 63.99875rem) {
    .front-menu {
        display: block;
        min-width: clamp(22.5rem,
                21.640625rem + 4.296875vw,
                25.9375rem);
        max-width: clamp(22.5rem,
                21.640625rem + 4.296875vw,
                25.9375rem);
        height: 100%
    }
}

.front-menu__button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 0.3125rem;
    position: absolute;
    top: calc(-1*(5rem + 1.875rem));
    width: 3.75rem;
    aspect-ratio: 1/1;
    border: none;
    border-radius: 50%;
    background-color: var(--color-blue);
    transition: var(--transition);
    transition-duration: .4s
}

@media(any-hover: hover) {
    .front-menu__button:hover {
        background-color: var(--color-blue-dark)
    }
}

@media(any-hover: none) {
    .front-menu__button:active {
        background-color: var(--color-blue-dark)
    }
}

@media(width > 47.99875rem) {
    .front-menu__button {
        top: 2.5rem
    }
}

.front-menu__button .line {
    width: 1.6875rem;
    height: 0.125rem;
    background-color: var(--color-white);
    transform: -50% -50%;
    transition: var(--transition)
}

@media(width > 47.99875rem) {
    .front-menu__button.active {
        left: 27.1875rem
    }
}

.front-menu__button.active .line {
    position: absolute
}

.front-menu__button.active .line-l1 {
    rotate: 45deg
}

.front-menu__button.active .line-l2 {
    width: 0
}

.front-menu__button.active .line-l3 {
    rotate: -45deg
}

@media(width > 63.99875rem) {
    .front-menu__button {
        display: none
    }
}

.front-menu__inner {
    display: none !important;
    position: relative;
    width: 100%;
    padding: 0 !important;
}

@media(width > 63.99875rem) {
    .front-menu__inner {
        display: block !important;
        position: relative;
        width: 100%;
    }
}

.front-menu__inner+.social {
    display: none;
}

.front-menu__list {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;

    height: 100%;
    padding-block: 0.9375rem;
    background-color: var(--color-blue)
}

.front-menu__link {
    display: flex;
    align-items: center;
    column-gap: 0.625rem;
    width: 100%;
    padding: 0.75rem clamp(0.625rem,
            0.15625rem + 2.34375vw,
            2.5rem) 0.625rem;
    background-color: var(--color-blue);
    color: var(--color-white);
    text-transform: uppercase;
    text-decoration: none;
    font-size: 1.125rem
}

.front-menu__link.current {
    pointer-events: none;
    background-color: var(--color-red)
}

.front-menu__link .arrow {
    display: flex;
    align-items: center;
    height: 1.25rem;
    padding-bottom: 0.125rem;
    scale: -1 1;
    transition: var(--transition)
}

.front-menu__link .arrow .ico {
    width: 1.0625rem;
    height: 100%;
    stroke: var(--color-white)
}

.front-menu__link .arrow .ico-i2 {
    margin-left: calc(-1*0.3125rem)
}

@media(any-hover: hover) {
    .front-menu__link:hover:not(.current) {
        background-color: rgba(0, 0, 0, .4)
    }

    .front-menu__link:hover .arrow {
        transform: translateX(0.3125rem)
    }
}

@media(any-hover: none) {
    .front-menu__link:active:not(.current) {
        background-color: rgba(0, 0, 0, .4)
    }

    .front-menu__link:active .arrow {
        transform: translateX(0.3125rem)
    }
}