:root {
    --color-white: white;
    --color-blue: #0070ff;
    --color-darkgrey: #393939;
    --color-lightgrey: #f7f7f7;
    --color-highlight: #c0deea;

    --table-border: black;
}

html {
    font-size: 75%;
}

body {
    background: white;
    font-family: 'Montserrat', serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
    line-height: 1;
    color: #000000;
}
p {
    margin-top: 0;
    margin-bottom: 1rem;
}
a {
    color: inherit;
}
a:hover {
    color: var(--color-blue);
}
h1,
h2,
h3,
h4,
h5 {
    margin: 0 0 1rem;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
}
h1 {
    margin-top: 0;
    font-size: 1.802rem;
}
h2 {
    font-size: 1.602rem;
}
h3 {
    font-size: 1.424rem;
}
h4 {
    font-size: 1.266rem;
}
h5 {
    font-size: 1.125rem;
}
small {
    font-size: 0.889rem;
}

figure {
    margin: 0;
    padding: 0;
}

img {
    max-width: 100%;
    box-sizing: border-box;
}

iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}


/* Lists
   ========================================================================== */
ul {
    list-style-type: square;
}


/* Tables
   ========================================================================== */
table {
    border-collapse: collapse;
    width: 100%;
    text-align: left;
    border-bottom: var(--table-border);
    background-color: var(--color-lightgrey);
}
thead {
    background-color: var(--color-darkgrey);
    color: var(--color-white);
    border-bottom: var(--table-border);
}
thead a {
    color: inherit;
    text-decoration: none;
}
tr:nth-child(even) {
    /*background-color: var(--color-light-gray);*/
}
th, td {
    padding: 1rem;
}
tr {
    /*border-bottom: var(--table-border);*/
}
@media screen and (max-width: 600px) {
    tr {
        display: grid;
        grid-template-columns: 1fr;
    }
}
tbody tr {
    border-bottom: 0.25rem solid var(--color-white);
}
tbody tr:hover {
    background-color: var(--color-highlight);
}

tbody tr.has-link {
    cursor: pointer;
}

/* ==========================================================================
   Forms
   ========================================================================== */
textarea {
    box-sizing: border-box;
    font: inherit;
    font-family: 'PT Mono', monospace;
    font-size: 2rem;
    padding: 0.5rem 1rem;
    width: 100%;
    resize: vertical;
    line-height: 1.75;
}


button,
input[type=submit],
.action-button {
    cursor: pointer;
    border: none;
    font: inherit;
    background-color: var(--color-darkgrey);
    color: var(--color-white);
    text-decoration: none;
    padding: 0.5rem;
    font-weight: bold;
    box-sizing: border-box;
    display: inline-block;
}

.action-button:hover {
    background-color: var(--color-highlight);
}


/* ==========================================================================
   Block Elements
   ========================================================================== */
main {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
}


/* ==========================================================================
   Header
   ========================================================================== */

.site__header {
    margin-bottom: 1rem;
    background-color: var(--color-darkgrey);
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--color-white);
}
.site__logo {
    text-decoration: none;
}
.site__logo a:hover {
    color: var(--color-white);
}
.site__header h1 {
    margin: 0;
}
.site__header a {
    text-transform: lowercase;
    font-variant: small-caps;
    text-decoration: none;
}

/* Site Nav
   ========================================================================== */
.site__nav menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}
.site__nav menu li:not(:last-child) {
    margin-right: 1rem;
}

.site__nav a {
    font-weight: bold;
}


/* Breadcrumbs
   ========================================================================== */
.breadcrumbs {
    background-color: var(--color-light-gray);
}
.breadcrumbs menu {
    margin: 1rem 0;
    padding: 0;
    line-height: 1.75;
    list-style: none;
    display: flex;
    /*justify-content: center;*/
    flex-wrap: wrap;
}
.breadcrumbs menu li:not(:last-child),
.breadcrumbs menu span:not(:last-child) {
    margin-right: 0.5rem;
}


/* ==========================================================================
   Account
   ========================================================================== */
.account header,
.account section {
    margin-bottom: 4rem;
}


/* ==========================================================================
   Post
   ========================================================================== */
.post {
    margin-bottom: 2rem;
}
.post__header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
}
.post__content {
    font-family: 'STIX Two Text';
    font-size: 2rem;
    margin-bottom: 4rem;
    line-height: 1.75;
}

.post__content h1,
.post__content h2,
.post__content h3,
.post__content h4,
.post__content h5 {
    font-family: 'STIX Two Text';
    text-transform: unset;
    margin: 2em 0 1em;
}

.post__content h1 {
    font-size: 1.802em;
}
.post__content h2 {
    font-size: 1.602em;
}
.post__content h3 {
    font-size: 1.424em;
}
.post__content h4 {
    font-size: 1.266em;
}
.post__content h5 {
    font-size: 1.125em;
}

.post__content blockquote {
    padding: 0.5rem 1rem;
    margin: 0 0 1rem;
    padding-left: 3rem;
}



/* ==========================================================================
   Comments
   ========================================================================== */
.comment {
    margin: 2rem 0;
    background-color: var(--color-lightgrey);
    padding: 1rem;
}

.comment__header {
    display: flex;
    justify-content: space-between;
}

.comment__content {
    font-family: 'STIX Two Text';
    font-size: 2rem;
    /*max-width: 64ch;*/
}

.comment__content h1,
.comment__content h2,
.comment__content h3,
.comment__content h4,
.comment__content h5 {
    font-family: 'STIX Two Text';
    text-transform: unset;
    margin: 2em 0 1em;
}

.comment__content h1 {
    font-size: 1.802em;
}
.comment__content h2 {
    font-size: 1.602em;
}
.comment__content h3 {
    font-size: 1.424em;
}
.comment__content h4 {
    font-size: 1.266em;
}
.comment__content h5 {
    font-size: 1.125em;
}

.comment__content blockquote {
    font-size: 1.75rem;
    padding: 0.5rem 1rem;
    margin: 0 0 1rem;
    padding: 0 5rem;
}

.comment p {
    line-height: 1.75;
}
.comment ul {
    line-height: 1.75;
}


.comments__form textarea {
    font-family: 'PT Mono';
    font-size: 2rem;
    line-height: 1.75;
}
