/* A quiet, old personal site. No framework, script or external font. */

html {
    background: #ffffff;
}

body {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    background: #ffffff;
    color: #222222;
    font: 12px/1.55 Tahoma, Verdana, Arial, sans-serif;
}

.site-shell {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

a { color: #003399; }
a:visited { color: #663399; }

.site-header {
    padding: 13px 16px 9px;
    border-bottom: 1px solid #bcbcbc;
    background: #f5f5f5;
}

.brand {
    display: block;
    margin-bottom: 7px;
    color: #222222;
    font: bold 18px Arial, sans-serif;
    text-decoration: none;
}

nav {
    color: #777777;
    font-size: 11px;
}

nav a { margin: 0 8px; }
nav a:first-child { margin-left: 0; }
nav a.active {
    color: #222222;
    font-weight: bold;
    text-decoration: none;
}

main {
    flex: 1;
    padding: 16px;
}

.intro {
    margin-bottom: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid #d2d2d2;
}

.intro h1,
.article h1,
.page-title {
    margin: 0 0 3px;
    color: #333333;
    font: normal 19px Arial, sans-serif;
}

.intro p,
.post p { margin: 0; }

.post {
    padding: 12px 4px;
    border-bottom: 1px solid #e0e0e0;
}

.post h2,
.admin-row h2 {
    margin: 3px 0 4px;
    font: bold 13px Arial, sans-serif;
}

.post-meta,
.article-meta,
.kicker,
.hint {
    color: #888888;
    font-size: 10px;
}

.tag { color: #557755; }
.more,
.back { font-size: 11px; }

.article { padding: 4px; }
.article-meta { margin: 14px 0 5px; }
.article-body { margin-top: 16px; }

.article-body br + br {
    display: block;
    content: "";
    margin-bottom: 11px;
}

.about,
.editor-page,
.login-box { padding: 4px; }

.footer {
    padding: 8px 16px;
    border-top: 1px solid #bcbcbc;
    background: #f5f5f5;
    color: #888888;
    font-size: 10px;
}

.footer p { margin: 0; }
.footer img { display: block; margin-top: 7px; }

.admin-head {
    padding: 8px;
    border: 1px solid #d2d2d2;
    background: #f8f8f8;
}

.admin-head h1 { margin: 0; }
.admin-links,
.admin-actions { margin-top: 6px; }
.admin-links a,
.admin-actions a { margin-right: 9px; }

.admin-list {
    margin-top: 14px;
    border-top: 1px solid #bbbbbb;
}

.admin-row {
    padding: 8px;
    border-bottom: 1px solid #dddddd;
}

.admin-actions form { display: inline; }

.admin-actions button {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #003399;
    cursor: pointer;
    font: 12px Tahoma, Arial, sans-serif;
    text-decoration: underline;
}

.hidden-post { color: #888888; }

.editor {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid #cccccc;
    background: #f8f8f8;
}

.field { margin-bottom: 9px; }

.field label {
    display: block;
    margin-bottom: 2px;
    color: #555555;
    font-size: 11px;
    font-weight: bold;
}

input:not([type="checkbox"]),
textarea {
    width: 100%;
    padding: 3px;
    border: 1px solid #999999;
    border-radius: 0;
    background: #ffffff;
    color: #222222;
    font: 12px Tahoma, Arial, sans-serif;
}

textarea {
    min-height: 220px;
    resize: vertical;
}

.checkbox {
    margin-bottom: 9px;
    font-size: 11px;
}

button {
    padding: 3px 10px;
    border: 1px solid #777777;
    border-radius: 0;
    background: #eeeeee;
    color: #222222;
    cursor: pointer;
    font: 12px Tahoma, Arial, sans-serif;
}

button:active { background: #dddddd; }
.notice { color: #aa0000; }
.empty { color: #777777; }

@media (max-width: 700px) {
    body {
        width: 100%;
        margin: 0;
        border: 0;
    }
}
