/* GROW Rural Indiana — Custom CSS */

/* Google Fonts — Open Sans (body) + Montserrat (headings) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,600;0,700;0,800;1,400&family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');


/* ============================================================
   Global
   ============================================================ */

:target {
    scroll-margin-top: 8rem !important;
}

body.adaptive {
    --color-navy: #015390;
    --color-surface: #ebedf0;
    --color-border: #9E9E9E;
    --color-light-blue: #e6f3f9;
    --color-mid-blue: #009ad0;
    --color-yellow: #f3ce3b;

    --font-heading: "Montserrat", "Helvetica", Arial, sans-serif;

    --color-text: #333;

    font-family: "Open Sans", "Helvetica", Arial, sans-serif;
    color: var(--color-text);
    background-color: #fff;

    & article > section {
        padding: 0;
        width: calc(100% - 6rem);
        max-width: 2000px;
        margin: 0 auto 2rem;

        & > * {
            max-width: none !important;
        }

        @media (max-width: 991.98px) {
            width: 90vw;
        }
    }

    & article > section.hero-section {
        margin-top: 0;
        margin-bottom: 0;

        & .video-hero-container {
            width: 100%;
            max-width: none;
            margin-bottom: 0;
        }
    }

    & main {
        margin-top: 1px;

        & a {
            color: var(--color-navy);

            &:hover {
                color: var(--color-navy);
                text-decoration: underline;
            }
        }

        & .h2, & h2 {
            @media (min-width: 576px) {
                font-size: 2rem;
            }
        }

        & .h3, & h3 {
            @media (min-width: 576px) {
                font-size: 1.5rem;
            }
        }
    }

    & .overlay a,
    & footer a {
        color: var(--color-navy);

        &:hover {
            color: var(--color-navy);
        }
    }

    & footer a:hover {
        text-decoration: underline;
    }

    & h1, & h2, & h3, & h4 {
        color: var(--color-navy) !important;
        font-weight: 800;
        line-height: 1.4;
    }

    & h1, & h2, & h3 {
        font-family: var(--font-heading);
    }

    & h4 {
        font-size: 1.25rem;
    }

    & h5 {
        color: var(--color-navy) !important;
        font-weight: 700;
        line-height: 1.4;
    }

    & h6 {
        color: var(--color-navy) !important;
        font-weight: 700;
        line-height: 1.4;
    }

    & .row,
    & hr {
        max-width: none;
    }

    & main article {
        background-color: #fff;
    }

    & main article section .row > div[class*=col] .generic-content-wrap {
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        background-color: transparent;
    }


    /* ============================================================
       Focus Styles
       ============================================================ */

    & .nav-link:focus-visible,
    & .btn:focus-visible,
    & button:focus-visible,
    & a:focus-visible {
        outline: 3px solid #007DB8 !important;
        outline-offset: 3px !important;
        box-shadow: none !important;
    }


    /* ============================================================
       Modals
       ============================================================ */

    & .modal-backdrop { z-index: 10010; }
    & .modal { z-index: 10020; }


    /* ============================================================
       Menu
       ============================================================ */

    & .overlay {
        top: 6.25rem !important;
        height: calc(100vh - 6.25rem) !important;

        @media (max-width: 575.98px) {
            top: 5rem !important;
            height: calc(100vh - 5rem) !important;
        }
    }


    /* ============================================================
       Header
       ============================================================ */

    & header {
        position: sticky !important;
        top: 0 !important;
        z-index: 10000;
        background-color: #fff;
        padding: 1.25rem 2rem;
        min-height: 5rem;

        @media (max-width: 575.98px) {
            padding: 1rem;
        }

        & #header_elem-list {
            flex-wrap: nowrap;

            @media (max-width: 575.98px) {
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 0.75rem;
            }

            & .nav-link {
                font-size: 1rem;
                font-weight: 700;
                color: var(--color-navy);
                padding: 0.5rem 0.75rem;
                white-space: nowrap;
            }

            & #header_agency-logo {
                padding: 0 1.5rem;
                flex-shrink: 0;
                max-height: 4rem;

                & a {
                    display: inline-block;
                    line-height: 0;
                }

                & img {
                    height: 70px !important;
                    max-height: none !important;
                    width: auto;
                    display: block;
                }
            }

            & #header_agency-logo-mobile {
                & a {
                    display: flex;
                    justify-content: center;
                }

                & img {
                    height: 3rem;
                    max-height: 3rem;
                    width: auto;
                    display: block;
                }
            }

            & button.search-button {
                font-size: 1rem;
                font-weight: 600;
                background-color: #007DB8;
                color: #fff;
                padding: 0.75rem 2.75rem;
                border-radius: 3rem;
                border: none;
                cursor: pointer;
                white-space: nowrap;
                flex-shrink: 0;
            }
        }

        /*
         * Hamburger — visible at ALL sizes.
         * Override the globally-leaked marketing block that sets spans to white at md+.
         */
        & #top-menu-nav-btn {
            display: flex;
            background-color: transparent;

            @media (max-width: 575.98px) {
                position: fixed;
                bottom: 1.5rem;
                left: 1.5rem;
                z-index: 10001;
            }

            & button#button_main-menu {
                background-color: transparent;
                border: none;
                box-shadow: none;

                &:hover, &:focus {
                    background-color: transparent;
                    border: none;
                    box-shadow: none;
                }

                & .button-container#toggle {
                    & span {
                        background: var(--color-navy);
                    }

                    & .icon-text {
                        color: var(--color-navy);
                    }
                }

                @media (max-width: 575.98px) {
                    background-color: #007DB8;
                    border: 2px solid #fff;
                    border-radius: 0.5rem;
                    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
                    padding: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    transition: none;
                    transform: none;

                    &:hover, &:focus, &:active {
                        background-color: #007DB8;
                        border: 2px solid #fff;
                        border-radius: 0.5rem;
                        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
                        transform: none;
                        outline: none;
                        opacity: 1;
                    }

                    & .button-container#toggle {
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;
                        width: 4.25rem;
                        height: 4.25rem;
                        padding: 0.85rem;
                        gap: 0;
                        transition: none;

                        & span {
                            background: #fff;
                            width: 1.5rem;
                            height: 0.175rem;
                            display: block;
                            margin-bottom: 0.3rem;
                            margin-left: 0;
                            border-radius: 2px;
                            transition: none;

                            &:last-of-type {
                                margin-bottom: 0;
                            }
                        }

                        & .icon-text {
                            color: #fff;
                            font-size: 0.7rem;
                            font-weight: 700;
                            margin-top: 0.35rem;
                            margin-left: 0;
                            letter-spacing: 0.08em;
                            transition: none;
                        }
                    }

                    &:hover .button-container#toggle,
                    &:focus .button-container#toggle {
                        & span {
                            background: #fff;
                            margin-left: 0;
                        }

                        & .icon-text {
                            color: #fff;
                            margin-left: 0;
                        }
                    }
                }
            }
        }
    }


    /* ============================================================
       Search Modal
       ============================================================ */

    & #searchModal {
        background-color: var(--color-surface);
        border: none;
        padding: 1.25rem 0.5rem;
        border-radius: 2rem;
        overflow: visible;

        & #header_search-list {
            background-color: #fff;
            border: 1px solid var(--color-border);
            border-radius: 1rem;
            display: flex;
            flex: 1;
            flex-wrap: wrap;
            list-style: none;
            margin: 0;
            padding: 0.25rem;
            position: relative;

            & > li {
                flex: none;

                &:nth-child(2) { flex: 1; }

                &#button_voice-search {
                    display: none;
                    background-color: #fefefe;
                    border: 1px solid #fefefe;
                    color: #184A8C;
                    padding-left: 0.7rem;
                    padding-right: 0.7rem;
                }

                & input {
                    background: none;
                    z-index: 101;
                }
            }

            & > li button,
            & > li input {
                border: none;
                box-shadow: none;
                margin: 0;
            }
        }

        & .twitter-typeahead {
            width: 100%;
        }

        & .tt-menu {
            background-color: #fff;
            border: 1px solid #b1cdf2;
            border-radius: 10px;
            box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
            font-size: 0.9rem;
            margin: 0.5rem 0;
            min-width: 240px;
            overflow: hidden;
            width: 100%;
            z-index: 10001 !important;

            &.tt-open .tt-dataset .tt-suggestion {
                line-height: 1.2rem;
                padding: 0.6rem;
                position: relative;
            }
        }
    }


    /* ============================================================
       Internal Banner
       ============================================================ */

    & #subpage-banner-container {
        width: calc(100% - 6rem);
        max-width: 2000px;
        margin: 0 auto 2rem;
        border-radius: 3rem;

        @media (max-width: 991.98px) {
            width: 90vw;
            border-radius: 1.5rem;
        }
    }

    & main #subpage-banner-container #subpage-banner-overlay {
        border-radius: 3rem;
        padding: 2rem 3rem;
        background-color: rgba(0, 0, 0, 0.5);

        @media (max-width: 575.98px) {
            border-radius: 1.5rem;
            padding: 2rem 1rem;
        }

        @media (max-width: 991.98px) {
            border-radius: 1.5rem;
        }

        & #subpage-banner-width {
            background-color: transparent;
            box-shadow: none;
            border-radius: 0;
            max-width: 100%;
            width: 100%;
            padding: 0;

            & h1 {
                flex: 1 0 49%;
                text-align: left;
                font-size: 2.5rem;
                line-height: 1.3;
                display: inline-block;
                margin: 0;
                padding: 0;
                color: #fff !important;

                @media (max-width: 991.98px) {
                    width: initial;
                    text-align: center;
                    font-size: 2rem;
                }
            }

            & ul#subpage-breadcrumbs {
                flex: 1 1 51%;
                text-align: right;
                justify-content: flex-end;
                border-top: none;
                padding: 0;
                color: #fff;

                & li, & li a {
                    color: #fff;
                }

                @media (max-width: 991.98px) {
                    width: initial;
                    text-align: center;
                }
            }

            & ul::before {
                content: none;
            }
        }
    }

    & #subpage-banner-width {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        width: 100%;

        @media (max-width: 575.98px) {
            flex-direction: column;
            align-items: center;
        }
    }


    /* ============================================================
       Rotating Banner
       ============================================================ */

    & .container_rotating-banner.adaptive {
        width: calc(100% - 6rem);
        max-width: 2000px;
        margin: 0 auto 2rem;
        border-radius: 3rem;

        @media (max-width: 991.98px) {
            width: 90vw !important;
        }

        & .slide-info-wrap {
            background: linear-gradient(0deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%);
            padding: 3rem 6rem;

            @media (max-width: 575.98px) {
                padding: 2rem 3rem;
            }

            & h2 {
                font-family: var(--font-heading);
                font-size: 3rem;

                &.name {
                    color: var(--color-navy) !important;
                    text-shadow: none;

                    @media (min-width: 576px) {
                        margin-bottom: 10rem;
                    }
                }
            }
        }
    }

    &#home {
        & .container_rotating-banner.adaptive .glide__controls {
            display: none;
        }

        & .glide__slides .glide__slide .slide-info-wrap {
            & > p {
                @media (min-width: 576px) {
                    margin-bottom: 10rem;
                }

                & img {
                    filter: drop-shadow(2px 2px 2px rgba(255, 255, 255, 0.6));
                }
            }

            & .btn {
                font-size: 1.5rem;
                font-weight: 200;
            }
        }
    }


    /* ============================================================
       Video Hero
       ============================================================ */

    & .video-hero-container {
        position: relative;
        width: calc(100% - 6rem);
        max-width: 2000px;
        margin: 0 auto 2rem;
        border-radius: 3rem;
        overflow: hidden;
        min-height: 600px;
        display: flex;
        align-items: center;
        justify-content: center;

        @media (max-width: 991.98px) {
            width: 90vw;
            min-height: 350px;
            border-radius: 1.5rem;
        }

        @media (max-width: 575.98px) {
            width: 100%;
            min-height: 280px;
            border-radius: 1rem;
        }

        & .video {
            position: absolute;
            inset: 0;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
        }

        & .hero-text {
            position: relative;
            z-index: 1;
            background-color: rgba(255, 255, 255, 0.88);
            border-radius: 2rem;
            padding: 2.5rem 3rem;
            text-align: center;
            max-width: 420px;

            @media (max-width: 575.98px) {
                padding: 1.5rem 2rem;
                max-width: 280px;
            }

            & p {
                margin-bottom: 1.5rem;

                & img {
                    max-width: 280px;
                    width: 100%;

                    @media (max-width: 575.98px) {
                        max-width: 200px;
                    }
                }
            }

            & .btn {
                background-color: #007DB8;
                color: #fff;
                border: none;
                border-radius: 3rem;
                padding: 0.875rem 2.5rem;
                font-size: 1.1rem;
                font-weight: 600;
                display: inline-block;

                &:hover {
                    background-color: #005f8e;
                    color: #fff;
                }
            }
        }
    }


    /* ============================================================
       Section Cards (Squiz legacy background classes)
       ============================================================ */
