@font-face {
    font-family: "kfmoco";
    src: url(fonts/KFhimajiMOCO.otf);
}

@font-face {
    font-family: "linerjr";
    src: url(fonts/MiuraLinerJrOtf-R.otf);
}

:root {
    --offwhite: #fdfdfd;
    --lightblu: #dbfaff;
    --softblu: #c4eff6;
    --blu: #66bbff;
    --blu2: #33a4ff;
    --pink: #ff8cb6;
    --yellow: #fff5b4;
    --text: #2d77bb;
    --subtext: #a2b8cb;
}

* {
    box-sizing: border-box;
}

body {
    font-family: "linerjr";
    background: url("https://64.media.tumblr.com/810f106fa8a61d6d6503569160e190c0/tumblr_inline_ml9dr4DOtG1qz4rgp.png");
    background-color: var(--blu);
}

a {
    color: var(--blu);
    text-decoration: none;
}

a:hover,
a:visited {
    color: var(--pink);
    text-decoration: none;
}

h3,
h4 {
    color: var(--blu2);
    font-family: "kfmoco";
}

p {
    margin: 10px 0;
    color: var(--text);
    font-size: 20px;
}

.ilinks {
    margin: 7px 0;
    font-size: 70%;
    font-family: "kfmoco";
}

#container {
    width: 970px;
    margin: 30px auto;
    display: grid;
    grid-template:
        "menu header header"
        "menu main side"
        "menu footer footer"
        /150px 3fr 1fr;
    grid-gap: 20px;
}

.box {
    padding: 0 15px;
    background: var(--offwhite);
    border: 2px dotted var(--softblu);
    outline: 2px solid white;
    border-radius: 5px;
}

header {
    grid-area: header;
}

header img {
    border-radius: 5px;
    outline: 2px solid white;
    filter: hue-rotate(-10deg) brightness(1.05);
}

nav {
    grid-area: menu;
    min-height: 400px;
    color: var(--blu2);
    font-family: "kfmoco";
    font-size: 13px;
}

nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-flow: column nowrap;
    gap: 15px;
}

nav ul li a {
    display: block;
    padding: 10px;
    background: var(--lightblu);
    text-align: center;
    border: 2px solid var(--offwhite);
    outline: 2px solid var(--blu);
    border-radius: 20px;
    transition: 0.2s;
}

nav ul li a:hover {
    background: var(--offwhite);
    outline: 2px solid var(--offwhite);
    outline-offset: 3px;
}

.stationary a {
    background: var(--blu);
    color: var(--offwhite);
}

.stationary a:hover {
    a {
        color: var(--blu);
    }
}

main {
    grid-area: main;
    min-height: 600px;
}

.bannerp {
    margin: 10px 0;
    color: var(--subtext);
    font-size: 18px;
}

.sideimg {
    float: right;
    width: 200px;
    height: auto;
    margin: 20px;
    border: 2px dotted var(--text);
}

.sideimg img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

aside {
    grid-area: side;
}

aside ul {
    margin: 20px;
    padding: 0;
}

aside ul li {
    color: var(--text);
    font-size: 18px;
}

footer {
    grid-area: footer;
    width: 90%;
    height: 30px;
    margin: auto;
    text-align: center;
}

footer p {
    margin: 4px;
    font-size: 18px;
    color: var(--blu2);
}
