@font-face {
    font-family: "News Gothic";
    src: url("../fonts/news-gothic-extra-condensed.120b257a492c.woff2") format("woff2");
    font-stretch: extra-condensed;
    /* font-display: fallback; */
}

@font-face {
    font-family: "News Gothic";
    src: url("../fonts/news-gothic-extra-condensed-bold.db53a4e0c7e3.woff2") format("woff2");
    font-stretch: extra-condensed;
    font-weight: bold;
}

@font-face {
    font-family: "News Gothic";
    src: url("../fonts/news-gothic-condensed.df56037581cd.woff2") format("woff2");
    font-stretch: condensed;
}

@font-face {
    font-family: "News Gothic";
    src: url("../fonts/news-gothic.bc67b2e81fc8.woff2") format("woff2");
}

@font-face {
    font-family: "News Gothic";
    src: url("../fonts/news-gothic-italic.f02a3202c7e5.woff2") format("woff2");
    font-style: italic;
}

@font-face {
    font-family: "News Gothic";
    src: url("../fonts/news-gothic-bold.8ea0cebce3ed.woff2") format("woff2");
    font-weight: bold;
}

@font-face {
    font-family: "Open Sans";
    src:
        url("../fonts/opensans-regular.e288d4ff7d7c.woff2") format("woff2"),
        url("../fonts/opensans-regular.1be290ee0248.woff") format("woff");
    /* font-display: fallback; */
}

@font-face {
    font-family: "Open Sans";
    src:
        url("../fonts/opensans-semibold.3b91b549a0bd.woff2") format("woff2"),
        url("../fonts/opensans-semibold.b62fbc322169.woff") format("woff");
    font-weight: 600;
    /* font-display: fallback; */
}

:root {
    /* Colors */
    --turquoise: #3aaeaf;
    --gold: #ffd376;
    --page-bg: #eff0f0;
    --content-bg: white;
    --grey-text-c: #5d6266;
    --grey-border-c: #aeb1b3;
    --grey2-border-c: #808080;
    --copyright-c: #5d6266;
    --section-bg-c: #d9d9d9;
    --comments-bg-c: #f3f3f3;
    --comic-nav-bg: #d0d2d4;
    --forum-general-c: var(--turquoise);
    --forum-community-c: #ff8525;
    --forum-other-c: #6e89b8;
    --forum-admin-c: #ffcc76;
    --forum-hidden-c: var(--grey-border-c);
    --warning-c: hsl(349deg 90% 47%);

    /* Fonts */
    --open-sans: "Open Sans", Arial, Helvetica, sans-serif;
    --news-gothic: "News Gothic", Arial, Helvetica, sans-serif;

    /* Font Sizes */
    /* Section header (h2) = 1.5em */
    --fs-nav-global: 1.5rem;
    --fs-nav-profile: 1.2rem;
    --fs-image-caption: 1.2rem /* clamp(0.85rem, 0.5rem + 1.5vw, 1.25rem) */;
    --fs-community-owned: 1.5rem;
    --fs-patrons: 0.875rem;
    --fs-copyright: 0.75em;

    /* Distances */
    --vert-dist-btw-sections: 2rem;
    --vert-dist-ins-section: 1.5rem;

    /* Paddings */
    /* --content-inline-padding: clamp(1rem, 0.75rem + 1.5vw, 2rem); */
    --content-inline-padding: clamp(1.5rem, 0.8rem + 2.5vw, 3rem);
    --full-bleed: calc(-1 * var(--content-inline-padding));
    --full-bleed-deco: calc(var(--full-bleed) + 0.5rem);

    /* Image related */
    --rounded-corner: 0.3rem;
    --feat-image-gap: 0.3rem;
    --image-gap: 0.75rem;

    /* Other sizes */
    --scroll-button-size: clamp(2.5rem, 2rem + 1.5vw, 3rem);
    --feat-button-width: clamp(1.6rem, 1rem + 2vw, 2rem);
    --feat-button-height: calc(var(--feat-button-width) * 2);

    /* Other styles */
    --forum-shadow: 4px 4px 5px #dcddde;
    --forum-shadow-extra: 5px 5px 6px #dcddde;
}

/* ====================
   GENERAL STYLES
   ==================== */

html {
    scrollbar-gutter: stable;
}

html:has(.confirmation-dialog[open]) {
    overflow: hidden;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--open-sans);
    line-height: 1.5;
    overflow-wrap: break-word;
    color: var(--grey-text-c);
    background-color: var(--page-bg);
}

h1, h2, h3 {
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    /* would be good to have it globally */
    /* line-height: 1.3; */
}

h1,
h2 {
    font-weight: normal;
    text-transform: uppercase;
    color: var(--turquoise);
}

a {
    color: inherit;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a:active {
    color: rgba(0, 0, 0, 0.85);
}

ul {
    list-style-type: none;
    padding: 0;
}

button,
input,
select,
textarea {
    font: inherit;
    color: inherit;
}

img,
picture,
video,
canvas,
iframe {
    max-inline-size: 100%;
}

svg {
    width: 1em;
    height: 1em;
    stroke: currentColor;
}

/* Link Styles */

.section-header a:active,
.page-footer a:active {
    color: rgba(46, 137, 138, 1);
}

.news a:active,
.site-info a:active {
    color: var(--gold);
}

/* ====================
   UTILITIES
   ==================== */

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
}

.white-on-turq {
    color: white;
    background-color: var(--turquoise);
}

.turq-on-white {
    color: var(--turquoise);
    background-color: white;
}

.line-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--max-lines, 2);
    overflow: hidden;
}

