#header-container {
    width: 100%;
    position: relative;
}

#header-bg-image {
    width: 100%;
    height: 400px;
    position: absolute;
    z-index: 1;
}

#header-decoration-container {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 85%;
}

#header-decoration-mansion-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 100%;
    width: 100%;
    position: absolute;
    top: -20px;
}

#header-decoration-trees-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    height: 100%;
    width: 100%;
    position: absolute;
}

#header-decoration-trees-left, #header-decoration-trees-right {
    display: flex;
    flex-direction: row;
    height: 100%;
    align-items: flex-end;
    opacity: 0.9;
}

#header-decoration-large-trees-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    position: absolute;
}

.header-decoration-trees {
    height: 40%;
    aspect-ratio: 3.217
}

.header-decoration-trees-lg {
    height: 60%;
    aspect-ratio: 3.217
}

#header-content-container {
    position: absolute;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    height: 80%;
}

#header-content-above-logo-container {
    background-color: red;
    opacity: 0;
    height: 64px;
}

#header-logo-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 50%;
}

#header-logo {
    aspect-ratio: 2.336;
}

#header-navigation-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    align-items: flex-end;
}

#header-navigation-left, #header-navigation-right {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#header-navigation-left-row-1, #header-navigation-left-row-2, #header-navigation-right-row-1, #header-navigation-right-row-2 {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.nav-item-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
}

.nav-item-spacer {
    opacity: 0;
}

.nav-item-base {
    position: absolute;
}

.nav-item-hover {
    position: absolute;
    opacity: 0;
    transition: opacity 0.3s;
}

.nav-item-label {
    text-decoration: none;
    color: white;
    position: absolute;
    pointer-events: none;
    font: 1.3em 'FOT-ComicMystery Std';
}

.nav-item-hover:hover {
    opacity: 1;
}

#header-bg-image-spacer {
    opacity: 0;
    width: 100%;
    height: 400px;
}