:root{
    --header-size: max(5vh,100px);
    --header-padding: 5px;

    /* used for padding and text size */
    --header-content-size: calc(
        var(--header-size) - (var(--header-padding) *2))
}

header{
    height: var(--header-size);
    width: 100%;

    /* will be a stylistic choice */
    /* background-color: var(--white);
    box-shadow: 0px 10px 10px 20px var(--white); */

    display: flex;
    align-items: center;

    position: fixed;
    z-index: 1;

    top: 0;
    left: 0;
    right: 0;

    opacity: 1;

    transform: translateY(0);
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.site-header{
    display: flex;
    align-items: center;
}

header.header-hidden{
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: 0;
}

#header-logo{
    padding: var(--header-padding);
    /* 3px compensates the gap before the first letter begins */
    padding-left: calc(var(--header-padding) + 3px);
    height: var(--header-content-size);
    width: var(--header-content-size);
    object-fit: contain;
    display: block;
}

#header-logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#header-text{
    color: black;
    font-size: clamp(0.5rem, 8vw, var(--header-content-size));
    white-space: nowrap;
    font-size: 0.5rem;
    /* color: inherit; */
    text-decoration: none;
}

@media (min-width: 1000px){
    header{
        z-index: 2;
    }
}