.media-obj {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.media-obj > :first-child {
    margin-right: 1rem;
}

/* sometimes there's a ul as a last element (replies) */
.media-obj > div:last-of-type {
    flex: 1;
}

/* first element of content should align vertically with the image */
.media-obj > div:last-of-type > :first-child {
    margin-block-start: 0;
}

/* Frame layout from Every Layout */
.frame {
    aspect-ratio: var(--frame-ar);
}

.frame > img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.center {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.btn-primary {
    border: none;
    border-radius: var(--rounded-corner);
    padding: 0.5em 1.25em;
    font-size: 1rem;
    text-transform: uppercase;
    color: white;
    background-color: var(--turquoise);
}
.btn-primary:hover {
    background-color: hsl(from var(--turquoise) h s 30%);
}

.btn-secondary {
    border: none;
    border-radius: var(--rounded-corner);
    padding: 0.4em 1em;
    color: rgb(0 0 0 / 75%);
    background-color: var(--section-bg-c);
    /* cursor: pointer; */
}
.btn-secondary:hover {
    background-color: hsl(from var(--section-bg-c) h s 75%);
}

.btn-danger {
    color: white;
    background-color: hsl(from var(--warning-c) h 65% 50%);
}
.btn-danger:hover {
    background-color: hsl(from var(--warning-c) h 65% 40%);
}

.link-button {
    /* display: inline-block; */
    padding: 0.45rem 0.9rem;
    border-radius: var(--rounded-corner);
    line-height: 1;
    text-decoration: none;
}
.link-button:hover {
    text-decoration: none;
}

.icon-button {
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
    background: none;
}

.close-button {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}
.close-button:hover {
    background-color: hsl(0deg 0% 90%);
}

.button-link {
    display: flex;
    align-items: center;
    column-gap: 1ch;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    background: transparent;
    cursor: pointer;
}
.button-link:hover {
    text-decoration: underline;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 6em;
    /* flex-basis: 100%; */
    border: 1px solid var(--grey-border-c);
    border-radius: var(--rounded-corner);
    padding: 0.25rem 0.5rem;
}

.form-buttons {
    display: flex;
    justify-content: end;
    align-items: baseline;
    gap: 0.5rem 1ch;
}

.form-group {
    display: flex;
    flex-direction: column;
    row-gap: 0.1rem;
}

.popup-menu {
    position: absolute;
    position-area: bottom span-right;
    position-try-fallbacks: bottom span-left;
    margin: unset;
    margin-block-start: 0.45rem;
    border: none;
    border-radius: 0.5rem;
    padding: 5px;
    box-shadow:
	4px 4px 14px hsl(0deg 0% 0% / 0.20);
    list-style: none;
    color: inherit;
    background-color: var(--content-bg);
    line-height: 1;
    overflow-wrap: normal;
}
.popup-menu li > * {
    display: flex;
    align-items: center;
    column-gap: 1ch;
    border-radius: 0.5rem;
    padding: 0.5rem 1.5ch;
}
.popup-menu li > *:hover {
    text-decoration: none;
    background-color: hsl(0deg 0% 90%);
}
.popup-menu li > .warning-hover:hover {
    color: var(--warning-c);
    background-color: hsl(from var(--warning-c) h s 95%);
    stroke: currentColor;
}
.popup-menu li svg {
    width: 1.2em;
    height: 1.2em;
    stroke: inherit;
}

.confirmation-dialog {
    --max-content-width: 30ch;
    border: none;
    border-radius: 0.5rem;
    padding: 1rem;
    box-shadow: 4px 4px 16px rgb(0 0 0 / 0.2);
    color: inherit;
    background-color: var(--content-bg);
}
.confirmation-dialog::backdrop {
    background-color: hsl(0 0% 0% / 0.5);
    backdrop-filter: blur(2px);
}
.confirmation-dialog header {
    display: flex;
    align-items: center;
    gap: 1ch;
}
.confirmation-dialog header h2 {
    max-width: var(--max-content-width);
    margin-block: 0;
    margin-inline-end: 2ch;
    font-family: 'Open Sans';
    text-transform: none;
    font-size: 1.35em;
    font-weight: bold;
    line-height: 1.2;
    color: inherit;
}
.confirmation-dialog header svg {
    width: 1.5em;
    height: 1.5em;
}
.confirmation-dialog header > svg:first-child {
    flex-shrink: 0;
    stroke: var(--warning-c);
}
.confirmation-dialog p {
    max-width: var(--max-content-width);
    line-height: 1.4;
}
.confirmation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1ch;
    justify-content: end;
}

/* ====================
   SITEWIDE
   ==================== */

.page-header,
.publish-search,
.news,
.site-info,
.page-footer {
    line-height: initial;
}

.content {
    max-inline-size: 60rem;
    margin: 0 auto;
    padding-inline: var(--content-inline-padding);
    background-color: var(--content-bg);
}

.content > * + * {
    margin-block-start: var(--vert-dist-btw-sections);
}

main > * + * {
    margin-block-start: var(--vert-dist-btw-sections);
}

main h1 {
    margin-block: 0.67em;
    font-size: 2rem;
}

main a {
    color: var(--turquoise);
}

.top-page-decoration {
    height: 1rem;
    background-color: var(--turquoise);
    border-bottom: 0.4rem solid var(--gold);
}

.deco-line {
    height: 3px;
    margin-inline: var(--full-bleed-deco);
    background-color: var(--gold);
    box-shadow: 3px 2px 1px 0px #dedede;
}

.deco-line-2 {
    height: 2px;
    margin-inline: var(--full-bleed-deco);
    background-color: #e0e0e0;
}

@media (max-width: 45em) {
    .deco-line {
        margin-inline: var(--full-bleed);
        box-shadow: 0 2px 1px 0px #dedede;
    }
    .deco-line-2 {
        margin-inline: var(--full-bleed);
    }
}

.deco-line.full-bleed {
    margin-inline: var(--full-bleed);
}

.read-more {
    display: block;
    margin-block-start: 2rem;
}

article .banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-block-start: 2rem;
}

@media (min-width: 45em) {
    article > .banner {
        display: none;
    }
}

.comments {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
}

.comments > * {
    flex: 1 1 0;
}

.comments > h2 {
    flex-basis: 100%;
    margin-block: 0 0.75rem;
}

.comments form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.comments textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 6em;
    flex-basis: 100%;
    border: 1px solid var(--grey-border-c);
    border-radius: var(--rounded-corner);
    padding: 0.25rem 0.5rem;
}

