* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding-top: 0.3em;
    padding-left: 0.6em;
    min-height: 100vh;
    min-height: 100dvh;
    background: linear-gradient(to right, var(--selected-item-color), var(--background-color));
    color: var(--heading-color);
    display: grid;
    grid-template-areas: "header header header"
        "aside main sidebar"
        "footer footer footer";
    grid-template-rows: 4em 1fr 2em;
    grid-template-columns: 1fr auto 0.5fr;
}

header {
    grid-area: header;
    align-self: center;
    justify-self: stretch;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

header>nav {
    grid-column: 2;
}

header>a.site-name {
    grid-column: 1;
    justify-self: start;
    padding-left: 20px;
    font-size: x-large;
    border-radius: 0.5em 0 0 0;
}

header a,
a:visited {
    color: var(--heading-color);
    padding: 0.5em;
}

header a:hover {
    color: var(--selected-item-color);
    background-color: var(--background-color);
}

header li.active, header>a.site-name.active {
    color: var(--selected-item-color);
    background-color: var(--nav-color);
    font-weight: bold;
}

header li.active a:visited {
    color: var(--selected-item-color);
    background-color: var(--background-color);
}

nav>ul {
    list-style-type: none;
    padding: 0;
}

nav>ul>li {
    display: inline;
    font-weight: 700;
    font-size: xx-large;
    padding: 0.5em 0 0.5em 0;
}

main {
    padding-left: 0.5em;
    grid-area: main;
    padding-top: 1em;
    max-width: 800px;
}

main>p {
    padding-top: 1em;
}

aside {
    grid-area: aside;
    align-self: self-start;
    padding-left: 20px;
    text-align: left;
}

aside>ul {
    list-style-type: none;
    margin-top: 1em;
    padding-left: 20px;
}

aside>ul>li {
    display: inline;
}

aside>ul>li>a>img {
    height: 16px;
    width: 16px;
}

footer {
    grid-area: footer;
    align-self: center;
    justify-self: center;
}

aside>div>img {
    height: 110px;
    border-radius: 5em;
    width: 110px;
    margin-bottom: 1em;
    margin-right: 1em;
}

sidebar {
    grid-area: sidebar;
    padding: 1em;
}