
/* =========================================================
   SHARED SITE FOOTER
   Entirely self-contained.
   ========================================================= */

@font-face {
    font-family: 'LEMONMILK-Regular';
    src: url('LEMONMILK-Regular.otf');
    font-display: swap;
}

.sbmd-site-footer {

    --footer-dark:
        #131915;

    --footer-panel:
        #202822;

    --footer-panel-soft:
        #2c3931;

    --footer-green:
        #3d5848;

    --footer-paper:
        #f2ecdf;

    --footer-border:
        #c9bfac;

    --footer-gold:
        #ffd85c;

    --footer-text:
        #ffffff;

    padding:
        65px 20px 28px;

    background:
        var(--footer-dark);

    color:
        var(--footer-text);

    font-family:
        Arial,
        sans-serif;

    text-align:
        left;
}

.sbmd-site-footer *,
.sbmd-site-footer *::before,
.sbmd-site-footer *::after {
    box-sizing: border-box;
}

.sbmd-site-footer__inner {

    max-width:
        1320px;

    margin:
        0 auto;
}


/* =========================================================
   INTRO
   ========================================================= */

.sbmd-site-footer__intro {

    max-width:
        760px;
}

.sbmd-site-footer__intro h2 {

    margin:
        0 0 13px;

    color:
        var(--footer-gold);

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        clamp(
            1.4rem,
            2vw,
            2rem
        );
}

.sbmd-site-footer__intro p {

    margin:
        0;

    color:
        #ffffff;

    font-size:
        1rem;

    line-height:
        1.7;
}


/* =========================================================
   SPONSORS
   ========================================================= */

.sbmd-footer-sponsor-showcase {

    margin-top:
        38px;

    padding:
        clamp(
            26px,
            4vw,
            40px
        );

    background:
        linear-gradient(
            135deg,
            #25342b,
            #1c2821
        );

    border:
        2px solid
        rgba(255, 216, 92, .30);

    border-radius:
        22px;
}

.sbmd-footer-sponsor-showcase__head {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        25px;

    margin-bottom:
        28px;
}

.sbmd-footer-sponsor-showcase__head > div:first-child {

    max-width:
        720px;
}

.sbmd-footer-sponsor-showcase__eyebrow {

    margin:
        0 0 8px;

    color:
        var(--footer-gold);

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        .72rem;

    font-weight:
        900;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}

.sbmd-footer-sponsor-showcase h3 {

    margin:
        0 0 10px;

    color:
        #ffffff;

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        clamp(
            1.5rem,
            3vw,
            2.3rem
        );
}

.sbmd-footer-sponsor-showcase p {

    margin:
        0;

    color:
        #e6ece8;

    line-height:
        1.65;
}

.sbmd-footer-sponsor-showcase__actions {

    flex:
        0 0 auto;

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        9px;
}

.sbmd-footer-button {

    min-height:
        48px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        12px 19px;

    border:
        2px solid transparent;

    border-radius:
        999px;

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        .76rem;

    font-weight:
        900;

    line-height:
        1.2;

    text-align:
        center;

    text-decoration:
        none;
}

.sbmd-footer-button--gold {

    background:
        var(--footer-gold);

    color:
        #1d241f;
}

.sbmd-footer-button--gold:hover {

    background:
        #ffe580;
}

.sbmd-footer-button--outline {

    background:
        transparent;

    border-color:
        #ffffff;

    color:
        #ffffff;
}

.sbmd-footer-button--outline:hover {

    background:
        #ffffff;

    color:
        #202822;
}


/* Sponsor cards */

.sbmd-footer-sponsors {

    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(190px, 1fr)
        );

    gap:
        14px;
}

.sbmd-footer-sponsor {

    min-height:
        205px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    padding:
        18px;

    background:
        var(--footer-paper);

    border:
        2px solid
        var(--footer-border);

    border-radius:
        14px;

    text-align:
        center;
}