.comments form > div {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 0.5rem;
}

.comments form p {
    margin-block: 0;
    margin-inline-end: auto;
}

@keyframes spinner {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.comments form svg {
    width: 1.5em;
    height: 1.5em;
    color: var(--turquoise);
    animation-name: spinner;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.comments form button {
    flex-shrink: 0;
    border: none;
    border-radius: var(--rounded-corner);
    padding: 0.5em 1.25em;
    font-size: 1rem;
    text-transform: uppercase;
    color: white;
    background-color: var(--turquoise);
}

.comments form button:disabled {
    background-color: var(--grey-border-c);
}

.comments li form {
    margin-block-start: 1rem;
    align-items: flex-end;
}

.comments li form button {
    padding: 0.4em 1em;
    font-size: revert;
    text-transform: none;
}

@media (max-width: 45em) {
    .comments > .banner {
        display: none;
    }

    .comments textarea {
        min-height: 6em;
        max-height: 12em;
        aspect-ratio: 2;
    }
}

.comments__list {
    flex-basis: 100%;
    margin-block: 2rem 0;
    padding: 1rem;
    background-color: var(--comments-bg-c);
    overflow-wrap: anywhere;
}

.comments__list li + li {
    margin-block-start: var(--vert-dist-ins-section);
}

.comments__list li > :first-child {
    max-width: min(85px, 15%);
}

/* reset vertical margins for comment's content blocks */
.comments__list li > div > :not(form) {
    margin-block: 0;
}

/* Delete / Reply actions container */
.comments__list li > div > p:nth-of-type(2) {
    margin-block-start: 0.5rem;

    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.7rem;
}

.comments__list li h3 {
    font-weight: normal;
    font-size: 1.1rem;
    line-height: initial;
}

.comments__list li h3 a {
    text-transform: uppercase;
}

.comments__list button {
    border: none;
    border-radius: 0.3em;
    padding: 0.4em 1em;
    background-color: var(--section-bg-c);
    color: rgb(0 0 0 / 75%);
    cursor: pointer;
}

.comments__list button:hover {
    /* border: 1px solid var(--gold); */
}

.comments__list button:active {
    /* border: 3px solid var(--gold); */
}

/* Replies */

.comments__list .comments__list {
    margin-block-start: var(--vert-dist-ins-section);
    padding: 0;
}

.comments__list .comments__list li {
    border-inline-start: 2px solid var(--turquoise);
    padding-inline-start: 1rem;
}

/* Pagination */

.comments .pagination {
    margin-block-start: 1rem;
}

nav[aria-label="pagination"] {
    display: flex;
    justify-content: center;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin: 0;
}

.pagination a,
.pagination li[role="separator"] {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Green square boxes with borders and gaps between them */
.main-pagination {
    column-gap: 0.5ch;
    row-gap: 1ch;
}

.main-pagination a,
.main-pagination li[role="separator"] {
    min-width: 4.2ch;
    height: 4.2ch;
    border: 1px solid var(--grey-border-c);
    color: var(--turquoise);
}

.main-pagination a[aria-current="page"] {
    background-color: var(--turquoise);
    color: white;
}

.main-pagination a:hover,
.main-pagination a:focus {
    background-color: var(--turquoise);
    color: white;
    text-decoration: none;
}

/* Page Header */

.page-header {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1em;
    row-gap: 1rem;
    justify-content: space-between;
    align-items: center;
    padding-block: 1rem;
    color: var(--grey-text-c);
}

.logo {
    --frame-ar: 1.95;
    display: block;
    height: clamp(60px, 35px + 8vw, 90px);
}

.page-header nav {
    order: 1;
    margin-inline: auto;
}

@media (min-width: 46em) {
    .page-header nav {
        order: 0;
        margin-inline: initial;
    }
}

.global-nav {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    margin: 0;
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    font-size: var(--fs-nav-global);
    text-transform: uppercase;
}

.global-nav a[aria-current] {
    text-decoration: underline;
    text-decoration-color: var(--gold);
}

.profile-menu {
    position: relative;
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
}

.profile-menu svg {
    height: 0.75em;
    width: 1.2em;
    /* stroke: currentColor; */
    stroke: var(--turquoise);
}

.page-header button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    padding: 0;
    color: inherit;
    background-color: inherit;
    font-size: inherit;
    text-transform: uppercase;
    cursor: pointer;
}

.page-header button:hover,
.page-header button:focus {
    text-decoration: underline;
}

.page-header button[aria-expanded="false"] + * {
    display: none;
}

.avatar {
    width: auto;
    height: 2.5rem;
}

.personal-nav {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 2;
    min-width: max-content;
    max-block-size: calc(100vh - 13rem);
    overflow-y: auto;
    margin: 0;
    margin-block-start: 1rem;
    border: 1px solid var(--gold);
    border-radius: var(--rounded-corner);
    padding: 0.5rem;
    padding-block-end: 0;
    color: var(--grey-text-c);
    background-color: white;
    font-family: var(--open-sans);
    font-size: 0.85rem;
    font-weight: bold;
    text-transform: none;
}

.personal-nav > li > a {
    display: inline-block;
    padding-block: 0.5rem;
}

.personal-nav li:last-child {
    margin-inline: -0.5rem;
    color: white;
    background-color: var(--turquoise);
    text-align: center;
}

.personal-nav a span {
    display: inline-block;
    padding-inline: 0.5em;
    border-radius: 0.25em;
    font-size: 0.75em;
    color: white;
    background-color: var(--turquoise);
}

/* Publish and search */

.publish-search {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    row-gap: var(--vert-dist-ins-section);
    column-gap: 2rem;
}

.publish-search > *:first-child {
    flex-grow: 1;
    max-width: 55ch;
}

.publish-search input[type="search"] {
    width: 100%;
    min-width: 5em;
    padding: 0.25em;
    padding-left: 1.75em;
    font-family: inherit;
    font-size: 100%;
    color: #5d6266;
    border: 1px solid #b2b5b7;
    border-radius: var(--rounded-corner);
    background-color: #e7e8e8;
    background-image: url("../img/search.8535de5ee4e2.svg");
    background-size: auto 1em;
    background-position: 0.35em center;
    background-repeat: no-repeat;
}

.publish-search input[type="search"]:focus {
    outline-color: #b2b5b7;
}

.publish {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 2rem;
    row-gap: 0.75rem;
    padding: 0.75rem 1.2rem;
    border-radius: var(--rounded-corner);
    color: white;
    background-color: #2e898a;
    background-image: url("../img/duck-bg-2.eec31e038368.jpg");
    background-size: 100px;
    background-position: -10px -20px;
    background-blend-mode: color-dodge;
}

.publish p {
    margin: 0;
    font-size: var(--fs-nav-profile);
}

.publish p b {
    color: var(--gold);
    font-size: var(--fs-nav-global);
    line-height: 1.2;
    text-transform: uppercase;
}

.publish a {
    padding: 0.5em 1em;
    border-radius: 2rem;
    color: black;
    background-color: var(--gold);
    text-transform: uppercase;
}

/* Ad Leaderboard */

.ad-leaderboard {
    display: flex;
    align-items: center;
    padding-block: 1rem;
    padding-inline: 2.5rem;
    color: var(--grey-text-c);
    background-color: var(--section-bg-c);
}

@media (max-width: 45em) {
    .ad-leaderboard {
        margin-inline: var(--full-bleed);
        padding-inline: var(--content-inline-padding);
    }
}

.ad-leaderboard p {
    margin-block: 0;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
    font-size: var(--fs-copyright);
    line-height: 1.4;
}

.ad-leaderboard picture {
    display: block;
    inline-size: auto;
    max-inline-size: 100%;
    block-size: clamp(88px, 55px + 10vw, 128px);
}

.ad-leaderboard picture img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    border-radius: var(--rounded-corner);
}

/* Latest News */

.news {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.5rem;
    row-gap: var(--vert-dist-ins-section);
    margin-inline: var(--full-bleed);
    padding-inline: var(--content-inline-padding);
    padding-block: var(--vert-dist-ins-section);
    color: white;
    background-color: #2e898a;
    background-image: url("../img/duck-bg-2.eec31e038368.jpg");
    background-size: 300px;
    background-position: -40px -40px;
    background-blend-mode: color-dodge;
}

.news > * {
    flex: 1 1 0;
}

.news > h2,
.news > .news__podcast:nth-child(4) {
    flex-basis: 100%;
}

.news h2 {
    margin-block: 0 0.3em;
    color: inherit;
}

.news > h2 {
    margin-block: 0 -0.4em;
}

.news figure,
/* This banner used outside .news block also */
.news__banner {
    position: relative;
    display: block;
    box-sizing: border-box;
    min-block-size: 120px;
    max-block-size: 260px;
    margin: 0;
    aspect-ratio: 2.1;
}

.news picture > img,
/* This banner used outside .news block also */
.news__banner picture > img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    overflow: hidden;
    border-radius: var(--rounded-corner);
}

