/* LIFT public site refresh */
:root {
    --site-content-width: 1320px;
    --site-content-gutter: 12px;
    --lift-ink: #0a1e3d;
    --lift-forest: #004AAD;
    --lift-forest-dark: #002d66;
    --lift-sage: #dfeee3;
    --lift-mint: #eef6ef;
    --lift-coral: #ef7658;
    --lift-cream: #f8f6ef;
    --lift-muted: #4d5a68;
    --lift-line: rgba(10, 30, 61, 0.12);
}

html { scroll-behavior: smooth; }

body,
body p,
body a,
body button,
body input,
body textarea,
body select,
body .form-control,
body .btn,
body .nav-link,
body .card,
body .alert,
body .badge {
    font-family: 'DM Sans', 'Segoe UI', sans-serif !important;
}

body {
    background: var(--lift-cream) !important;
    color: var(--lift-ink) !important;
    line-height: 1.65;
}

body div,
body span,
body li,
body small,
body label {
    font-family: 'DM Sans', 'Segoe UI', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
body h1, body h2, body h3, body h4, body h5, body h6 {
    font-family: 'Space Grotesk', 'DM Sans', sans-serif !important;
    color: var(--lift-ink);
    letter-spacing: -0.02em;
}

.header-wrapper,
.header-wrapper.transparent-header,
.header-wrapper:not(.transparent-header) {
    background: var(--lift-ink) !important;
    min-height: 104px;
    box-shadow: 0 10px 30px rgba(10, 30, 61, 0.12) !important;
}

.top-header {
    background: transparent !important;
    border-bottom: 0 !important;
    padding: 0 !important;
    position: absolute;
    top: 25px;
    right: 28px;
    pointer-events: none;
}

.top-header-content,
.top-header-content * { pointer-events: auto; }
.top-header-content { padding: 0 !important; gap: 0.75rem !important; }
.language-btn { color: rgba(255,255,255,.78) !important; padding: .4rem .55rem !important; }
.contact-btn {
    background: var(--lift-coral) !important;
    border: 1px solid var(--lift-coral) !important;
    border-radius: 5px !important;
    padding: .55rem 1rem !important;
    font-size: .72rem !important;
    letter-spacing: .08em !important;
}
.contact-btn:hover { background: #ff8b6e !important; border-color: #ff8b6e !important; color: #fff !important; }

.main-header,
.header-wrapper:not(.transparent-header) .main-header {
    min-height: 104px;
    padding: 0 !important;
    background: transparent !important;
}

.main-header .container-fluid { padding: 0 2rem !important; }
.main-header .container-fluid,
.top-header > .container-fluid {
    width: min(var(--site-content-width), calc(100% - (var(--site-content-gutter) * 2))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--site-content-gutter) !important;
    padding-right: var(--site-content-gutter) !important;
}
.top-header { left: 0; right: 0; }
.top-header > .container-fluid { display: flex; justify-content: flex-end; }
.navbar-brand-left { left: max(var(--site-content-gutter), calc((100% - var(--site-content-width)) / 2 + var(--site-content-gutter))) !important; }
.navbar-brand-left img {
    height: 64px !important;
    border-radius: 10px !important;
    padding: 4px !important;
    box-shadow: none !important;
}
.brand-text .brand-name {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 1.15rem !important;
    letter-spacing: .12em !important;
}
.brand-text .brand-tagline { color: rgba(255,255,255,.58) !important; letter-spacing: .08em !important; }
.main-nav-content { padding-left: 290px !important; padding-right: 160px !important; }
.navbar-nav { gap: .1rem !important; }
.main-nav-content > .search-icon { flex: 0 0 auto; margin-left: .75rem; }
.nav-link {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .8rem !important;
    letter-spacing: .04em !important;
    border-radius: 4px !important;
    padding: .55rem .75rem !important;
}
.nav-link:hover { background: rgba(255,255,255,.1) !important; }
.nav-link.active { background: var(--lift-forest) !important; }
.search-icon { padding: .6rem !important; }

/* Keep the utility controls clear of the last navigation link on medium desktops. */
@media (min-width: 992px) and (max-width: 1199px) {
    .header-wrapper,
    .header-wrapper.transparent-header,
    .header-wrapper:not(.transparent-header) { min-height: 148px !important; }
    .top-header { top: 8px !important; }
    .main-header,
    .header-wrapper:not(.transparent-header) .main-header { min-height: 148px !important; }
    .top-header-content { gap: .45rem !important; }
    .search-icon {
        align-items: center;
        display: flex;
        flex: 0 0 2rem;
        justify-content: center;
        padding: .35rem !important;
    }
    .navbar-nav { gap: 0 !important; }
    .nav-link {
        font-size: .74rem !important;
        padding-left: .55rem !important;
        padding-right: .55rem !important;
    }
}

.page-header {
    background: var(--lift-forest-dark) !important;
    color: #fff !important;
    padding: 8rem 0 4.5rem !important;
    position: relative;
    overflow: hidden;
}
.page-header::after {
    content: '';
    position: absolute;
    width: 22rem;
    height: 22rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    right: 8%;
    bottom: -13rem;
}
.page-header h1, .page-header h2, .page-header p { color: #fff !important; }

.about-hero h1, .about-hero h2,
.contact-hero h1, .contact-hero h2,
.news-hero h1, .news-hero h2,
.donate-hero h1, .donate-hero h2,
.legal-hero h1, .legal-hero h2,
.blog-hero h1, .blog-hero h2,
.event-hero h1, .event-hero h2,
.focus-hero h1, .focus-hero h2,
.focus-areas-hero h1, .focus-areas-hero h2,
.focus-area-hero h1, .focus-area-hero h2,
.post-hero h1, .post-hero h2,
.script-page-hero h1, .script-page-hero h2,
.involved-page-hero h1, .involved-page-hero h2 {
    color: #fff !important;
}

.about-hero,
.contact-hero,
.news-hero,
.donate-hero,
.legal-hero,
.blog-hero,
.event-hero,
.focus-hero,
.focus-areas-hero,
.focus-area-hero,
.post-hero {
    background-color: var(--lift-forest-dark) !important;
    background-blend-mode: multiply !important;
}
.about-hero::before,
.hero-overlay {
    background: linear-gradient(90deg, rgba(0,45,102,.88), rgba(0,45,102,.38)) !important;
}
.about-hero .hero-title,
.about-hero .hero-subtitle {
    color: #fff !important;
    text-shadow: none !important;
}
.section-title {
    font-family: 'Space Grotesk', sans-serif !important;
    color: var(--lift-forest) !important;
}

.btn,
.btn-why-exists,
.btn-watch-more,
.btn-cta,
.slide-btn {
    border-radius: 5px !important;
    font-family: 'DM Sans', sans-serif !important;
    letter-spacing: .02em;
}
.btn-success, .btn-primary, .btn-why-exists, .btn-watch-more, .btn-cta.primary {
    background: var(--lift-forest) !important;
    border-color: var(--lift-forest) !important;
}
.btn-success:hover, .btn-primary:hover, .btn-why-exists:hover, .btn-watch-more:hover { background: var(--lift-forest-dark) !important; }

.card, .signature-card, .sidebar-card {
    border-radius: 8px !important;
    border: 1px solid var(--lift-line) !important;
    box-shadow: 0 12px 30px rgba(10, 30, 61, .06) !important;
}
.signature-card { padding: 1.7rem 1.55rem !important; }
.signature-card::before { background: var(--lift-coral) !important; }
.signature-card .card-icon-badge {
    width: 52px !important;
    height: 52px !important;
    border-radius: 8px !important;
    background: var(--lift-sage) !important;
    color: var(--lift-forest) !important;
    box-shadow: none !important;
    font-size: 1.2rem !important;
}
.signature-card h3, .signature-card h4 { color: var(--lift-forest) !important; }
.form-control, .form-select { border-radius: 5px !important; border-color: var(--lift-line) !important; }
.form-control:focus, .form-select:focus { border-color: var(--lift-forest) !important; box-shadow: 0 0 0 .2rem rgba(0,74,173,.12) !important; }

.footer-main,
.footer-bottom-bar {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.modern-footer { padding: 0 !important; }
.footer-card { border-radius: 0 !important; }
.footer-container,
.footer-bottom-content {
    width: min(var(--site-content-width), calc(100% - (var(--site-content-gutter) * 2)));
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 991px) {
    .header-wrapper, .header-wrapper.transparent-header, .header-wrapper:not(.transparent-header) { min-height: 134px; }
    .main-header, .header-wrapper:not(.transparent-header) .main-header { min-height: 86px; }
    .top-header { top: 11px; right: 14px; }
    .navbar-brand-left { top: 62px !important; left: 1rem !important; transform: translateY(-50%) !important; width: auto !important; padding: 0 !important; }
    .main-nav-content { padding: 0 !important; }
    .main-header .container-fluid,
    .top-header > .container-fluid { width: 100% !important; padding-left: 1rem !important; padding-right: 1rem !important; }
    .main-header .navbar-toggler { position: absolute; right: 1rem; top: 1rem; border-radius: 5px; }
    .main-header .navbar-collapse { margin-top: 3.5rem !important; border-radius: 5px !important; background: var(--lift-forest-dark) !important; }
    .page-header { padding-top: 9rem !important; }
}

@media (max-width: 575px) {
    .header-wrapper, .header-wrapper.transparent-header, .header-wrapper:not(.transparent-header) { min-height: 124px; }
    .navbar-brand-left img { height: 49px !important; }
    .brand-text .brand-name { font-size: .9rem !important; }
    .top-header { top: 7px; right: 8px; }
    .language-btn { font-size: .78rem !important; }
    .contact-btn { display: none !important; }
    .page-header { padding: 7rem 0 3rem !important; }
    .footer-container,
    .footer-bottom-content { width: calc(100% - 2rem); }
}