/*
==============
=== HEADER ===
==============
*/

header {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: url('../../img/header.webp') no-repeat center center/cover;
    background-color: var(--neutral-800);
    border-bottom: 1px solid var(--neutral-900);
    padding: var(--spacing-sm) var(--spacing-md);
    width: 100%;
    height: 100px;
    top: 0;
    z-index: 100;
    box-shadow: 0 1px var(--spacing-md) 1px rgba(0, 0, 0, 0.5);
    text-shadow: 0 0 1px black, 0 0 3px black, 0 0 5px black;
    font-size: 16px;
    user-select: none;

    nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        max-width: var(--max-width);
        margin: 0 auto;

        >a {
            display: flex;
            align-items: center;
            gap: var(--spacing-xs);
            color: white;
            text-shadow: 0 0 1px black, 0 2px 10px black, 0 4px 20px black;
            text-decoration: none;

            img {
                width: 90px;
                height: 90px;
                aspect-ratio: 1/1;
                border-radius: 50%;
            }

            span {
                font-family: var(--font-serif);
                font-weight: 700;
                font-size: 125%;
                margin-bottom: 0.25rem;
            }
        }

        >a:hover {
            color: var(--yellow-500);
            text-shadow: 0 0 1px black, 0 2px 10px black, 0 4px 20px black;
            text-decoration: underline;
            text-underline-position: under;
            text-underline-offset: 5px;
            text-decoration-thickness: 1px;
        }

        ul {
            display: flex;
            list-style: none;
            gap: var(--spacing-md);
            text-transform: uppercase;
            width: auto;
            margin: 0;
            padding: 0;
            position: relative;

            li {
                list-style: none;
                margin: 0;
                padding: 0;
                position: relative;

                a {
                    color: var(--neutral-100);
                    text-shadow: 0 0 1px black, 0 2px 10px black, 0 4px 20px black;
                    letter-spacing: 1px;
                    font-family: var(--font-menu);
                    font-size: 125%;
                    font-weight: 600;
                    text-decoration: none;
                    white-space: nowrap;
                }

                a:hover {
                    color: var(--yellow-500);
                    text-shadow: 0 0 1px black, 0 2px 10px black, 0 4px 20px black;
                    text-decoration: underline;
                    text-underline-position: under;
                    text-underline-offset: 5px;
                    text-decoration-thickness: 1px;
                }

                &.active {
                    right: 0 !important;
                }
            }
        }

        button {
            display: none;
            background: rgba(0, 0, 0, 0.5);
            border: none;
            cursor: pointer;
            padding: var(--spacing-xs);
            width: 40px;
            height: 40px;
            margin-top: -5px;

            span {
                display: block;
                width: 20px;
                height: 3px;
                background-color: var(--neutral-100);
                margin: 3px auto;
            }
        }
    }
}

.active {
    right: 0 !important;
}

@media (max-width: 800px) {
    header nav {
        ul {
            a {
                letter-spacing: 0px;
            }
        }
    }
}

@media (max-width: 768px) {
    header nav {
        ul {
            gap: var(--spacing-sm);

            a {
                letter-spacing: 0px;
            }
        }
    }
}

@media (max-width: 720px) {
    header nav {
        ul {
            gap: var(--spacing-sm);

            a {
                letter-spacing: 0px;
                font-size: 100%;
            }
        }
    }
}

@media (max-width: 640px) {
    header nav {
        ul {
            gap: var(--spacing-sm);

            a {
                letter-spacing: 0px;
                font-family: var(--font-menu-narrow) !important;
                font-size: 100%;
            }
        }
    }
}

@media (max-width: 600px) {
    header nav {
        button {
            display: block;
        }

        ul {
            gap: var(--spacing-md);

            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-content: flex-start;
            align-items: flex-start;
            position: absolute;
            right: -200px;
            top: 100px;
            background: rgba(0, 0, 0, 0.5);
            padding: 2rem;
            height: calc(100vh - 100px);
            backdrop-filter: blur(4px);
            transition: right 0.3s ease;
            box-shadow: -1px 0 var(--spacing-sm) rgba(0, 0, 0, 0.5);
        }
    }
}