.grow-info-cardlist { .row:has(.grow-info-card) {
  justify-content: center;
}
}
 .grow-info-card {
    background-color: #ebedf0;
    padding: 2rem 2rem 1rem 2rem;
    border-radius: 3rem;
    margin-bottom: 2rem;
 }

    /* Shared light-blue card base */
    & .light-blue-bg,
    & .green-bg {
        background-color: var(--color-light-blue);
        border-radius: 3rem;
        margin: 0 auto 2rem;
        padding: 3rem 4rem;

        @media (max-width: 991.98px) {
            padding: 2rem;
            border-radius: 1.5rem;
        }
    }

    & .light-blue-bg {
        width: calc(100% - 6rem);
        max-width: 2000px;

        @media (max-width: 991.98px) {
            width: 90vw;
        }

        & .row {
            --bs-gutter-x: 2rem;
            align-items: center;
        }

        & .video-container {
            border-radius: 1.5rem;
            overflow: hidden;
        }

        /* Button group spacing — replaces inline style="margin-right: 1rem" */
        & p > .btn {
            margin-right: 1rem;
            margin-bottom: 0.75rem;

            @media (max-width: 575.98px) {
                display: block;
                width: 100%;
                margin-right: 0;
                margin-bottom: 1.25rem;
                text-align: center;
            }
        }
    }

    & .dark-blue-bg {
        background-color: var(--color-navy);
        border-radius: 3rem;
        margin: 0 auto 2rem;
        padding: 3rem 4rem;

        & h2, & p {
            color: #fff !important;
        }

        @media (max-width: 991.98px) {
            padding: 2rem;
            border-radius: 1.5rem;
        }
    }

    /* Strategic Goals subtitle */
    & .goals-subtitle {
        margin-bottom: 2rem;
    }

    /* Strategic Goal cards */
    & .blue-bg {
        background-color: var(--color-surface);
        border-radius: 1.5rem;
        padding: 2rem;

        &.home-card {
            height: 100%;
        }

        & img {
            margin-bottom: 1rem;
        }
    }

    /* Grant pill badge */
    & .green-pill {
        display: inline-block;
        background-color: var(--color-navy);
        color: #fff;
        padding: 0.4rem 1.25rem;
        border-radius: 3rem;
        font-weight: 700;
        font-size: 0.95rem;
        margin-bottom: 1rem;
    }

    /* YouTube / video iframe wrapper — 16:9 aspect ratio */
    & .video-container {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        border-radius: 1.5rem;
        overflow: hidden;

        & iframe {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: none;
        }
    }


    /* ============================================================
       Multi-Column Container
       ============================================================ */

    & .multi-column-container {
        & .row {
            --bs-gutter-y: 0.5rem;
        }

        @media (max-width: 575.98px) {
            width: 100%;
            padding: 0 1.5rem;
        }

        &.gray-background {
            background-color: var(--color-surface);
            padding: 2rem 3rem 0.5rem;
            border-radius: 3rem;
            margin-bottom: 2rem;

            @media (max-width: 991.98px) {
                width: 90vw;
                margin-bottom: 5vw;
                padding: 2rem 2rem 0.25rem;
                border-radius: 1.5rem;
            }

            @media (max-width: 575.98px) {
                width: 100%;
                padding: 1.5rem;

                & > section > .row {
                    padding: 0.5rem;

                    & img {
                        border-radius: 1rem;
                    }
                }
            }
        }
    }


    /* ============================================================
       Card
       ============================================================ */

    & .card {
        background-color: var(--color-surface);
        border: none;
        padding: 1.5rem 1.5rem 0.5rem;
        margin: 1.5rem 0;
        display: flex;
        line-height: 1.4;

        &.justify {
            justify-content: center;
        }

        & *:last-child {
            margin-bottom: 1rem;
        }

        &.blue {
            background-color: var(--color-navy);
            color: #fff;

            & h3, & a {
                background-color: var(--color-navy);
                color: #fff;
                font-weight: 700;
                text-decoration: none;
            }

            & a:hover {
                color: #fff;
                text-decoration: underline;
            }
        }

        & img {
            max-height: 100px;
        }
    }

    & img.rounded {
        border-radius: 3rem !important;
    }

    /* Shared pill shape + white-bg hover for all content buttons */
    & .button,
    & .btn.btn-primary,
    & .btn.btn-secondary {
        border-radius: 3rem !important;
        padding: 0.875rem 2.5rem !important;
        border: 2px solid transparent !important;

        &:hover {
            background-color: #fff !important;
            text-decoration: none !important;
        }
    }

    & .btn.btn-primary {
        color: #fff !important;

        &:hover {
            border-color: #007DB8 !important;
            color: #007DB8 !important;
        }
    }

    /* Squiz-style a.button.secondary links */
    & a.button.secondary {
        background-color: var(--color-yellow);
        color: var(--color-navy) !important;
        border-radius: 3rem;
        padding: 0.875rem 2.5rem;
        border: 2px solid transparent;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 1;
        margin-bottom: 0.5rem;

        &:hover {
            background-color: #fff;
            border-color: var(--color-yellow);
            color: var(--color-navy) !important;
            text-decoration: none;
        }
    }

    & .btn.btn-secondary {
        background-color: var(--color-yellow) !important;
        color: var(--color-navy);

        &:hover {
            border-color: var(--color-yellow) !important;
            color: var(--color-navy) !important;
        }
    }

    /*
     * Specificity fix: accessibility-colors.scss sets color: $white !important on
     * [class*="-container"] and [class*="-wrap"] descendants. This wins via (0,7,3).
     */
    & main article [class*="-container"]:not(.info):not(.adaptive) .btn.btn-secondary,
    & main article [class*="-wrap"]:not(.info):not(.adaptive) .btn.btn-secondary {
        color: var(--color-navy) !important;

        &:hover {
            color: var(--color-navy) !important;
        }
    }

    & .alert {
        border: none;
        color: #333;
    }

    & tbody tr:nth-child(2n) {
        background-color: unset;
    }

    & table {
        border: 1px solid var(--color-border) !important;
        border-radius: 0 !important;
    }

    & table th {
        background-color: #f8f8f8 !important;
        color: var(--color-text) !important;
    }

    & table td {
        background-color: #fff !important;
        color: var(--color-text) !important;
    }


    /* ============================================================
       Hover Cards
       ============================================================ */

    & .hover-cards {
        width: 100%;
        margin: 0 auto;
        background-color: transparent;

        @media (max-width: 575.98px) {
            padding: 0 0.5rem;
        }

        & .row {
            justify-content: flex-start;
        }

        & .btn.btn-primary {
            border-color: #fff !important;
        }

        & .card-container {
            background-color: var(--color-surface);
            border: none;
            line-height: 1.4;
            aspect-ratio: 1 / 1;

            & .card-base-content {
                width: 100%;

                & .card-icon img {
                    min-height: 80px;
                    max-height: 100px;
                }
            }

            & .card-hover-content {
                & h3 {
                    color: #fff;
                    line-height: 1.3;

                    @media (max-width: 575.98px) {
                        font-size: 1.1rem;
                        line-height: 1.3rem;
                    }
                }

                & p {
                    @media (max-width: 575.98px) {
                        font-size: 0.9rem;
                        line-height: 1rem;
                    }
                }

                & .btn {
                    @media (max-width: 575.98px) {
                        padding: 0.75rem 2rem;
                    }
                }
            }
        }
    }


    /* ============================================================
       Tabs
       ============================================================ */

    & .tabs-container {
        background-color: var(--color-surface);
        border-radius: 3rem;

        @media (max-width: 991.98px) {
            max-width: 90vw;
            margin-bottom: 5vw;
            padding: 2rem;
            border-radius: 1.5rem;
        }

        @media (max-width: 575.98px) {
            border-radius: 0.75rem;
            padding: 1rem;
        }
    }

    & article > div .tabs-container {
        width: calc(100% - 6rem);
        max-width: 2000px;
        margin: 0 auto 2rem;
        padding: 3rem;
    }

    & main article section.tabs-container {
        & .nav-tabs {
            background-color: #fff;

            & .nav-item {
                margin-right: 0.75rem;

                &:last-of-type {
                    margin-right: 0;
                }
            }

            & .nav-link {
                color: var(--color-navy);
                background-color: #fff;
                font-size: 1.25rem;
                font-family: var(--font-heading);
                border-top-left-radius: 2rem;
                border-top-right-radius: 2rem;
                border: 1px solid var(--color-border);
                padding: 1.5rem 1rem 1rem;

                &:hover {
                    background-color: #fff !important;
                }

                &.active {
                    border-bottom: 0;
                }

                @media (max-width: 991.98px) {
                    border-top-left-radius: 0.75rem;
                    border-top-right-radius: 0.75rem;
                }
            }
        }

        & .tab-content {
            border-bottom-left-radius: 2rem;
            border-bottom-right-radius: 2rem;
            border: 1px solid var(--color-border);

            @media (max-width: 991.98px) {
                border-bottom-left-radius: 0.75rem;
                border-bottom-right-radius: 0.75rem;
            }
        }
    }


    /* ============================================================
       Accordion
       ============================================================ */

    & .accordion-container {
        max-width: 2000px;
        margin: 0 auto 2rem;
        padding-inline: 0;
        background-color: transparent;

        & .accordion-wrapper {
            background-color: transparent;
            box-shadow: none;

            @media (max-width: 575.98px) {
                padding: 0;
            }
        }

        @media (max-width: 991.98px) {
            max-width: 90vw;
            margin-bottom: 5vw;
        }
    }

    & main article section .accordion {
        border: none;
        gap: 0.5rem;

        @media (max-width: 575.98px) {
            padding: 0.5rem;
        }

        & .accordion-item {
            overflow: auto;
            border: solid 1px transparent;
            transition: border-color 0s;

            & .accordion-button {
                font-weight: 600;
                background-color: #f8f8f8 !important;
                color: var(--color-navy);
                border-radius: 0;

                &::after {
                    filter: none;
                }

                &:hover {
                    background-color: var(--color-surface) !important;
                }
            }

            &:has(.accordion-button:not(.collapsed)) {
                border-color: var(--color-border);
            }
        }

        & .accordion-button:not(.collapsed) {
            background-color: #f8f8f8 !important;
            border-bottom: solid 1px var(--color-border);
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
            color: var(--color-navy);
        }

        & .accordion-body {
            background-color: #fff;

            & a.button {
                display: inline-block;
                background-color: #007DB8;
                color: #fff;
                border-radius: 3rem;
                padding: 0.875rem 2.5rem;
                font-size: 0.9rem;
                line-height: 1;
                text-decoration: none;
                margin-bottom: 0.5rem;

                &:hover {
                    background-color: #005f8e;
                    color: #fff;
                    text-decoration: none;
                }
            }

            & hr {
                display: block;
                width: 100%;
                border-top: 1px solid var(--color-border);
                opacity: 1;
            }
        }
    }


    /* ============================================================
       Icon Buckets
       ============================================================ */

    & .icon-buckets-wrap {
        background-color: #007DB8;
        padding: 2.5rem 2rem 2rem !important;
        border-radius: 3rem;

        @media (max-width: 991.98px) {
            padding: 1.5rem 1rem 1rem !important;
            border-radius: 1.5rem;
        }

        @media (max-width: 575.98px) {
            padding: 0 !important;
        }

        & .icon-bucket-content {
            position: relative;
            background-color: var(--color-surface);
            padding: 2rem 1.25rem 1rem;
            border-radius: 0.75rem;
            margin-top: 1.5rem;
            height: calc(100% - 1.5rem);

            & .icon {
                position: absolute;
                top: -1.5rem;
                left: 50%;
                transform: translateX(-50%);

                & span {
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    background-color: #007DB8;
                    color: #fff;
                    fill: #fff;
                    width: 50px;
                    height: 50px;
                    border: 1px solid #fff;
                    border-radius: 50%;
                    font-size: 1.25rem;
                    animation: rotate-vert-center 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
                }
            }

            & p.title {
                font-size: 1.25rem;
                color: var(--color-navy);
                font-weight: 400;
                padding-bottom: 1rem;
                margin-bottom: 0.5rem;
                border-bottom: 1px solid var(--color-border);
            }

            & a.button {
                display: inline-block;
                background-color: #007DB8;
                color: #fff;
                border-radius: 3rem;
                padding: 0.875rem 2.5rem;
                font-size: 0.9rem;
                line-height: 1;
                text-decoration: none;
                margin-bottom: 0.5rem;

                &:hover {
                    background-color: #005f8e;
                    color: #fff;
                    text-decoration: none;
                }
            }

            & hr {
                display: block;
                width: 100%;
                border-top: 1px solid var(--color-border);
                opacity: 1;
            }
        }
    }

     /* ============================================================
       marketing block override
       ============================================================ */
    div.marketing-section{
        box-shadow: none;
        & .button:hover {
                    background-color: #fff !important;
                    color: var(--color-navy) !important;
                    border: 2px solid var(--color-navy) !important;
                }
    }
    div.marketing-section .marketing-section-image {
        box-shadow: none;
    }

    /* ============================================================
       Pre-Footer
       ============================================================ */

    & #prefooter,
    & #prefooter-content {
        color: #fff;
        margin: 0 auto;
        background-color: var(--color-navy);
        padding: 3rem 4rem;
        border-radius: 3rem;

        & h2 {
            color: #fff !important;
        }

        @media (max-width: 991.98px) {
            padding: 2rem;
            border-radius: 1.5rem;
        }

        & .sign-up-form {
            & input[type=text],
            & input[type=email],
            & input[type=submit] {
                width: 100%;
                border: none;
                border-radius: 3rem;
                box-sizing: border-box;
                font-size: 1.25rem;
                margin: 0;
            }

            & input[type=text],
            & input[type=email] {
                padding: 1.75rem 2rem;

                &:focus {
                    border: none;
                    box-shadow: none;
                    transition: none;
                }
            }

            & input[type=submit] {
                text-transform: uppercase;
                font-weight: 700;
            }
        }
    }


    /* ============================================================
       Footer
       ============================================================ */

    & footer {
        @media (max-width: 575.98px) {
            font-size: 0.9rem;
            text-align: center;
        }

        & > section {
            width: calc(100% - 6rem);
            max-width: 2000px;
            margin: 0 auto 2rem;
            background-color: var(--color-surface);
            padding: 4rem;
            border-radius: 3rem;
            color: var(--color-navy);

            @media (max-width: 991.98px) {
                width: 90vw;
                margin-bottom: 5vw;
                padding: 2rem;
                border-radius: 1.5rem;

                & > .row > [class*="col-"]:not(:last-child),
                & > .row > .col:not(:last-child) {
                    margin-bottom: 2rem;
                }
            }

            @media (max-width: 575.98px) {
                padding: 1.5rem !important;
            }

            & h3 {
                font-family: var(--font-heading);
                color: var(--color-navy);
                font-size: 1rem;
                font-weight: 800;
                text-transform: uppercase;
                letter-spacing: 0.05em;
                margin-bottom: 1.5rem;

                @media (max-width: 575.98px) {
                    margin-bottom: 0.5rem;
                }
            }

            & [class*="col-"] p,
            & .col p {
                font-weight: 600;
                margin-bottom: 0.25rem;
            }

            & hr.divider {
                border-top: 3px solid var(--color-navy);
                border-bottom: none;
                margin: 2rem 0;
            }

            & .btn.btn-secondary {
                padding: 0.4375rem 1.25rem !important;
            }

            & .row.social {
                & [class*="col-"],
                & .col {
                    text-align: center;

                    & a {
                        font-size: 2rem;
                        padding: 0 1rem;
                        color: var(--color-navy);
                    }

                    & img {
                        display: block;
                        max-width: 180px;
                        margin: 0 auto 1rem;
                    }
                }
            }
        }
    }

    & .copyright {
        @media (max-width: 575.98px) {
            font-size: 0.75rem;
        }
    }
}


/* ============================================================
   Keyframes
   ============================================================ */

@keyframes rotate-vert-center {
    0%   { transform: rotateY(0); }
    100% { transform: rotateY(360deg); }
}


/* ============================================================
   Skip Links
   ============================================================ */

.skip-link {
    position: absolute;
    top: -100%;
    left: 1rem;
    z-index: 99999;
    background-color: #fff;
    color: var(--color-navy);
    padding: 0.75rem 1.5rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 3rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);

    &::after {
        content: '↵ ENTER';
        background-color: #007DB8;
        color: #fff;
        font-size: 0.75rem;
        padding: 0.25rem 0.6rem;
        border-radius: 3rem;
        margin-left: 0.75rem;
        vertical-align: middle;
    }

    &:focus {
        top: 1rem;
        color: var(--color-navy);
        text-decoration: none;
        outline: 3px solid #007DB8;
        outline-offset: 3px;
    }
}


/* ============================================================
   Footer — Theme Overrides
   ============================================================ */

#footer_global {
    background-color: transparent;

    & a {
        color: var(--color-navy) !important;
    }
}
