/* werc-inspired: colored header/footer, white content */
body {
    color: black;
    background-color: white;
    font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif;
    font-size: 84%;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: #1e3f73;
}

a:hover {
    text-decoration: underline;
    color: #3c5a2a;
}

/* header */
header {
    background-color: #1e3f73;
    border-bottom: 2px solid black;
    padding: 0.5ex 0;
}

header h1.site-title {
    font-size: 233%;
    font-weight: normal;
    margin: 0;
    padding: 0.25ex 4mm;
    color: white;
}

header h1.site-title a {
    color: white;
}

header h1.site-title a:hover {
    text-decoration: none;
}

/* subtitle, like werc #headerSubTitle */
.site-subtitle {
    font-size: 50%;
    font-style: italic;
    margin-left: 1em;
    color: #d8e2c8;
}

/* content: white, left-aligned like werc */
.mainContent {
    display: flex;
    max-width: 70em;
}

nav#side-bar {
    width: 16em;
    min-width: 16em;
    border-right: 1px solid #ddd;
    padding-top: 1em;
}

nav#side-bar ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

nav#side-bar li {
    margin: 0;
    padding: 0.1ex 0;
}

nav#side-bar a {
    color: #1e3f73;
    display: block;
    font-weight: bold;
    padding: 0.25em 1ex 0.25em 2mm;
}

nav#side-bar a:hover {
    color: white;
    background-color: #1e3f73;
    text-decoration: none;
}

article {
    padding: 1ex 1vw 5vh 1vw;
    max-width: 70em;
}

article h1, article h2 {
    color: #1e3f73;
    font-size: 145.5%;
    font-weight: bold;
    margin: 2em 0 0 0;
    padding: 0.5ex 0;
    border-bottom: 2px solid #1e3f73;
}

article h2 {
    font-size: 115.5%;
    border-bottom: 1px solid #1e3f73;
}

article h3, article h4, article h5 {
    color: #1e3f73;
    font-weight: bold;
    margin: 2em 0 0 0;
}

article a {
    color: #1e3f73;
}

article a:hover {
    color: #3c5a2a;
}

p {
    margin: 1em 1ex;
}

pre {
    margin-left: 2em;
    font-size: 1.2em;
    max-width: 100%;
    overflow-x: auto;
}

code {
    font-family: monospace;
}

blockquote {
    border-left: 1px solid #1e3f73;
    font-style: italic;
    margin-left: 0;
    padding-left: 1em;
}

time {
    color: #666;
    font-size: 91%;
}

/* post list */
.posts {
    margin: 1em 1ex;
}

.posts article {
    padding: 0;
    margin: 0 0 1.2em 0;
}

.posts article time {
    display: block;
    margin-bottom: 0.1em;
}

.posts article a {
    font-weight: bold;
}

/* footer */
footer {
    background-color: #1e3f73;
    border-top: 2px solid black;
    padding: 1em;
    color: #d8e2c8;
    font-size: 91%;
}

footer a {
    color: #d8e2c8;
}

footer a:hover {
    color: white;
}

/* tables */
table {
    border: 1px solid rgba(128, 128, 128, 0.5);
    padding: 0;
}

th {
    color: white;
    background-color: #1e3f73;
}

tr:nth-child(odd) {
    background-color: rgba(128, 128, 128, 0.1);
}

/* pagination */
.pagination {
    margin-top: 2em;
    border-top: 1px solid #ddd;
    padding-top: 1em;
    display: flex;
    align-items: center;
    gap: 1em;
    font-size: 91%;
}

.pagination span {
    color: #666;
}

img {
    max-width: 100%;
}

@media (max-width: 600px) {
    header h1.site-title {
        font-size: 180%;
    }

    .mainContent {
        flex-direction: column;
    }

    nav#side-bar {
        width: 100%;
        min-width: 0;
        border-right: none;
        border-bottom: 1px solid #ddd;
        padding: 0;
    }

    nav#side-bar ul {
        display: flex;
        flex-direction: row;
        gap: 1em;
        padding: 0.5em;
    }

    nav#side-bar a {
        padding: 0.25em 0.5em;
    }
}