.sbmd-footer-sponsor__level {

    margin:
        0 0 10px;

    padding:
        5px 9px;

    background:
        var(--footer-green);

    border-radius:
        999px;

    color:
        #ffffff;

    font-size:
        .63rem;

    font-weight:
        900;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.sbmd-footer-sponsor__logo {

    width:
        100%;

    height:
        115px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;
}

.sbmd-footer-sponsor__logo img {

    max-width:
        92%;

    max-height:
        105px;

    object-fit:
        contain;
}

.sbmd-footer-sponsor__name {

    margin-top:
        11px;

    color:
        #202822;

    font-size:
        .85rem;

    font-weight:
        900;
}

.sbmd-footer-sponsor-empty {

    color:
        #ffffff;
}


/* =========================================================
   MAIN FOOTER GRID
   ========================================================= */

.sbmd-site-footer__grid {

    display:
        grid;

    grid-template-columns:
        minmax(340px, .85fr)
        minmax(0, 1.65fr);

    gap:
        20px;

    margin-top:
        20px;
}

.sbmd-site-footer__card {

    padding:
        26px;

    background:
        var(--footer-panel);

    border:
        1px solid
        rgba(255, 255, 255, .19);

    border-radius:
        18px;
}

.sbmd-site-footer__card h3 {

    margin:
        0 0 11px;

    color:
        #ffffff;

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        1rem;
}

.sbmd-site-footer__card > p {

    margin:
        0 0 21px;

    color:
        #ffffff;

    line-height:
        1.6;
}


/* =========================================================
   CONTACT FORM
   ========================================================= */

.sbmd-footer-contact-form {

    display:
        grid;

    gap:
        13px;
}

.sbmd-footer-contact-form label {

    display:
        block;

    color:
        #ffffff;

    font-size:
        .87rem;

    font-weight:
        800;
}

.sbmd-footer-contact-form input,
.sbmd-footer-contact-form textarea {

    width:
        100%;

    margin-top:
        6px;

    padding:
        12px 13px;

    background:
        #f6f0e3;

    border:
        2px solid
        #aab6ad;

    border-radius:
        9px;

    color:
        #151b17;

    font-family:
        Arial,
        sans-serif;

    font-size:
        1rem;
}

.sbmd-footer-contact-form input:focus,
.sbmd-footer-contact-form textarea:focus {

    border-color:
        var(--footer-gold);

    outline:
        3px solid
        rgba(255, 216, 92, .30);
}

.sbmd-footer-contact-form textarea {

    min-height:
        130px;

    resize:
        vertical;
}

.sbmd-footer-contact-form button {

    min-height:
        48px;

    padding:
        12px 20px;

    background:
        var(--footer-gold);

    border:
        0;

    border-radius:
        999px;

    color:
        #1b211d;

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        .79rem;

    font-weight:
        900;

    cursor:
        pointer;
}

.sbmd-footer-contact-form button:hover {

    background:
        #ffe57f;
}

.sbmd-footer-hp-field {

    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    overflow:
        hidden !important;

    clip:
        rect(0, 0, 0, 0) !important;

    white-space:
        nowrap !important;
}

.sbmd-footer-alert {

    margin-bottom:
        15px;

    padding:
        12px 14px;

    border-radius:
        9px;

    font-weight:
        800;

    line-height:
        1.45;
}

.sbmd-footer-alert--success {

    background:
        #dff4e6;

    border:
        2px solid
        #65a879;

    color:
        #173c23;
}

.sbmd-footer-alert--error {

    background:
        #f9dfdf;

    border:
        2px solid
        #ba5a5a;

    color:
        #5b1515;
}

.sbmd-footer-email {

    color:
        var(--footer-gold);

    font-weight:
        900;

    text-decoration:
        underline;
}

.sbmd-footer-email:hover {

    color:
        #ffffff;
}


/* =========================================================
   DIRECTORY
   ========================================================= */

.sbmd-footer-directory {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        24px 18px;

    margin-top:
        22px;
}

.sbmd-footer-directory__group {

    display:
        flex;

    flex-direction:
        column;

    gap:
        7px;
}

.sbmd-footer-directory__group h4 {

    margin:
        0 0 5px;

    color:
        #ffffff;

    font-family:
        LEMONMILK-Regular,
        Arial,
        sans-serif;

    font-size:
        .78rem;
}

.sbmd-footer-directory__group a {

    color:
        var(--footer-gold);

    font-size:
        .87rem;

    font-weight:
        700;

    line-height:
        1.35;

    text-decoration:
        none;
}

.sbmd-footer-directory__group a:hover {

    color:
        #ffffff;

    text-decoration:
        underline;
}

.sbmd-footer-directory__quick {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        25px;

    padding-top:
        18px;

    border-top:
        1px solid
        rgba(255, 255, 255, .16);
}

.sbmd-footer-directory__quick a,
.sbmd-footer-social a {

    padding:
        7px 10px;

    background:
        #344239;

    border-radius:
        8px;

    color:
        #ffffff;

    font-size:
        .8rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.sbmd-footer-directory__quick a:hover,
.sbmd-footer-social a:hover {

    background:
        var(--footer-gold);

    color:
        #202822;
}

.sbmd-footer-social {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        9px;

    margin-top:
        22px;
}


/* =========================================================
   BOTTOM
   ========================================================= */

.sbmd-site-footer__bottom {

    margin-top:
        35px;

    padding-top:
        20px;

    border-top:
        1px solid
        rgba(255, 255, 255, .20);

    color:
        #ffffff;

    font-size:
        .87rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .sbmd-footer-sponsor-showcase__head {

        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .sbmd-site-footer__grid {

        grid-template-columns:
            1fr;
    }
}

@media (max-width: 700px) {

    .sbmd-footer-directory {

        grid-template-columns:
            1fr 1fr;
    }
}

@media (max-width: 600px) {

    .sbmd-site-footer {

        padding:
            50px 14px 24px;
    }

    .sbmd-footer-sponsors {

        grid-template-columns:
            1fr;
    }

    .sbmd-footer-sponsor-showcase__actions {

        width:
            100%;
    }

    .sbmd-footer-sponsor-showcase__actions
    .sbmd-footer-button {

        width:
            100%;
    }
}

@media (max-width: 440px) {

    .sbmd-footer-directory {

        grid-template-columns:
            1fr;
    }
}
