:root {
    --background-color: rgb(0, 0, 0);
    --heading-color: white;
    --accent-color: rgb(165, 138, 90);
    --link-color: rgb(137, 169, 193);
    --foreground-color: rgb(237, 235, 223);
    --deemphasis-color: gray;

    --border-gradient:
        linear-gradient(var(--background-color), var(--background-color))
            padding-box,
        repeating-radial-gradient(
                circle farthest-side at right center,
                #5b4f30 0%,
                #d6c9a6 20%,
                #5b4f30 35%,
                #d6c9a6 55%,
                #5b4f30 75%,
                #d6c9a6 85%,
                #5b4f30 100%
            )
            border-box;
}

/**
* @license
* MyFonts Webfont Build ID 695992
*
* The fonts listed in this notice are subject to the End User License
* Agreement(s) entered into by the website owner. All other parties are
* explicitly restricted from using the Licensed Webfonts(s).
*
* You may obtain a valid license from one of MyFonts official sites.
* http://www.fonts.com
* http://www.myfonts.com
* http://www.linotype.com
*
*/
@font-face {
    font-family: "GillSansNovaBook";
    src:
        url("/fonts/GillSansNovaBook/font.woff2") format("woff2"),
        url("/fonts/GillSansNovaBook/font.woff") format("woff");
}

