* {
    box-sizing: border-box;
}

body {
    font-family: 'Geist', sans-serif;
    margin: 0;
}

pre {
    font-family: 'GeistMono', monospace;
}

/* Fonts */

@font-face {
    font-family: 'Geist';
    src: url('../fonts/Geist/Geist[wght].woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('../fonts/Geist/Geist-Italic[wght].woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'GeistMono';
    src: url('../fonts/GeistMono/GeistMono[wght].woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GeistMono';
    src: url('../fonts/GeistMono/GeistMono-Italic[wght].woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/* Header */

#header {
    text-align: center;
}

#header .site-title {
    margin-top: 0;
}

#headerimg {
    padding: 0 1em;
}

.logo-wrapper {
    margin: 0 auto;
    max-width: 12em;
    padding: 1em;
}

.logo-image {
    height: auto;
    max-width: 100%;
}

/* Footer */

#footer {
    padding: 0 1em;
    text-align: center;
}

/* Components */

a {
    color: inherit;
    text-decoration-line: none;
}

a:hover {
    text-decoration-line: underline;
}

hr {
    border-style: solid;
}

/* Content */

.entry-content {
    margin: 0 auto;
    max-width: 120ch;
    padding: 0 1em;
}

/* Listing */

.concept-list {
    display: flex;
    flex-direction: column;
    font-size: 2em;
    gap: 0.25em;
    list-style: none;
    padding: 0;
}

.concept-list__item {
    text-align: center;
}

/* Alignment */

.alignleft {
    float: left;
}

.aligncenter {
    text-align: center;
}

.alignright {
    float: right;
}
