
body .h1,body .h1>*,body h1 {
    font-size: 36px;
    letter-spacing: .005em;
    line-height: 40px
}

.bg-gradient-vivid {
    background: linear-gradient(316deg, rgba(230, 249, 255, 1) 0%, rgba(251, 247, 235, 1) 80%, rgba(255, 252, 252, 1) 96%);    
    
}

:root {
    .breadcrumb li:not(:last-child)::after {
        display: inline-block;
        margin: 0 0.25rem;
        content: "→";
    }
}

.breadcrumb-item+.breadcrumb-item::before {
    float: right;
    padding-right: 0;
    color: transparent;
    content: "";
}

.has-reflection {
  position: relative;
  display: inline-block;
  line-height: 1;
}

.has-reflection::after {
  content: attr(data-text);
  position: absolute;
  top: 90%;
  left: 0;
  width: 100%;
  transform: scaleY(-1);
  opacity: 0.3;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, transparent 75%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, transparent 75%);
  pointer-events: none;
}

@media(min-width: 768px) {
    body .h1,body .h1>*,body h1 {
        font-size:46px;
        letter-spacing: .005em;
        line-height: 51px
    }
}

@media(min-width: 1200px) {
    body .h1,body .h1>*,body h1 {
        font-size:69px;
        letter-spacing: .005em;
        line-height: 76px
    }
}

body .h2,body .h2>*,body h2 {
    font-size: 30px;
    letter-spacing: .200000003px;
    line-height: 48px
}

@media(min-width: 768px) {
    body .h2,body .h2>*,body h2 {
        font-size:42px;
        letter-spacing: .200000003px;
        line-height: 67px
    }
}

@media(min-width: 1200px) {
    body .h2,body .h2>*,body h2 {
        font-size:42px;
        letter-spacing: .200000003px;
        line-height: 67px
    }
}

body .h3,body .h3>*,body h3 {
    font-size: 28px;
    letter-spacing: .200000003px;
    line-height: 45px
}

@media(min-width: 768px) {
    body .h3,body .h3>*,body h3 {
        font-size:35px;
        letter-spacing: .200000003px;
        line-height: 56px
    }
}

@media(min-width: 1200px) {
    body .h3,body .h3>*,body h3 {
        font-size:38px;
        letter-spacing: .005em;
        line-height: 61px
    }
}

body .h4,body .h4>*,body h4 {
    font-size: 25px;
    letter-spacing: .200000003px;
    line-height: 40px
}

@media(min-width: 768px) {
    body .h4,body .h4>*,body h4 {
        font-size:32px;
        letter-spacing: .200000003px;
        line-height: 51px
    }
}

@media(min-width: 1200px) {
    body .h4,body .h4>*,body h4 {
        font-size:36px;
        letter-spacing: .01em;
        line-height: 47px
    }
}

body .h5,body .h5>*,body h5 {
    font-size: 20px;
    letter-spacing: .200000003px;
    line-height: 32px
}

@media(min-width: 768px) {
    body .h5,body .h5>*,body h5 {
        font-size:22px;
        letter-spacing: .200000003px;
        line-height: 35px
    }
}

@media(min-width: 1200px) {
    body .h5,body .h5>*,body h5 {
        font-size:25px;
        letter-spacing: .01em;
        line-height: 32px
    }
}

body .h6,body .h6>*,body h6 {
    font-size: 16px;
    letter-spacing: .200000003px;
    line-height: 26px
}

@media(min-width: 768px) {
    body .h6,body .h6>*,body h6 {
        font-size:17px;
        letter-spacing: .200000003px;
        line-height: 27px
    }
}

@media(min-width: 1200px) {
    body .h6,body .h6>*,body h6 {
        font-size:19px;
        letter-spacing: .01em;
        line-height: 25px
    }
}

body .subheading {
    font-size: 1.125rem;
    line-height: 1.75rem
}

@media(min-width: 992px) {
    body .subheading {
        font-size:1.5rem;
        line-height: 2rem
    }
}

body ol>li,body ol>li>*,body p,body ul>li,body ul>li>* {
    font-family: Oxygen,sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 22px;
    text-align: left
}


@media (min-width: 1200px) {
  .pt-xl-164 {
    padding-top: 164px !important; /* !important ensures it wins over generic utilities if combined */
  }
}