/* licensed from kaligra.co */
@font-face {
    font-family: "MarisaMedium";
    src:
        url("/fonts/MarisaMedium/MarisaMedium.woff2") format("woff2"),
        url("/fonts/MarisaMedium/MarisaMedium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* ============ RESET ============== */

/* No harm inclusion; enables transitions to stuff like “auto” */
@media (prefers-reduced-motion: no-preference) {
    :root {
        interpolate-size: allow-keywords;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
    /* outline: 2px solid lime */ /* UNCOMMENT THESE for debugging CSS! */
    /* backgound: hsl(0 100% 50% / .1) */
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}

html {
    hanging-punctuation: first last;
    /* progressive; reduces shifting when scrollbar appears/disappears */
    scrollbar-gutter: stable;
}

body {
    min-height: 100vh;
    min-block-size: 100svh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

header,
footer,
main,
section,
article {
    container-type: inline-size;
}

img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
}

img {
    max-width: 100%;
    vertical-align: middle;
    height: auto;
    font-style: italic;
    shape-margin: 1rem;
    background-repeat: no-repeat;
    background-size: cover;
}

p,
li,
figcaption {
    /*text-wrap: pretty;*/
    max-width: 65ch;
}

input,
textarea {
    min-width: 0;
}

nav ul {
    list-style: none;
}

@media (prefers-reduced-motion: no-preference) {
    :has(:target) {
        scroll-behavior: smooth;
        scroll-padding-top: 3rem;
    }
}

/* ============ END RESET ============== */

body {
    background-color: var(--background-color);
    color: var(--foreground-color);

    font-family: GillSansNovaBook, "Gill Sans", sans-serif;

    line-height: 1.4;
    padding-inline: 1em;

    text-align: center;
}

/*nav {
    button:hover {
        color: var(--link-color);
    }
    a,
    a:visited {
        color: var(--accent-color);
        text-decoration: none;
    }
    a:hover {
        color: var(--link-color);
    }
}*/
/*.primary-nav {
    border-bottom: 2px solid transparent;
    background: var(--border-gradient);

    ul {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-evenly;
        align-items: center;
    }

    li {
        margin-block: 1ch;
    }

    .desktop__menu {
        display: none;
    }
    .mobile__menu {
        display: block;
    }
    @media (width > 500px) {
        .desktop__menu {
            display: flex;
        }
        .mobile__menu {
            display: none;
        }
    }

    dialog::backdrop {
        background: rgb(0 0 0 / 50%);
    }

    .menu-button {
        background: none;
        border: none;
        color: var(--accent-color);
    }
    .modal-menu {
        width: 80%;
        margin-inline: auto;
        margin-block: 3ch;

        border: 2px solid transparent;
        background: var(--border-gradient);

        padding: 2ch;

        ul {
            display: grid;
            margin-block: 2ch;
        }
    }
}*/
.secondary-nav {
    max-width: 65ch;
    margin-inline: auto;
    margin-block: 2ch;
    ul {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-evenly;
        align-items: center;
    }

    li {
        margin-block: 1ch;
    }
}

header {
    padding-top: 2em;
    /*min-height: 6em;*/

    text-align: center;

    img {
        max-width: 66%;
    }
}
footer {
    padding-bottom: 2em;
    font-size: 80%;
    color: var(--deemphasis-color);
    text-align: center;

    border-top: 2px solid transparent;
    background: var(--border-gradient);
}

main {
    /*    display: flex;
    align-items: center;
    justify-content: center;
*/
    padding-block: 2em;

    .special {
        font-weight: 900;
        font-size: 400%;
    }
}

h1,
h2 {
    color: var(--accent-color);
    font-weight: 500;
    font-size: 200%;

    font-family: MarisaMedium, sans-serif;
    line-height: 1;
}
h1 {
    line-height: 1;
}
h2 {
    font-size: 125%;
}

p {
    margin-block: 0.5em;
    /*text-align: center;*/
    width: fit-content;
}

ol {
    margin-inline-start: 2em;
    list-style-position: outside;
}

li {
    margin-bottom: 1ch;
}
em {
    font-variant: italic;
}

strong {
    font-weight: 500;
}

a,
a:visited,
a:active {
    color: var(--link-color);
}

a:hover {
    color: color-mix(in srgb-linear, var(--link-color) 80%, white);
}

.pitch {
    margin-inline: auto;
    max-width: 65ch;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 1.4em;
}
.general-content {
    margin-inline: auto;
    max-width: 65ch;
    text-align: left;

    h2 {
        margin-top: 2ch;
    }
    p {
        text-align: left;
        margin-bottom: 1ch;
    }
    ul {
        list-style: none;
    }
}
.mailing_signup {
}
.center {
    text-align: center;
}
.logo,
.map {
    width: 100%;
    height: auto;
    max-width: 480px;
    margin-inline: auto;
    display: block;
}
.map {
    margin-block: 2ch;
}

.accent {
    color: var(--accent-color);
}

.calendar {
    color: var(--accent-color);
    font-weight: 700;
}

.headingish--large,
.headingish--small {
    font-family: MarisaMedium, sans-serif;
    font-size: 300%;
    line-height: 1;
    color: var(--accent-color);
    text-wrap: nowrap;
}
.headingish--small {
    font-size: 150%;
}

/* fancy borders adapted from https://codepen.io/MyXoToD/pen/VaazQq */
.box {
    padding: 3px;
    position: relative;
    border: 2px solid transparent;
    background: var(--border-gradient);
    /*&:before,
    &:after {
        content: "•";
        position: absolute;
        width: 14px;
        height: 14px;
        font-size: 14px;
        color: var(--accent-color);
        border: 2px solid var(--accent-color);
        line-height: 9px;
        top: 5px;
        text-align: center;
    }
    &:before {
        left: 5px;
    }
    &:after {
        right: 5px;
    }*/
    .box-inner {
        position: relative;
        /*border: 2px solid var(--accent-color);*/
        border: 2px solid transparent;
        background: var(--border-gradient);
        padding: 30px;
        /*&:before,
        &:after {
            content: "•";
            position: absolute;
            width: 14px;
            height: 14px;
            font-size: 14px;
            color: var(--accent-color);
            border: 2px solid var(--accent-color);
            line-height: 9px;
            bottom: -2px;
            text-align: center;
        }
        &:before {
            left: -2px;
        }
        &:after {
            right: -2px;
        }*/

        display: flex;
        flex-direction: column;
        gap: 1.4ch;

        div {
            text-wrap: pretty;
        }
    }
}

/*.activities li {
    text-align: left;
}*/

.wx-button {
    display: block;
    width: fit-content;
    margin-inline: auto;
    margin-block: 2ch;
    background-color: var(--accent-color);
    padding: 10px 20px;
    text-decoration: none;
    font-weight: bold;
    border: none;
}
a.wx-button {
    color: black;
}
.wx-button {
    color: black;
}
.wx-button:hover {
    color: black;
    background-color: color-mix(in srgb-linear, var(--accent-color) 80%, white);
}

/*.bar-list {
    max-width: 60ch;
    margin-inline: auto;
    columns: 2 36px;
    text-align: left;

    .city {
        break-inside: avoid;
        margin-bottom: 3ch;
    }

    h2 {
        margin-block-end: 1ch;
    }

    ul {
        list-style: none;
    }
}*/

.social-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 1em 2em;

    width: fit-content;
    margin-inline: auto;
    text-align: center;

    list-style: none;
    padding-block: 1em;
    padding-inline: 4em;

    border: 2px solid transparent;
    background: var(--border-gradient);

    li {
        margin: 0;
    }
}

/* EXPERIMENTAL HOME PAGE */

section {
    margin-block: 8ch;
    container-type: inline-size;

    h2 {
        margin-block-start: 2ch;
    }
}
.get-involved,
.events {
    display: grid;
    margin-block: 2ch;
    margin-inline: auto;
    max-width: 350px;
    width: fit-content;

    @container (width > 600px) {
        display: flex;
        gap: 2em;
        max-width: 800px;

        & > div {
            max-width: 35ch;
        }
    }

    p {
        text-align: left;
    }
}

.bar-list2 {
    max-width: 60ch;
    margin-inline: auto;
    columns: 2 36px;
    text-align: left;

    .city {
        break-inside: avoid;
        margin-bottom: 3ch;
    }

    h2 {
        margin-block-start: 0;
        margin-block-end: 1ch;
    }

    ul {
        list-style: none;
    }

    @container (width > 600px) {
        max-width: 800px;
        columns: 4 36px;
    }
}



section {

    figure {
        margin-block: 2ch;
        max-width: 480px;
        img {
            width: 100%;
            height: auto;
        }
        margin-inline: auto;
    }
    figcaption {
        text-wrap: balance;
    }
}

.media {
    margin-block: 2ch;
}

.primary__sponsors {
    display: grid;
    grid-template-columns: 150px 150px;
    grid-template-rows: 150px 150px;
    align-items: center;
    gap: 2ch;

    list-style: none;

    width: fit-content;
    margin-inline: auto;

    @container (width > 680px) {
        grid-template-columns: repeat(4, 150px);
        grid-template-rows: 150px;
    }

}

/* animation */

/*@keyframes —-sectionfade {
    30% {
        opacity: 1;
    }
}
*/
/*section, header {
    opacity: 0.55;
    animation: —-sectionfade both;
    animation-timeline: view();
    animation-range-end: 160%;
}
*/


/* ====================== */
