body {
    margin: 0;
    font-family: sans-serif;
}

#banner {
    text-align: center;
}

#banner-img {
    margin: auto;
    max-width: 70vw;
    padding: 1em;
}

@media (orientation: landscape) {
    #banner-img {
        max-width: 30vmin;
    }
}

#content-wrapper {
    margin: 1em;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: flex-start;
    width: 100%;
    max-width: 1000px;
}

#content {
    width: 100%;
    padding-left: 1.5em;
    padding-right: 1.5em;
    border: lightgray solid;
    border-width: 0px 1px;
    text-align: center;
}

#left-sidebar {
    width: 175px;
    border: lightgray solid;
    border-width: 0px 1px 0px 1px;
    text-align: center;
    margin-right: -1px;
    flex-shrink: 0;
}

#left-sidebar > * {
    padding-right: 5px;
    padding-left: 5px;
}

#left-sidebar > ul {
    list-style-type: none;
}

#left-sidebar li {
    padding: .25em;
}

#left-sidebar li.selected {
    border: solid 0 black;
    border-right-width: 2px;
}

#header-bar {
    background-color: #2364b0;
    height: 2em;
    padding: 0;
    display: flex;
    align-items: center;
}

#header-bar-menu {
    padding-left: 1em;
    padding-right: 1em;
    height: 1.5em;
    display: none;
}

@media (orientation: portrait) {
    #left-sidebar {

        display: none;
    }

    #left-sidebar.show {
        display: block;
    }

    #header-bar-menu {
        display: block;
    }

    #header-bar {
        height: 3em;
    }
}

h1, h2 {
    text-align: center;
    margin-top: 0;
}

#body-wrapper {
    position: relative;
    min-height: 100vh;
}

#not-footer-wrapper {
    padding-bottom: 4em;
}

footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    border-bottom: #2364b0 solid 4em;
}