.news__post figcaption {
    bottom: 3rem;
    right: initial;
    padding-inline: 1.8ch;
    padding-block: 0.15em;
    border-radius: 0;
    text-transform: uppercase;
    color: white;
    background-color: var(--turquoise);
}

.news__post p {
    margin-block: 0;
    border-radius: 0 0 var(--rounded-corner) var(--rounded-corner);
    font-family: var(--open-sans);
    font-stretch: normal;
    font-size: 0.8em;
}

/* I need to add specifity here to override .news figure */
figure.news__banner {
    display: flex;
    padding: 0.3rem;
    border-radius: var(--rounded-corner);
    color: var(--grey-text-c);
    background-color: var(--section-bg-c);
}

.news__banner figcaption {
    writing-mode: vertical-rl;
    font-size: var(--fs-copyright);
    line-height: 1.5;
    text-align: center;
}

.news__podcast {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-radius: var(--rounded-corner);
    padding: 0.5rem;
    background-color: var(--comments-bg-c);
}

.news__podcast > a:first-of-type {
    flex-grow: 1;
    block-size: 90px;
    aspect-ratio: 3;
}

.news__podcast picture > img {
    object-position: top;
}

.news__podcast > iframe {
    flex-basis: 0;
    flex-grow: 999;
    block-size: 90px;
}

.news__post,
.news__banner picture,
.news__podcast,
.news__podcast > * {
    border: 1px solid var(--grey2-border-c) !important;
    border-radius: var(--rounded-corner);
}

/* Site Info */

.site-info {
    margin-inline: var(--full-bleed);
    padding-block: var(--vert-dist-ins-section);
    padding-inline: var(--content-inline-padding);
    /* border-block-end: 0.4rem solid var(--gold); */
    background-image: url("../img/patreon.edb0e8352c1a.svg");
    background-repeat: no-repeat;
    background-position: top right;
    background-blend-mode: soft-light;
    font-family: var(--open-sans);
}

.site-info > * {
    margin: 0;
}
.site-info > * + * {
    margin-block-start: 1rem;
}

.site-info p:first-child {
    margin-block-start: 0;
}

.site-info strong {
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    font-size: var(--fs-community-owned);
    font-weight: normal;
    text-transform: uppercase;
}

.support-dd {
    font-weight: normal;
    line-height: 1.3;
}

.support-dd a {
    text-decoration: underline;
}

.support-dd a:hover {
    text-decoration: none;
}

.patrons {
    max-inline-size: fit-content;
    margin-block-end: 0;
    font-size: var(--fs-patrons);
    line-height: 1.5;
}

.patrons li {
    display: inline;
}

.patrons li:not(:last-child)::after {
    content: ",";
}

.patrons li:last-child::after {
    content: ".";
}

/* Page Footer */

.page-footer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    row-gap: 1rem;
    padding-block-end: var(--vert-dist-btw-sections);
    color: var(--turquoise);
}

