/* Standard HTML elements. */

audio {
    max-width: 100%;
}

a:link {
    color: var(--text-color);
    border-bottom-style: dotted;
    border-width: thin;
    font-weight: bold;
    text-decoration: none;
}

a:visited {
    color: var(--dim-color);
}

a:active,
a:focus,
a:hover {
    color: var(--text-color);
    border-bottom-style: solid;
}

a[href^=mailto] {
    background-image: var(--mailto-icon);
    background-position: left 50%;
    background-repeat: no-repeat;
    padding-left: 1.2em;
}

abbr {
    cursor: help;
}

blockquote {
    border-color: var(--text-color);
    border-style: none none none solid;
    border-width: 0.5em;
    margin-left: 0em;
    padding-left: 1.5em;
}

body {
    background-color: var(--background-color);
    color: var(--text-color);
    font-family: var(--text-font);
    font-size: var(--base-font-size);
    margin: 0em;
}

caption {
    color: var(--dim-color);
    font-size: 90%;
    margin-top: 1em;
}

code {
    color: var(--dim-color);
    font-size: 90%;
}

dd {
    margin-left: 2em;
}

dt {
    margin-top: 1em;
}

em,
i {
    font-family: var(--text-font), cursive;
}

figure {
    margin-bottom: 2em;
    margin-top: 2em;
}

figcaption {
    font-size: 90%;
    margin-top: 1em;
}

h1,
h2,
h3,
h4 {
    font-family: var(--title-font);
    font-weight: normal;
    margin: 2.5em 0em 1em 0em;
}

h1 {
    font-size: 2em;
    margin-bottom: 0em;
    padding-bottom: 0em;
    text-align: center;
}

h2 {
    font-size: 1.8em;
}

h3 {
    font-size: 1.6em;
}

h4 {
    font-size: 1.4em;
}

hr {
    background-color: var(--text-color);
    border-style: none;
    height: 1px;
}

html {
    scroll-padding-top: calc(var(--navbar-height) + 2em);
}

li {
    padding: 5px;
}

p {
    hyphens: auto;
}

pre {
    background-color: var(--dark-color);
    border-color: var(--border-color);
    border-style: solid;
    border-width: thin;
    color: var(--light-color);
    font-size: 80%;
    overflow: auto;
    padding: 1em;
}

summary {
    border-color: var(--border-color);
    border-style: solid;
    border-width: thin;
    cursor: pointer;
    padding: 0.5em 1em;
}

summary:active,
summary:focus,
summary:hover {
    background-color: var(--text-color);
    color: var(--background-color);
}

table {
    border-collapse: collapse;
    margin: 40px 0px;
}

table caption {
    padding: 0.5em;
}

td,
th {
    border-color: var(--border-color);
    border-style: solid;
    border-width: thin;
    padding: 10px;
}

th {
    background-color: var(--text-color);
    color: var(--background-color);
}

video {
    max-width: 100%;
}
