@font-face {
    font-family: baveusemac;
    src: url('Baveuse.ttf');
}

* {
    -webkit-overflow-scrolling: touch
}

body {
    font-size: 1em;
    background-color: rgb(0, 6, 15);
    color: silver;
    font-family: Arial, Helvetica, sans-serif;
    background-blend-mode: hard-light;
    padding: 0;
    height: 100%;
}

header,
section,
footer {
    text-align: center;
}

.wrapper {
    background-color: rgb(36, 36, 28);
    padding: 0 2em 0 2em;
    /* border-radius: 8px 0 0 8px;
    border: solid 1px;
    border-color: rgba(220, 220, 220, 0.5);
    position: absolute;
    top: 1em;
    right: 0;
    bottom: 1em;
    left: 1em; */
    overflow-y: auto;
}

#events-upcoming {
    height: 500px;
    overflow: auto;
}


#video-playlist>h4 {
    color: rgb(204, 188, 72);
    font-family: Rockwell;
    font-weight: 500;
    margin-top: 3px;
}

body.blue .wrapper {
    background-color: rgb(0, 30, 51);
}

body.blue header h3 {
    color: rgb(29, 112, 144);
}

body.blue section h3 {
    background-color: rgb(29, 112, 144);
}

body.blue body.blue #video-playlist>h4 {
    color: rgb(54, 157, 197);
}

body.green .wrapper {
    background-color: rgb(2, 22, 0);
}

body.green header h3 {
    color: rgb(74, 133, 183);
}

body.green section h3 {
    background-color: rgb(74, 133, 183);
}

body.green #video-playlist>h4 {
    color: rgb(106, 175, 235);
}

body.red .wrapper {
    background-color: rgb(46, 6, 9);
}

body.red header h3 {
    color: rgb(167, 78, 14);
}

body.red section h3 {
    background-color: rgb(167, 78, 14);
}

body.red #video-playlist>h4 {
    color: rgb(223, 112, 33);
}

body.blue #events-upcoming>div {
    border: 1px solid rgb(29, 112, 144);
    border-bottom-color: rgb(80, 0, 178);
    border-right-color: rgb(80, 0, 178);
    background-color: rgba(0, 30, 51, 0.75);
}

body.green #events-upcoming>div {
    border: 1px solid rgb(74, 133, 183);
    border-bottom-color: rgb(80, 0, 178);
    border-right-color: rgb(80, 0, 178);
    background-color: rgba(2, 22, 0, 0.75);
}

body.red #events-upcoming>div {
    border: 1px solid rgb(167, 78, 14);
    border-bottom-color: rgb(80, 0, 178);
    border-right-color: rgb(80, 0, 178);
    background-color: rgba(46, 6, 9, 0.75);
}

#events-upcoming>div {
    padding: 5px;
    border: 1px solid rgb(162, 148, 49);
    border-radius: 10px;
    margin: 5px;
    border-bottom-color: rgb(80, 0, 178);
    border-right-color: rgb(80, 0, 178);
    background-color: rgba(36, 36, 28, 0.75);
}

.wrapper2 {
    box-sizing: border-box;
    /* center the page content and cap its width on larger screens */
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 800px;
    float: none;
}

/* header h1 removed (no <h1> in markup). If you add an h1 later, reintroduce styles here. */

header h3 {
    color: rgb(162, 148, 49);
    text-decoration: none;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 1em;
    white-space: nowrap
}

/* Header nav and header h3 a rules removed — there is no <nav> or header h3>a in the current markup. */

/* .reflected styles removed (no element uses .reflected). Re-add if you reintroduce a reflected element. */

.links h3,
.media h3 {
    background-color: rgb(162, 148, 49);
    color: #000;
    text-align: center;
    border-radius: 10px;
    border: solid 1px #f8f8f8;
    margin: 2em 3em 0 3em;
    min-width: 300px;
    position: relative;
    max-width: 470px;
    margin-bottom: 24px;
    margin-right: auto;
    margin-left: auto;
    line-height: 24px;
}

.links p:nth-child(2) {
    font-size: 1.6em;
    margin-bottom: .5em;
}

.links p:nth-child(3) {
    font-size: 1em;
}

.media h3 {
    margin-top: 36px;
    margin-bottom: 24px
}

/* .day-time removed (no matching span in current markup). */

.links a {
    font-family: Rockwell;
    color: silver;
    text-decoration: none;
    letter-spacing: 1px;
    cursor: pointer;
}

.links a:hover {
    color: #3ba6c5;
}

.image-container {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    /* Adds a small gap between the images */
}

.image-container a {
    flex: 1;
    /* Ensures the <a> tags take up the same space as the images */
    display: flex;
    /* Makes the <a> tags behave like flex containers */
    align-items: center;
    /* Centers the image vertically within the <a> tag */
    justify-content: center;
    /* Centers the image horizontally within the <a> tag */
    text-decoration: none;
    /* Removes any default text styling */
}

.image-container img {
    width: 100%;
    /* Ensures the image fills the <a> tag */
    height: auto;
    /* Maintains the aspect ratio */
    display: block;
    /* Removes inline spacing around the image */
}

@media only screen and (max-width: 999px) {
    /* rules that only apply for canvases narrower than 1000px */
    /*body {font-size: 1.2em;}*/

    .wrapper2 {
        width: 90%;
    }
}

@media only screen and (min-width: 999px) {
    /* rules that only apply for canvases wider than 999px */
    /*body {font-size: 1.2em;}*/

    .wrapper2 {
        width: 60%;
    }
}

@media only screen and (device-width: 768px) and (orientation: landscape) {

    /* rules for iPad in landscape orientation */
    body {
        font-size: 1.7em;
    }

    header,
    section,
    footer {
        width: 65%;
    }
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {

    /* iPhone, Android rules here */
    body {
        font-size: 2em;
    }

    header,
    section,
    footer {
        width: 100%;
    }

    /* mobile-specific wrapper background removed (was commented but contained nested comments causing parse errors) */


    .wrapper2 {
        width: 100%;
        /* margin-left: 0; */
    }

    header h1 {
        margin-top: 7em;
    }

    .links h3,
    .media h3 {
        max-width: 90%;
        margin-bottom: 24px;
        margin-right: auto;
        margin-left: auto;
        line-height: 2em;
    }

    header h3 {
        border-top: solid 2em black;
        margin-top: -1.5em;
        background-color: black;
        border-bottom: solid .5em black;
    }

    .audio-wrapper {
        height: 300px;
    }

    .audio-wrapper h4 {
        display: inline-block;
        margin-right: 20px;
    }

    .audio-wrapper audio {
        float: right;
    }
}

/* .calendar-wrapper {
  padding-left: 20px;
  padding-right: 20px;
} */

.video-wrapper,
.calendar-wrapper {
    position: relative;
    height: 15.75em;
    width: 28em;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}

.video-wrapper iframe,
.video-wrapper embed,
.video-wrapper object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Merch responsive grid */
.merch-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: stretch;
    margin: 0.5rem 0 1rem;
}

.merch-item {
    flex: 1 1 calc(25% - 1rem);
    box-sizing: border-box;
    text-align: center;
    background: transparent;
}

.merch-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Add a small gap between the image and the caption inside merch items */
.merch-item img {
    margin-bottom: 5px;
}

.merch-item a {
    display: inline-block;
    margin-top: 0.5rem;
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

/* 2 per row on medium screens */
@media (max-width: 900px) {
    .merch-item {
        flex: 1 1 calc(50% - 1rem);
    }
}

/* 1 per row on small screens */
@media (max-width: 480px) {
    .merch-item {
        flex: 1 1 100%;
    }
}