.page-footer a {
    display: inline-block;
    padding: 0.5em;
    font-size: var(--fs-nav-profile);
}

.page-footer img {
    height: 1.2em;
    width: auto;
}

.footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 0.5rem;
    margin: 0;
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    text-transform: uppercase;
}

.copyright {
    margin: 0;
    font-size: var(--fs-copyright);
    color: var(--copyright-c);
}

/* ====================
   SPECIFIC
   ==================== */

/* Main page
   ==================== */

.img-btn {
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 1;
}
.img-btn:disabled {
    opacity: 0.5;
}
.img-btn svg {
    fill: currentColor;
    stroke: currentColor;
}

.image-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.25em 0.5em;
    border-radius: 0 0 var(--rounded-corner) var(--rounded-corner);
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    font-size: var(--fs-image-caption);
    color: white;
    background-color: rgba(0, 0, 0, 0.6);
}

.image-caption > p {
    margin: 0;
}
.image-caption > p:nth-child(2) {
    font-size: 0.9em;
}
.image-caption > p:last-child {
    font-size: 0.75em;
}

.thumb-scroller {
    position: relative;
}

.thumb-scroller ul {
    display: flex;
    gap: var(--image-gap);
    margin-block: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.thumb-scroller li {
    scroll-snap-align: start;
}

.thumb-scroller figure {
    position: relative;
    margin: 0;
}

.thumb-scroller figure > picture {
    display: block;
    /* inline-size: ; */
    /* block-size: ; */
}

.thumb-scroller figure img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    /* border-radius: ; */
}

.thumb-scroller button[disabled] {
    opacity: 0.5;
}

.thumb-scroller figure > picture {
    inline-size: auto;
    block-size: clamp(155px, 115px + 10vw, 195px);
    aspect-ratio: 4/5;
}

.thumb-scroller figure img {
    border-radius: var(--rounded-corner);
}

.main-page {
    color: var(--turquoise);
    line-height: initial;
}

.main-page h2 img {
    height: 0.8em;
}

.news,
.news + .deco-line,
.deco-line + .site-info,
.site-info + .deco-line,
.deco-line-2 {
    margin-block-start: 0;
}

.deco-line + .genre {
    margin-block-start: 1.5rem;
}

.main-page .img-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--scroll-button-size);
    height: var(--scroll-button-size);
    border: 1px solid var(--grey-border-c);
    border-radius: var(--rounded-corner);
    background-color: white;
    line-height: 0;
}

.main-page .img-btn.next {
    right: 0;
    transform: translate(50%, -50%);
}

.main-page .img-btn.prev {
    left: 0;
    transform: translate(-50%, -50%);
}

.main-page .img-btn svg {
    width: 0.75rem;
    height: 1.5rem;
}

.section-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
}

.section-header h2 {
    margin-block: 0;
}

.section-header + .thumb-scroller {
    margin-block-start: 0.35rem;
}

/* Spotlight */

.spotlight {
    margin-inline: var(--full-bleed);
    margin-block-start: var(--feat-image-gap);
    color: white;
}

@media (max-width: 45em) {
    .spotlight {
        margin-block-start: var(--vert-dist-ins-section);
    }
}

.spotlight ul {
    gap: var(--feat-image-gap);
}

.spotlight li {
    scroll-snap-align: center;
}

.spotlight figure > picture {
    inline-size: 450px;
    block-size: 375px;
    aspect-ratio: 1.2;
    inline-size: auto;
    block-size: clamp(275px, 245px + 10vw, 375px);
}

.spotlight figure img {
    border-radius: var(--rounded-corner);
}

.spotlight figcaption {
    padding: 0.5rem 1rem;
}

.spotlight .img-btn {
    width: fit-content;
    height: fit-content;
    border: none;
    padding: 0.5rem;
    background-color: transparent;
}

.spotlight .img-btn.next {
    right: 0.5rem;
    transform: translateY(-50%);
}

.spotlight .img-btn.prev {
    left: 0.5rem;
    transform: translateY(-50%);
}

.spotlight .img-btn svg {
    width: var(--feat-button-width);
    height: var(--feat-button-height);
}

/* Comic page */

.comic-page > * + * {
    margin-block-start: 1rem;
}

.comic-page > header > * + * {
    margin-block-start: 1.5rem;
}

.comic-page__notes {
    margin-block-start: 3rem;
}

.comic-page > .deco-line,
.comic-page > .comments {
    margin-block-start: 2rem;
}

.comic-page .comments .banner {
    /* FIXME: banner shouldn't have margins */
    margin-block-start: 0;
}

.comic-page > header > img {
    display: block;
    height: auto;
    margin-inline: auto;
    border-radius: 1rem 1rem 0 0;
}

.comic-page__title {
    margin-block: 0;
    text-align: center;
    font-weight: revert;
    line-height: 1.2;
}

.comic-page__image > img {
    display: block;
    height: auto;
    margin-inline: auto;
}

.comic-page__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    row-gap: 0.5rem;
    column-gap: 1rem;
    background-color: transparent;
}

.comic-page__nav > div {
    flex: 1;
    max-width: fit-content;
    min-width: 5em;
}

.comic-page__nav a {
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    font-size: 1.5rem;
    text-transform: uppercase;
}

.comic-page__nav a:not([href]) {
    color: var(--grey2-border-c);
}
.comic-page__nav a:not([href]):hover {
    text-decoration: none;
}

.comic-page__nav select {
    width: 100%;
    margin-block-end: 0.3em;
}

.comic-page__nav svg {
    vertical-align: text-top;
}

.comic-page__custom_nav {
    display: flex;
    justify-content: center;
    column-gap: 1rem;
}

.comic-page__custom_nav img {
    display: block;
}

.comic-page__notes header > img {
    border-radius: 50%;
    max-block-size: 4rem;
}

.comic-page__notes header p {
    margin-block: 0;
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    font-size: 2rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--turquoise);
}

.comic-page__notes header address {
    display: inline;
    font-style: normal;
}

.comic-page__header-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    text-align: center;
}

