@charset "UTF-8";

/* layout: */
    /* general layout: */
header, main, footer, nav, section, article { display: block; } /* Older browsers may not recognize these tags. */
* {
    margin: 0;
    border-radius: 0;
    border: 0 solid transparent;
    padding: 0;
    font-size: 1em;
}

body { line-height: 1.5; }
section, article {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

h1 {
    font-size: 2.5em;
    margin-top: 0.3em;
    margin-bottom: 0.3em;
}
h2 { font-size: 1.5em; }
h3 { font-size: 1.25em; }
h2, h3 {
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}
h4, h5, h6 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

p, ol, ul {
    margin-top: 0.5em;
    margin-bottom: 1em;
}

blockquote {
    border-radius: 0.8em;
    border-width: 1pt;
    padding: 0.8em 1.2em;
    margin-top: 0.4em;
    margin-bottom: 0.8em;
    font-size: 1.25em;
}
blockquote::before { content: "\201C"; }
blockquote::after { content: "\201D"; }

ol, ul { padding-left: 2.5em; }
li {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

nav ol, nav ul {
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    list-style: none;
}
nav li { display: inline-block; }
@supports (display: flex) {
    nav ol, nav ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    nav li { display: block; }
}

small, sub, sup { font-size: 0.8em; }

    /* header layout */
body > header { border-bottom-width: 1pt; }
#nav-leafward { border-bottom-width: 1pt; }

#nav-rootward li:not(:last-child)::after { content: "\279E"; }
#nav-leafward li:not(:last-child)::after { content: "-"; }
.nav-breadcrumb, .nav-leaf {
    margin-left: 0.5em;
    margin-right: 0.5em;
}

    /* main layout: */
.super-link-container {
    margin: 1em auto;
    text-align: center;
}
.super-link {
    display: inline-block;
    overflow: hidden;
    border-radius: 1.5em;
    border-width: 2pt;
    padding: 0.5em 0;
    margin: 0 2.5em;
}
.super-link > div { display: table-row; }
.super-link span {
    display: table-cell;
    vertical-align: middle;
}
.super-link img {
    display: block;
    max-height: 4em;
    border-radius: 1em;
    margin-left: 1em;
}
.super-link strong {
    display: table-cell;
    padding-left: 1em;
    padding-right: 1em;
    font-size: 1.75em;
    vertical-align: middle;
}

.responsive-image {
    display: block;
    max-width: 100%;
    /* HACK: The vh and vw units don't work correctly when printing,
    so manually specify a reasonable maximum size: */
    max-height: 640pt;
    max-height: min(640pt, 62.67rem);
    margin-left: auto;
    margin-right: auto;
    break-inside: avoid;
}

.responsive-object { display: none; }

        /* section layout: */
section {
    border-radius: 1rem;
    border-width: 1pt;
    overflow: hidden;
    break-inside: avoid;
}
section > h2 {
    margin-top: 0;
    margin-bottom: 0;
}
.section-header {
    display: block;
    border-bottom-width: 1pt;
    padding-left: 1rem;
    padding-right: 1rem;
}
section > article, section > .rich-text, section > nav {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.nav-pages {
    margin-top: 0;
    margin-bottom: 0;
    text-align: center;
}
.nav-pages li {
    height: 2em;
    margin: 0 1.5em;
    line-height: 2em;
}
@supports (display: grid) {
    .nav-pages > ul {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 1fr;
        grid-column-gap: 1em;
    }
    .nav-pages li {
        display: block;
        margin: 0;
        overflow: hidden;
    }
}

    /* footer layout: */
body > footer {
    border-top-width: 1pt;
    font-size: 0.8em;
}
.admin-link { display: none; }

/* cosmetic: */
    /* general cosmetic: */
h1, h2, h3, h4, h5, h6 { color: hsl(200, 100%, 20%); }

a { color: black; }
a:link { color: hsl(32.5, 100%, 30%); }
a:visited { color: hsl(20, 100%, 30%); }

blockquote {
    border-color: rgb(128, 128, 128);
    font-style: italic;
}

    /* header cosmetic: */
body > header, #nav-leafward { border-color: rgb(128, 128, 128); }
.nav-error {
    font-weight: bold;
    font-style: italic;
}

    /* main cosmetic: */
.super-link { border-color: rgb(128, 128, 128); }
a.super-link:link { border-color: hsl(32.5, 100%, 30%); }
a.super-link:visited { border-color: hsl(20, 100%, 30%); }

        /* section cosmetic: */
section { border-color: rgb(128, 128, 128); }
.section-header { border-color: rgb(128, 128, 128); }

    /* footer cosmetic: */
body > footer {
    border-color: rgb(128, 128, 128);
    color: rgb(96, 96, 96);
}
