body {
    margin: 0px;
    padding: 0px;
    transition: background-color 0.5s, color 0.5s;
}

#contents {
    margin: 10px;
    padding: 10px;
}

#top-bar h1 {
    font-size: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0px;
    padding-top: 0.5em;
}

#top-bar h1 .logo {
    height: 1em;
    width: auto;
    vertical-align: middle;
}

#top-bar {
    position: relative;
    text-align: center;
    width: 100vw;
    padding-bottom: 0.5em;
    border-bottom-style: solid;
    border-bottom-width: 5px;
    transition: border-bottom-color 0.5s
}

#theme-switch {
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 4rem;
    height: 4rem;
    font-size: 2rem;
    cursor: pointer;
    text-align: center;
    padding: 0px;
    border: solid;
    border-color: rgb(0, 0, 0);
    border-style: solid;
    border-radius: 2rem;
    transition: background-color 0.5s;
}

.logo-container {
    display: grid
}

.logo {
    grid-column: 1;
    grid-row: 1;
}

.logo-white {
    transition: opacity 0.5s;
}

.logo-black {
    transition: opacity 0.5s;
}

.avatar {
    height: 1em;
    width: auto;
    vertical-align: middle;
}