.comic-page__side-links > * {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.comic-page__side-links p {
    margin-block-end: 0.5rem;
}

@media (min-width: 85em) {
    .content {
        position: relative;
    }

    /* position comic's side links left to the main content */
    .comic-page__side-links {
        position: absolute;
        left: calc(-150px - 1rem);
        top: 50%;
        max-width: 150px;
        margin: 0;
    }
}

@media (max-width: 45em) {
    .comic-page__image {
        margin-inline: var(--full-bleed);
    }
}

.comic-preview {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    overflow-wrap: anywhere;
}

.comic-preview > :first-child {
    flex-shrink: 0;
    flex-basis: 80px;
}

.comic-preview > :nth-child(2) {
    flex-grow: 1;
}

.comic-preview h2 {
    display: inline;
}

.comic-preview p:first-of-type {
    margin-block-start: 0.5rem;
    font-style: italic;
}

/* Comics */

.comic-search-form {
    display: grid;
    grid-template-columns: repeat(
        auto-fill,
        minmax(max(45%, var(--label-max-length, 15ch)), 1fr)
    );
    column-gap: 0.5rem;
    padding: 1rem;
    background-color: #eff0f082;
}

.comic-search-form > label:nth-of-type(1) {
    margin-block-end: 1rem;
    display: flex;
    flex-direction: column;
}

@media (max-width: 30em) {
    .comic-search-form > label:nth-of-type(1) {
        grid-column: 1 / -1;
    }
}

.comic-search-form fieldset {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    column-gap: 0.75em;
    border: 1px solid var(--grey-border-c);
    border-radius: 0.25rem;
}

.comic-search-form fieldset:nth-of-type(1) {
    grid-column: 1;
}

.comic-search-form fieldset:nth-of-type(3),
.comic-search-form fieldset:nth-of-type(4) {
    display: grid;
    grid-template-columns: repeat(
        auto-fill,
        minmax(var(--section-label-max-length, 12ch), auto)
    );
    grid-column-gap: 1em;
}

.comic-search-form legend {
    font-style: italic;
}

.comic-search-form input[type="submit"] {
    justify-self: center;
    grid-column: 1 / -1;
    margin-block-start: 1rem;
}

/* User's Profile */

.profile section {
    padding: 1rem;
    border-radius: 0.75rem;
    border: 1px solid var(--turquoise);
    background-color: var(--page-bg);
}

.profile section > h2:first-child {
    margin-block-start: 0;
}

.profile section :where(p:last-child, ul:last-child) {
    margin-block-end: 0;
}

.profile-comics ul li + li {
    margin-block-start: 1em;
}

.profile-comics .limit-children > *:nth-child(n+6) {
    display: none;
}

.profile-comics li > a:first-of-type {
    margin-block-start: 0.4rem;
}

.profile-comics li h3 {
    margin-block-end: 0;
    text-transform: uppercase;
}

.profile-comics dl {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin-block: 0 0;
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
}

.profile-comics dt {
    margin-inline-end: 0.5ch;
}

.profile-comics dd {
    margin-inline: 0 1ch;
    font-weight: bold;
}

.profile-comics dd:after {
    content: ";";
}

.profile-comics dd:last-of-type:after {
    content: ".";
}

.profile-comics dl + p {
    margin-block-start: 0;
    overflow-wrap: anywhere;
}

.profile button[aria-expanded] svg {
    height: 1.1ex;
    width: 1.76ex;
    margin-inline-start: 0.35ch;
}

.profile-friends ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, 50px);
    grid-auto-rows: 50px;
    gap: 0.5rem;
}

.profile-friends .limit-children > *:nth-child(n+51) {
    display: none;
}

.profile-topics ul {
    list-style: disc inside;
    color: var(--turquoise);
}

.profile-topics .limit-children > *:nth-child(n+16) {
    display: none;
}

.profile-trophies ul {
    margin-block: 0;
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.5rem;
}

.profile .comments__list {
    padding: 0;
    background-color: transparent;
}

.profile .comments form:first-of-type textarea {
    min-height: 10em;
}

/* Forums */

.easier-reading {
    --content-bg: whitesmoke;
    --page-bg: hsl(180 3% 93%); /* 1% darker --page-bg */
}

/* turn several block elements into one line */
.flex-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
}

.breadcrumbs {
    font-family: var(--news-gothic);
    font-size: 0.9em;
}

