:root{
    --blue:#163a73;
    --blue2:#0a1f44;
    --give:#e8b24f;
    --involved:#1f5aa8;

    /* borders used in newsletter form */
    --hub-newsletter-border: rgba(255,255,255,.38);
    --hub-newsletter-border-hover: rgba(255,255,255,.55);
    --hub-newsletter-border-focus: rgba(255,255,255,.85);

    /* Layout */
    --max:1200px;
    --pad:clamp(16px,3vw,28px);
    --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:var(--font);
    background:#000;
}

html, body{
    overflow-x: hidden;
}

a{
    text-decoration: none;
    color: inherit;
}

.container{
    width:min(var(--max), calc(100% - 2*var(--pad)));
    margin:0 auto;
}

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

.hidden {
    display: none !important;
}

.btn{
    height:42px;
    padding:0 18px;
    font-weight:900;
    font-size:13px;
    text-transform:uppercase;
    border:none;
}

body.no-hero .hero-top{
    background: transparent;
    position: sticky;
    top: 0;
    z-index: 999;
    isolation: isolate;
}

body.no-hero .hero-top::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;

    background:
            linear-gradient(
                    90deg,
                    rgba(0,0,0,.58) 0%,
                    rgba(0,0,0,.34) 45%,
                    rgba(0,0,0,.18) 75%,
                    rgba(0,0,0,.10) 100%
            ),
            url("/assets/img/homepage1.jpg") top center / 120% no-repeat;

    transform: scale(1.06);
    filter: saturate(1.06) contrast(1.06) blur(7px);
}

body.no-hero .hero-top::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;

    background: rgba(0,0,0,.42);
    backdrop-filter: blur(26px);
    -webkit-backdrop-filter: blur(26px);

    box-shadow:
            0 18px 40px rgba(0,0,0,.30),
            inset 0 1px 0 rgba(255,255,255,.08);
}

html { scroll-behavior: smooth; }