section.social-frame h4 {
        font-size: 25px;
        letter-spacing: .200000003px;
        line-height: 40px;
        @media (min-width: 768px) {
            font-size: 32px;
            letter-spacing: .200000003px;
            line-height: 51px;
        }
        @media (min-width: 1200px) {
            font-size: 36px;
            letter-spacing: .01em;
            line-height: 47px;
        }
    }
    
    section.social-frame {
        position: relative;
        height: 350px;
        /* default height */
        /* Stack the gradient OVER the photo, both anchored to bottom */
        background-image: url("https://www.councilsepa.org/wp-content/themes/elevation-framework/build/images/home-social-feed-gradient.90ff26e9.png"), url("https://www.councilsepa.org/wp-content/smush-webp/2024/04/social-feed-image.jpg.webp");
        background-repeat: no-repeat, no-repeat;
        background-size: cover, cover;
        background-position: bottom center, bottom center;
    }
    /* ≥ 769px */
    
    @media (min-width: 769px) {
        section.social-frame {
            height: 500px;
        }
    }
    /* ≥ 1200px */
    
    @media (min-width: 1200px) {
        section.social-frame {
            height: 762px;
        }
}

        .btn-primary {
            background-color: #00543d !important;
            color: #fff !important;
        }

        body {
            font-family: "Oxygen", sans-serif;
        }
        .card-body h6 {
            color: #000;
            font-size: 0.9rem;
            margin-bottom: 1rem;
        }
        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
            font-family: "Lora", serif;
            font-weight: 700;
        }
        /* Loading spinner */
        .loading-spinner {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.8);
            z-index: 9999;
            justify-content: center;
            align-items: center;
        }
        .loading-spinner.active {
            display: flex;
        }
        .btn-outline-primary {
            --bs-btn-color: #55298a;
            --bs-btn-border-color: #55298a;
            --bs-btn-hover-color: lavender;
            --bs-btn-hover-bg: #55298a;
            --bs-btn-hover-border-color: #55298a;
            --bs-btn-focus-shadow-rgb: 13, 110, 253;
            --bs-btn-active-color: lavender;
            --bs-btn-active-bg: #55298a;
            --bs-btn-active-border-color: #55298a;
            --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
            --bs-btn-disabled-color: #55298a;
            --bs-btn-disabled-bg: transparent;
            --bs-btn-disabled-border-color: #55298a;
            --bs-gradient: none;
            margin: 0.25em 0.1em;
        }


        .announcementCard {
            border: 1px solid #d5d6d8;
            background-color: white;
            border-radius: 1px;
            box-shadow: 0 4px 13px rgba(84, 41, 137, .1);
            margin-bottom: 1.5rem;
            transition: all .4s ease;
            min-width: 250px;
        }
        .announcementCard:hover {
            transform: translateY(-5px);
            box-shadow: 0 4px 13px rgba(84, 41, 137, .25);
            border: 1px solid #55298a;
        }
        .card-badge {
            display: inline-block;
            cursor: pointer;
            background-color: #f5ebf3;
            color: #55298a;
            border-radius: 2px;
            margin-right: 5px;
            margin-bottom: 5px;
            font-family: Oxygen, sans-serif;
            font-size: 16px;
            font-weight: 400;
            letter-spacing: 1.35px;
            line-height: 1em;
            padding: 0.4em 0.5em;
        }
        .card-body h6 {
            line-height: 1em;
            margin-bottom: 0.15em;
        }
        p {
            font-family: Oxygen, sans-serif;
            letter-spacing: .02em;
            font-size: .875rem;
            font-weight: 400;
            color: #000000;
            line-height: 22px;
            overflow-wrap: break-word;
            white-space: normal;
            word-break: break-word;
        }
        h1 {
            color: #55298a;
            margin-bottom: 0.5rem;
            line-height: 1em;
        }
        h3 {
            color: #55298a;
            margin-bottom: 0.5rem;
            line-height: 1em;
        }
        h5 {
            margin-bottom: 1rem;
            line-height: 1em;
        }
        .error-message {
            background-color: #f8d7da;
            border: 1px solid #f5c2c7;
            color: #842029;
            padding: 1rem;
            border-radius: 4px;
            margin: 1rem 0;
        }
        .no-announcements {
            text-align: center;
            padding: 3rem;
            color: #6c757d;
        }


        .interior-banner h1 {
            font-size: 36px;
            @media (min-width: 768px) {
                font-size: 46px;
            }
            @media (min-width: 1200px) {
                font-size: 64px;
            }
        }
        /* Interior Banner Container Heights */
        .interior-banner .container {
            min-height: 462px;
            padding: 280px 10 40px;
        }
        @media (min-width: 768px) {
            .interior-banner .container {
                min-height: 482px;
                padding: 340px 0 40px;
            }
        }
        @media (min-width: 1200px) {
            .interior-banner .container {
                min-height: 630px;
                padding: 440px 0 40px;
            }
        }
        /* Category variant (if needed) */
        .interior-banner.category .container {
            min-height: 500px;
            padding-bottom: 90px;
        }
        .has-gradient {
            position: relative;
        }

        .full-height {
            @media (min-width: 992px) {
                height: 100vh !important;    
            }
        }

        .has-gradient::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0));
            pointer-events: non;
        }


        .interior-banner .container {
            position: relative;
            z-index: 2;
        }