.breadcrumbs ol {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.breadcrumbs li {
    display: inline;
}

.breadcrumbs li + li::before {
    display: inline-block;
    margin-inline: 0.25em;
    content: ">";
}

.breadcrumbs [aria-current="page"] {
  color: var(--grey-text-c);
}

.breadcrumbs .crown-icon {
    width: 1.1em;
    height: 1.1em;
    margin-block-end: -0.19em;
}

/* Just numbers and arrows in circles */
.forum-pagination {
    font-family: var(--news-gothic);
    font-stretch: extra-condensed;
    font-size: 1.5em;
    line-height: 1;
}

.forum-pagination :is(a, li[role="separator"]) {
    min-width: auto;
    height: auto;
    padding-inline: 0.6ch;
    color: inherit;
}

.forum-pagination li:is(:first-child, :last-child) a {
    min-width: 3ch;
    height: 3ch;
    padding: 0;
    border-radius: 50%;
}

.forum-pagination li:first-child {
    margin-inline-end: 1.5ch;
}

.forum-pagination li:last-child {
    margin-inline-start: 1.5ch;
}

.forum-pagination svg {
    width: 0.75em;
    height: 0.75em;
}

.forum-pagination a[aria-current="page"] {
    text-decoration: underline;
}

.forum-pagination a:is(:hover, :focus) {
    text-decoration: underline;
}

/* With colors of the forum */
.topic-list-pagination {
    color: #86898c;
}

.topic-list-pagination li:is(:first-child, :last-child) a {
    border: 1px solid var(--grey-border-c);
    color: var(--forum-color);
}

.topic-list-pagination li:is(:first-child, :last-child) a:not([href]) {
    /* color: hsl(26.42deg 75% 45%); */ /* decreased saturation and luminocity */
    background-color: hsl(180, 3%, 86%); /* it's --page-bg with luminosity decreased */
}

.topic-list-pagination li:is(:first-child, :last-child) a[href]:is(:hover, :focus) {
    background-color: hsl(41, 100%, 85%); /* it's --gold with luminosity increased */
}

.topic-list-pagination a[aria-current="page"] {
    color: var(--forum-color);
}

.topic-list-pagination a:is(:hover, :focus) {
    text-decoration-color: var(--forum-color);
}

.post-list-pagination a[aria-current="page"] {
    font-weight: bold;
}

.post-list-pagination li:is(:first-child, :last-child) a {
    color: var(--forum-color);
    background-color: var(--content-bg);
}

.post-list-pagination li:is(:first-child, :last-child) a:not([href]) {
    background-color: hsl(180, 3%, 86%); /* it's --page-bg with luminosity decreased */
}

.post-list-pagination li:is(:first-child, :last-child) a[href]:is(:hover, :focus) {
    background-color: hsl(41, 100%, 85%); /* it's --gold with luminosity increased */
}

:is(.forum-topics, .forum-posts) > header > * + * {
    margin-block-start: var(--vert-dist-btw-sections);
}

:is(.forum-topics, .forum-posts) h1 {
    margin-block: 0;
    font-size: 1.6em;
    font-weight: bold;
    font-stretch: normal;
    text-transform: none;
    line-height: 1.3;
}

.crown-icon {
    margin-block-end: -0.21em;
    fill: var(--gold);
}

/* forum list page (/forum/) */

:is(.forums, .forum-topics) :is(h2, h3) {
    font-stretch: normal;
}

.forums h2 {
    font-size: 1.75rem;
}

.forum-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(15em, 100%), 1fr));
    gap: 2rem 1.5rem;
    font-family: var(--news-gothic);
}

.forum-list > * {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 3px solid var(--comic-nav-bg);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--forum-shadow-extra);
}

.forum-list > *[data-forum-color="community"] :is(h3, a) {
    color: var(--forum-community-c);
}
.forum-list > *[data-forum-color="other"] :is(h3, a) {
    color: var(--forum-other-c);
}
.forum-list > *[data-forum-color="admin"] :is(h3, a) {
    color: var(--forum-admin-c);
}
.forum-list > *[data-forum-color="hidden"] :is(h3, a) {
    color: var(--forum-hidden-c);
}

.forum-list > *[data-forum-color="general"] .forum-tag {
    background-color: var(--forum-general-c);
}
.forum-list > *[data-forum-color="community"] .forum-tag {
    background-color: var(--forum-community-c);
}
.forum-list > *[data-forum-color="other"] .forum-tag {
    background-color: var(--forum-other-c);
}
.forum-list > *[data-forum-color="admin"] .forum-tag {
    background-color: var(--forum-admin-c);
}
.forum-list > *[data-forum-color="hidden"] .forum-tag {
    background-color: var(--forum-hidden-c);
}

/* Header of the forum card with a tag and info line (last post time and number of posts) */
.forum-list > * > div:first-of-type {
    order: -1;
    align-self: stretch;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

/* Last post time and number of posts wrapper */
.forum-list dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    row-gap: 0;
    font-size: 0.85rem;
}

/* dt and dd pair wrapper */
.forum-list dl > div {
    display: flex;
    gap: 0.2rem;
}

.forum-list dd {
    margin-inline-start: 0;
}

.forum-list dl svg {
    display: block;  /* to remove magic pace */
    width: 1.5em;
    height: 1.5em;
    fill: var(--comic-nav-bg);
}

.forum-list > * > p {
    margin-block: 0;
    /* font-size: 0.85em; */
}

.forum-tag {
    order: -1;
    display: inline-block;
    padding-inline: 0.65em;
    padding-block: 0.15em;
    border-radius: 0.6em;
    font-stretch: condensed;
    /* font-size: 1.2em; */
    text-transform: lowercase;
    color: white;
}

.forum-list h3 {
    font-size: 1.4rem;
    line-height: 1.3;
}

.forum-list .crown-icon {
    width: 1.1em;
    height: 1.1em;
}

/* thread list page (/forum/12345/) */

/*
.forum-topics :is(h1, h2) {
    font-family: var(--open-sans);
}

.forum-topics h1 {
    font-size: 1.85rem;
}
*/

/* color coding for topic/post list page - set a forum color and inherit it when needed */
.forum-topics header > div,
.forum-posts header > div:first-of-type,
.topic-list h2 {
    color: var(--forum-color);
}

.forum-topics header h1,
.forum-topics header nav a,
.forum-posts header nav a,
.topic-list h2 a {
    color: inherit;
}

.topic-list {
    font-family: var(--news-gothic);
}

/* style topic block */
.topic-list > * {
    border: 2px solid var(--comic-nav-bg);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--forum-shadow);
}

/* make some space between topic blocks */
.topic-list > * + * {
    margin-block-start: 1rem;
}

/* layout topic block as flex container with 3 children */
/* first is fixed width, second grows max, third is mostly fixed width */
.topic-list > li {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1rem;
    column-gap: 1rem;
}

.topic-list > li > :nth-child(1) {
    flex-basis: 1rem;
    /* flex-shrink: 0; */
}

.topic-list > li > :nth-child(2) {
    flex-basis: 0;
    flex-grow: 3;
}

.topic-list > li > :nth-child(3) {
    flex-basis: 0;
    flex-grow: 1;
    font-size: 0.85em;
}

@media (max-width: 35em) {
    /* For small screens disable flex mode, and make icons container and topic title inline
       to show on one line */
    .topic-list li {
	display: block;
    }
    .topic-list > li > :nth-child(1) {
	display: inline;
	margin-inline-end: 0.4rem;
    }
    .topic-list > li > :nth-child(1) svg {
	margin-block-end: -0.21rem;
    }
    .topic-list > li > :nth-child(1) svg + svg {
	margin-inline-start: 0.1rem;
    }
    .topic-list > li > :nth-child(2),
    .topic-list > li > :nth-child(2) h2 {
	display: inline;
    }
    .topic-list .topic-started {
	display: block;
    }
    .topic-list > li > :nth-child(3) {
	margin-block-start: 1rem;
    }
}

