header {
    position: fixed;
    top: 0;
    right: 80vw;
    bottom: 0;
    left: 0;
    min-width: calc(var(--vh) * 100);
    max-width: calc(var(--vh) * 100);
    min-height: 20vw;
    max-height: 20vw;
    background-color: whitesmoke;
    border-bottom: 1px solid black;
    transform-origin: top left;
    transform: rotate(-90deg) translateX(-100%);
    z-index: 20;
}
@media only screen and (min-width: 1024px) {
    header {
        right: calc(calc(100vw / 9) * 8);
        min-height: calc(100vw / 9);
        max-height: calc(100vw / 9);
    }
}

.header-title {
    position: absolute;
    top: 1rem;
    right: 1rem;
    text-align: right;
    overflow: inherit !important;
    white-space: nowrap;
}

.header-subhead {
    position: absolute;
    right: 1rem;
    bottom: .5rem;
    left: 1rem;
    height: fit-content;
    display: flex;
    justify-content: space-between;
}

.header-date {display: flex;}
#header-date {margin-right: 3rem;}

.header-nav {
    display: flex;
    justify-content: right;
}
.header-nav a {
    margin-left: 3rem;
    text-align: right;
}
@media only screen and (max-height: 660px) {
    #header-date {margin-right: 1rem;}
    .header-nav a {margin-left: 1rem;}
}
@media only screen and (max-height: 470px) {
    .header-subhead {flex-direction: column;}
    .header-nav {justify-content: space-between;}
    .header-nav a {margin: .25rem 0 0 0;}
}