* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

button {
    appearance: none;
    background: none;
    border: none;
}

:root {
    --black: #2d1f13;
    --red: #ff645a;
    --green: #9feb76;
    --blue: #8cc6e7;
    --grey: #8c8f90;
    --grey-l: #ced2d3;
    --stroke-width: 2px;
    --outline: var(--stroke-width) solid var(--black);
    --border: var(--outline);
    /* --outline-offset: calc(var(--stroke-width) * -1); */
}

body {
    background-color: var(--blue);
    /* min-height: 100vh;
    outline: var(--outline);
    outline-offset: var(--outline-offset);
    position: relative;
    z-index: 0; */
}

/* main {
    position: relative;
    z-index: -1;
} */

/* HEADER */

.header {
    align-items: center;
    display: flex;
    height: 80px;
    justify-content: space-between;
    padding: 0 30px;
    position: relative;
}

.header__menu {
    background-color: var(--green);
    border-bottom: var(--border);
    left: 0;
    padding: 80px 30px 30px;
    position: absolute;
    top: 0;
    transform: translateY(-100%);
    width: 100%;
    /* z-index: -1; */
}

.header.is-menu-visible .header__menu {
    transform: translateY(0);
}

.header__logo img {
    display: block;
    width: 50px;
}

.header__btn {
    position: relative;
    z-index: 1;
}




.menu-btn {
    cursor: pointer;
    font-size: 0;
    height: 30px;
    position: relative;
    width: 40px;
}

.menu-btn span {
    font-size: 0;
}

.menu-btn::before,
.menu-btn span,
.menu-btn::after {
    background-color: var(--black);
    border-radius: var(--stroke-width);
    content: '';
    height: var(--stroke-width);
    left: 0;
    position: absolute;
    width: 100%;
}

.menu-btn::before {
    top: 0;
}

.menu-btn span {
    top: 50%;
    transform: translateY(-50%);
}

.menu-btn::after {
    bottom: 0;
}

.header.is-menu-visible .menu-btn::before {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}

.header.is-menu-visible .menu-btn span {
    opacity: 0;
}

.header.is-menu-visible .menu-btn::after {
    bottom: 50%;
    transform: translateY(50%) rotate(45deg);
}


@media screen and (min-width: 1024px) {

    .header {
        align-items: flex-start;
        height: auto;
        padding: 50px;
    }

    .header__btn {
        display: none;
    }

    .header__menu {
        border: none;
        padding: 0;
        position: static;
        transform: none;
    }

}


@media screen and (min-width: 1024px) {

    body {
        background-color: var(--green);
    }

}

/* MENU */

.menu {
    list-style: none;
}

.menu li {
    font-size: 2rem;
}


@media screen and (min-width: 1024px) {

    .menu {
        display: grid;
        grid-template-columns: repeat(7, auto);
        grid-template-rows: repeat(5, auto);
        width: 50%;
    }
    
    .menu li {
        font-size: 1.25rem;
        text-align: center;
    }
    
    .menu li:first-child {
        grid-column-start: 1;
        grid-row-start: 1;
    }
    
    .menu li:nth-child(2) {
        grid-column-start: 2;
        grid-row-start: 3;
    }
    
    .menu li:nth-child(3) {
        grid-column-start: 2;
        grid-row-start: 4;
    }
    
    .menu li:nth-child(4) {
        grid-column-start: 3;
        grid-row-start: 2;
    }
    
    .menu li:nth-child(5) {
        grid-column-start: 4;
        grid-row-start: 1;
    }
    
    .menu li:nth-child(6) {
        grid-column-start: 4;
        grid-row-start: 7;
    }
    
    .menu li:nth-child(7) {
        grid-column-start: 5;
        grid-row-start: 5;
    }
    
    .menu li:nth-child(8) {
        grid-column-start: 5;
        grid-row-start: 6;
    }
    
    .menu li:nth-child(9) {
        grid-column-start: 6;
        grid-row-start: 6;
    }
    
    .menu li:last-child {
        grid-column-start: 7;
        grid-row-start: 6;
    }

}