/* remove space between first / last child and border of topic block */
.topic-list > * > :first-child {
    margin-block-start: 0;
}

.topic-list > * > :last-child {
    margin-block-end: 0;
}

.topic-list > li > :nth-child(1) svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: var(--gold);
}

.topic-list > li > :nth-child(3) svg {
    width: 1.5em;
    height: 1.5em;
    fill: var(--comic-nav-bg);
}

.topic-list > li > :nth-child(3) svg:nth-of-type(1) {
    margin-block-end: -0.35em;
}

.topic-list > li > :nth-child(3) svg:nth-of-type(2) {
    margin-block-end: -0.45em;
}

/* make topic header smaller */
.topic-list > * h2 {
    margin-block: 0;
    font-size: 1.17em;
    line-height: 1.3;
    font-weight: bold;
    text-transform: none;
}

.topic-started {
    font-size: 0.9em;
    font-style: italic;
}

/* post list (/forum/topic/12345/) */

.forum-posts {
    font-family: var(--news-gothic);
}

.thread-pagination-etc {
    border-radius: 0.75rem;
    padding: 0.5rem 1rem;
    color: var(--content-bg);
    background-color: var(--forum-color);
}

.thread-pagination-etc h1 {
    font-size: 1.5rem;
    color: inherit;
}

.thread-pagination-etc .link-button {
    text-transform: uppercase;
    /* color: inherit; */
    background-color: white;
}
.thread-pagination-etc .link-button:hover {
    background-color: var(--page-bg);
}

.forum-posts > header > div > span {
    font-size: 1.6em;
    font-weight: bold;
    line-height: 1.3;
}

.forum-posts h1 svg {
    margin-block-end: -0.1em;
    fill: var(--gold);
}

.forum-posts h1 svg:last-of-type {
    margin-inline-end: 0.25ch;
}

.forum-posts h1 svg + svg {
    margin-inline-start: 0.1ch;
}

/* make some space between forum posts */
.forum-posts article + article {
    margin-block-start: 1.85rem;
}

.forum-post {
    --user-col-basis: 130px;
    --col-gap: 1rem;
    --smaller-text: 0.9em;
    display: flex;
    column-gap: var(--col-gap);
    overflow-wrap: anywhere;
}

.forum-post > :first-child {
    flex-basis: var(--user-col-basis);
    flex-shrink: 0;
}

.forum-post > :last-child {
    flex-grow: 1;
}

/* 3-column layout (user avatar | post | user avatar)
/*
.forum-post:nth-child(even) > :last-child {
    margin-inline-end: calc(var(--user-col-basis) + var(--col-gap));
}

.forum-post:nth-child(odd) > :first-child {
    order: 1;
    text-align: right;
}

.forum-post:nth-child(odd) > :last-child {
    margin-inline: calc(var(--user-col-basis) + var(--col-gap)) 0;
}
*/

/* Post user info */

.forum-post footer {
    font-style: italic;
    font-size: var(--smaller-text);
}

.forum-post dl {
    margin-block-start: 0.3em;
}

.forum-post :is(dt, dd) {
    display: inline;
}

.forum-post dd {
    margin-inline: 0;
}

.forum-post dd:after {
    content: '';
    display: block;
}

/* Post content */

.post-content {
    border: 2px solid var(--comic-nav-bg);
    border-radius: 1rem;
    padding: 1rem 2rem 0 2rem;
    box-shadow: var(--forum-shadow);
}

.forum-post header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 1rem;
    margin-block-end: 2rem;
    font-size: var(--smaller-text);
}

.post-actions {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5ch;
    stroke: var(--grey-border-c);
}
.post-actions > li {
    display: inline-flex;
    align-items: center;
    column-gap: 0.35rem;
}
.forum-post header a {
    color: inherit;
}
.post-actions svg {
    width: 1.5em;
    height: 1.5em;
    stroke: inherit;
}

.post-actions .v-dots-button {
    column-gap: inherit;
}
.post-actions .v-dots-button svg {
    width: auto;
    fill: var(--grey-border-c);
}

.post-actions-menu {
    stroke: hsl(from var(--grey-border-c) h s 56%);
}

.forum-post blockquote {
    margin: 1em 0;
    padding: 1em 1.5em;
    border-radius: 1.1rem;
    background-color: #e8e9ea;
}

.forum-post aside {
    margin-block-start: 2rem;
    border-top: 2px solid var(--comic-nav-bg);
    font-size: var(--smaller-text);
}

.forum-posts .confirmation-dialog {
    margin-block-start: auto;
}

@media (max-width: 35em) {
    .forum-post {
	display: block;
	border: 2px solid var(--comic-nav-bg);
	border-radius: 1rem;
	padding: 1rem;
	box-shadow: var(--forum-shadow);
    }

    .post-content {
	border: none;
	padding: 0;
	box-shadow: none;
    }

    .forum-post header {
	margin-block-start: 2rem;
    }

    .forum-post footer {
	display: grid;
	grid-template-columns: minmax(50px, max-content) auto;
	grid-column-gap: 1rem;
    }

    .forum-post footer address {
	order: 1;
    }

    .forum-post footer dl {
	margin-block-start: 0;
    }
}

/* ====================
   NOT USED
   ==================== */

/* Triangle Button Styles */

.img-btn.turq-on-white:hover svg {
    fill: rgb(0, 153, 167);
}
.img-btn.turq-on-white:active svg {
    fill: rgba(0, 181, 198, 0.6);
}
.img-btn.white-on-turq:hover svg {
    fill: rgb(232, 232, 232);
}
.img-btn.white-on-turq:active svg {
    fill: rgba(255, 255, 255, 0.6);
}
