﻿@font-face
{
    font-family: FontAwesome;
    src: url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg) format("svg");
}
@font-face
{
    font-family: DM Sans;
    src: url(https://d177u6cr05yfp1.cloudfront.net/fonts/DMSans-Bold.woff2) format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face
{
    font-family: DM Sans;
    src: url(https://d177u6cr05yfp1.cloudfront.net/fonts/DMSans-Medium.woff2) format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face
{
    font-family: DM Sans;
    src: url(https://d177u6cr05yfp1.cloudfront.net/fonts/DMSans-Regular.woff2) format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@layer legacy{h1{font-family:DM Sans;font-size:32px;letter-spacing:.02em;line-height:122%;font-weight:700;color:var(--purple-1);margin-bottom:24px}h2{font-family:DM Sans;font-size:22px;letter-spacing:.02em;line-height:122%;font-weight:700;color:var(--purple-1);margin-bottom:24px}h3,h4,h5,h6{font-family:DM Sans;font-size:16px;letter-spacing:.02em;line-height:140%;font-weight:500;color:var(--purple-1);margin-bottom:24px}p{font-family:DM Sans;font-size:16px;letter-spacing:.02em;line-height:140%;font-weight:400;color:var(--purple-2);margin-bottom:24px}p p{margin-bottom:15px}p a{color:var(--purple-2);font-weight:700}p a:hover{color:var(--purple-4)}.article-post_body h3{font-size:18px}}
.homepage__hero
{
    display: grid;
    grid-template-areas: "content" "image";
    gap: 48px;
    margin-bottom: 300px;
}
@media screen and (min-width: 600px)
{
    .homepage__hero
    {
        margin-bottom: 0;
    }
}
@media screen and (min-width: 1000px)
{
    .homepage__hero
    {
        place-items: center;
        grid-template-areas: "content image";
    }
}
.homepage__hero .hero__content .content__tagline h3
{
    font-family: DM Sans;
    font-size: 22px;
    letter-spacing: .02em;
    line-height: 122%;
    font-weight: 700;
    color: var(--purple-2);
}
.homepage__hero .hero__content .content__headline
{
    margin-top: 20px;
}
.homepage__hero .hero__content .content__headline h1
{
    font-family: DM Sans;
    font-size: 40px;
    font-weight: 700;
    line-height: 110%;
    color: var(--purple-1);
}
@media screen and (min-width: 768px)
{
    .homepage__hero .hero__content .content__headline h1
    {
        font-family: DM Sans;
        font-size: 60px;
        font-weight: 700;
        line-height: 110%;
    }
}
.homepage__hero .hero__content .content__search-form
{
    margin-top: 16px;
}
@media screen and (min-width: 768px)
{
    .homepage__hero .hero__content .content__search-form
    {
        margin-top: 40px;
    }
}
.homepage__hero .hero__hero-image
{
    position: relative;
    max-width: max-content;
    justify-self: end;
    width: 90%;
}
.homepage__hero .hero__hero-image .hero-image__picture
{
    max-width: 650px;
    width: 100%;
    height: auto;
    border-radius: 15px;
}
.homepage__hero .hero__hero-image .hero-image__floating-fact
{
    position: absolute;
    --bg-color: #e99b4c;
    padding: 24px;
    background-color: var(--bg-color);
    border-radius: var(--border-radius-medium);
    max-width: 180px;
}
.homepage__hero .hero__hero-image .hero-image__floating-fact.top-left
{
    bottom: -12%;
    left: -40px;
}
@media screen and (min-width: 600px)
{
    .homepage__hero .hero__hero-image .hero-image__floating-fact.top-left
    {
        top: 10%;
        left: -70px;
        bottom: unset;
    }
}
.homepage__hero .hero__hero-image .hero-image__floating-fact.bottom-right
{
    bottom: -185px;
    right: 0;
}
@media screen and (min-width: 600px)
{
    .homepage__hero .hero__hero-image .hero-image__floating-fact.bottom-right
    {
        bottom: 5%;
        right: -20px;
    }
}
.homepage__hero .hero__hero-image .hero-image__floating-fact .floating-fact__strong
{
    font-weight: 700;
    font-size: 26px;
    color: #fff;
    line-height: 24px;
}
.homepage__hero .hero__hero-image .hero-image__floating-fact .floating-fact__regular
{
    font-family: DM Sans;
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 140%;
    font-weight: 400;
    font-size: 14px;
    margin-top: 6px;
    color: #fff;
}
.homepage__hero .hero__hero-image .hero-image__floating-fact .floating-fact__regular p
{
    margin-bottom: 15px;
}
.homepage__resource-ctas
{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
    margin-top: 80px;
}
@media screen and (min-width: 768px)
{
    .homepage__resource-ctas
    {
        gap: 25px;
    }
}
.homepage__resource-ctas .resource-ctas__resource-card>div
{
    height: 100%;
}
@media screen and (min-width: 768px)
{
    .homepage__resource-ctas .resource-ctas__resource-card
    {
        width: 31%;
    }
}
.homepage__article-search
{
    gap: 40px;
    margin-top: 100px;
}
@media screen and (min-width: 786px)
{
    .homepage__article-search
    {
        display: flex;
        justify-content: center;
    }
}
.homepage__article-search .article-search__header
{
    font-family: DM Sans;
    font-size: 22px;
    letter-spacing: .02em;
    line-height: 122%;
    font-weight: 700;
    max-width: 30ch;
    margin: 0 auto;
    color: var(--purple-1);
    text-align: center;
}
@media screen and (min-width: 768px)
{
    .homepage__article-search .article-search__header
    {
        text-align: left;
        margin: 0;
    }
}
.homepage__article-search .article-search__form
{
    margin: 20px auto 0;
    width: 320px;
    max-width: 100%;
    --input-value-color: var(--purple-2);
}
@media screen and (min-width: 768px)
{
    .homepage__article-search .article-search__form
    {
        margin: 0;
    }
}
.homepage__article-search .article-search__form .resource-search-breakout__form
{
    margin: unset;
}
.homepage__marketing-cards
{
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 100px;
}
@media screen and (min-width: 1000px)
{
    .homepage__marketing-cards
    {
        flex-direction: row;
        justify-content: center;
    }
}
.homepage__marketing-cards .marketing-cards__marketing-card>div
{
    height: 100%;
}
@media screen and (min-width: 1000px)
{
    .homepage__marketing-cards .marketing-cards__marketing-card
    {
        max-width: 560px;
    }
}
.homepage__marketing-cards .marketing-cards__marketing-card .card__content
{
    flex: 2 1 auto;
}
.homepage__marketing-cards .marketing-cards__marketing-card .card__image
{
    flex: 0 1 200px;
}
@media screen and (min-width: 1150px)
{
    .homepage__marketing-cards .marketing-cards__marketing-card .card__image
    {
        flex-shrink: 0;
    }
}
.homepage__marketing-cards .marketing-cards__marketing-card .card__image img
{
    width: 100%;
    height: auto;
}
.gutter--regular
{
    padding-left: 16px;
    padding-right: 16px;
}
@media screen and (min-width: 375px)
{
    .gutter--regular
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 768px)
{
    .gutter--regular
    {
        padding-left: 36px;
        padding-right: 36px;
    }
}
.gutter--large
{
    padding-left: 16px;
    padding-right: 16px;
}
@media screen and (min-width: 375px)
{
    .gutter--large
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 768px)
{
    .gutter--large
    {
        padding-left: 144px;
        padding-right: 144px;
    }
}
.constrained-width
{
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}
.constrained-width--article
{
    max-width: 730px;
    margin: 0 auto;
}
.constrained-width.basic-page, .constrained-width.city-page
{
    max-width: 1024px;
    margin: 0 auto;
}
.constrained-width.events-page--show
{
    max-width: 730px;
    margin: 0 auto;
}
.constrained-width.events-page--new, .constrained-width.news-page, .constrained-width--error
{
    max-width: 1024px;
    margin: 0 auto;
}
.block-scroll
{
    overflow: hidden;
}
.page-blur
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #000000b3;
    z-index: 2;
}
.no-ads .google-auto-placed
{
    display: none;
    visibility: hidden;
}
.before-page-footer
{
    padding-bottom: 280px;
}
@media screen and (min-width: 500px)
{
    .before-page-footer
    {
        padding-bottom: 210px;
    }
}
.gradient--cream-grey
{
    background: linear-gradient(180deg,#f6f1ee,#f6f1ee00);
}
.gradient--cream-grey .topics-list__container
{
    background: #fff;
}
.homepage__about
{
    display: grid;
    grid-template-areas: "content" "video";
    margin-top: 100px;
    min-height: 670px;
    grid-template-rows: 2fr 1.5fr;
}
@media screen and (min-width: 1000px)
{
    .homepage__about
    {
        padding-left: 16px;
        padding-right: 16px;
        grid-template-areas: "video content";
        grid-template-columns: 2fr 1fr;
        grid-template-rows: unset;
        gap: 26px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 375px)
{
    .homepage__about
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 768px)
{
    .homepage__about
    {
        padding-left: 36px;
        padding-right: 36px;
    }
}
.homepage__about .about__video .video-image-container
{
    width: 95%;
    height: 100%;
    min-height: 50vh;
    padding: 50px 0;
    margin: 0 auto;
}
.homepage__about .about__video .video-image-container iframe
{
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 1000px)
{
    .homepage__about .about__video .video-image-container
    {
        width: 100%;
        min-height: unset;
        height: 100%;
        padding: 0;
        margin: 0;
    }
}
.homepage__about .about__content
{
    grid-area: content;
    display: flex;
}
.homepage__about .about__content .card--standard-with-tagline
{
    border-radius: 0;
}
@media screen and (min-width: 1000px)
{
    .homepage__about .about__content .card--standard-with-tagline
    {
        border-radius: var(--border-radius-medium);
    }
}
.homepage__common-questions
{
    margin-top: 100px;
}
.homepage__common-questions .common-questions__header h2
{
    font-family: DM Sans;
    font-size: 32px;
    letter-spacing: .02em;
    line-height: 122%;
    font-weight: 700;
    color: var(--purple-1);
}
@media screen and (min-width: 1000px)
{
    .homepage__common-questions .common-questions__header h2
    {
        text-align: center;
    }
}
.homepage__common-questions .common-questions__questions
{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 40px auto 0;
    max-width: 1035px;
}
@media screen and (min-width: 1000px)
{
    .homepage__common-questions .common-questions__questions
    {
        justify-content: center;
    }
}
.homepage__common-questions .common-questions__questions a
{
    font-family: DM Sans;
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 140%;
    font-weight: 400;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    color: var(--purple-2);
    text-align: left;
}
.homepage__common-questions .common-questions__questions a p
{
    margin-bottom: 15px;
}
@media screen and (min-width: 768px)
{
    .homepage__common-questions .common-questions__questions a
    {
        min-width: max-content;
    }
}
.homepage__common-questions .common-questions__buttons
{
    display: flex;
    gap: 12px;
    margin-top: 20px;
}
@media screen and (min-width: 768px)
{
    .homepage__common-questions .common-questions__buttons
    {
        margin-top: 50px;
    }
}
@media screen and (min-width: 1000px)
{
    .homepage__common-questions .common-questions__buttons
    {
        justify-content: center;
    }
}
.homepage__resources
{
    margin-top: 120px;
}
.homepage__resources .resources__header
{
    font-family: DM Sans;
    font-size: 32px;
    letter-spacing: .02em;
    line-height: 122%;
    font-weight: 700;
    color: var(--purple-1);
}
.homepage__resources .resources__text
{
    font-family: DM Sans;
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 140%;
    font-weight: 400;
    margin-top: 8px;
    color: var(--purple-2);
}
.homepage__resources .resources__text p
{
    margin-bottom: 15px;
}
.homepage__see-more
{
    display: flex;
    justify-content: center;
    margin-top: 42px;
}
.homepage__see-more .button
{
    flex-grow: 1;
    font-family: DM Sans;
    font-size: 16px;
    min-width: 155px;
}
@media screen and (min-width: 500px)
{
    .homepage__see-more .button
    {
        flex-grow: 0;
    }
}
.homepage__donations
{
    background: var(--purple-1);
    margin-top: 72px;
    padding: 48px 0;
}
@media screen and (min-width: 1000px)
{
    .homepage__donations
    {
        margin-top: 145px;
        padding: 150px 0;
    }
}
.homepage__donations .donations__content
{
    padding-left: 16px;
    padding-right: 16px;
}
@media screen and (min-width: 375px)
{
    .homepage__donations .donations__content
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 768px)
{
    .homepage__donations .donations__content
    {
        padding-left: 36px;
        padding-right: 36px;
    }
}
@media screen and (min-width: 768px)
{
    .homepage__donations .donations__content
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 36px;
    }
}
@media screen and (min-width: 1000px)
{
    .homepage__donations .donations__content
    {
        padding-left: 16px;
        padding-right: 16px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 375px)
{
    .homepage__donations .donations__content
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 768px)
{
    .homepage__donations .donations__content
    {
        padding-left: 144px;
        padding-right: 144px;
    }
}
.homepage__donations .donations__header h2
{
    font-family: DM Sans;
    font-size: 32px;
    letter-spacing: .02em;
    line-height: 122%;
    font-weight: 700;
    color: #fff;
}
.homepage__donations .donations__header p
{
    font-family: DM Sans;
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 140%;
    font-weight: 400;
    margin-top: 8px;
    color: #fff;
}
.homepage__donations .donations__header p p
{
    margin-bottom: 15px;
}
.homepage__donations .donations__button
{
    margin-top: 30px;
}
@media screen and (min-width: 768px)
{
    .homepage__donations .donations__button
    {
        margin-top: 0;
    }
}
.homepage__donations .donations__cards
{
    display: grid;
    align-items: stretch;
    gap: 18px;
    margin-top: 55px;
    padding-left: 16px;
    padding-right: 16px;
    grid-template-columns: repeat(2,minmax(120px,1fr));
}
@media screen and (min-width: 375px)
{
    .homepage__donations .donations__cards
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 768px)
{
    .homepage__donations .donations__cards
    {
        padding-left: 36px;
        padding-right: 36px;
    }
}
@media screen and (min-width: 768px)
{
    .homepage__donations .donations__cards
    {
        grid-template-columns: repeat(4,minmax(120px,1fr));
    }
}
@media screen and (min-width: 1000px)
{
    .homepage__donations .donations__cards
    {
        padding-left: 16px;
        padding-right: 16px;
        grid-template-columns: repeat(2,minmax(270px,1fr));
    }
}
@media screen and (min-width: 1000px) and (min-width: 375px)
{
    .homepage__donations .donations__cards
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 768px)
{
    .homepage__donations .donations__cards
    {
        padding-left: 144px;
        padding-right: 144px;
    }
}
@media screen and (min-width: 1440px)
{
    .homepage__donations .donations__cards
    {
        grid-template-columns: repeat(4,minmax(270px,1fr));
    }
}
.homepage__newsletter-signup
{
    margin-top: 100px;
    display: flex;
    justify-content: center;
}
.homepage__newsletter-signup .signup__container
{
    max-width: 1035px;
    width: 100%;
}
@media screen and (min-width: 768px)
{
    .homepage__events
    {
        background: var(--cream-2);
    }
}
.upcoming-events-section__events
{
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 65px;
}
@media screen and (min-width: 375px)
{
    .upcoming-events-section__events
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 768px)
{
    .upcoming-events-section__events
    {
        padding-left: 36px;
        padding-right: 36px;
    }
}
@media screen and (min-width: 1000px)
{
    .upcoming-events-section__events
    {
        padding-left: 16px;
        padding-right: 16px;
        padding-top: 115px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 375px)
{
    .upcoming-events-section__events
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 1000px) and (min-width: 768px)
{
    .upcoming-events-section__events
    {
        padding-left: 144px;
        padding-right: 144px;
    }
}
.upcoming-events-section__events .events__header h2
{
    font-family: DM Sans;
    font-size: 32px;
    letter-spacing: .02em;
    line-height: 122%;
    font-weight: 700;
    color: var(--purple-1);
}
@media screen and (min-width: 768px)
{
    .upcoming-events-section__events .events__header h2
    {
        padding: 0;
        text-align: center;
    }
}
.upcoming-events-section__events .events__cards
{
    margin-top: 56px;
    gap: 22px;
}
@media screen and (max-width: 768px)
{
    .upcoming-events-section__events .events__cards .event-card
    {
        padding-left: 0;
        padding-right: 0;
    }
}
@media screen and (min-width: 768px)
{
    .upcoming-events-section__events .events__cards
    {
        display: grid;
        grid-template-columns: repeat(auto-fill,minmax(365px,1fr));
    }
}
.upcoming-events-section__events .events__buttons
{
    padding-left: 16px;
    padding-right: 16px;
    display: flex;
    justify-content: center;
    margin-top: 48px;
}
@media screen and (min-width: 375px)
{
    .upcoming-events-section__events .events__buttons
    {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (min-width: 768px)
{
    .upcoming-events-section__events .events__buttons
    {
        padding-left: 36px;
        padding-right: 36px;
    }
}
.upcoming-events-section__events .events__buttons .button
{
    flex-grow: 1;
    font-family: DM Sans;
    font-size: 16px;
    min-width: 155px;
}
@media screen and (min-width: 500px)
{
    .upcoming-events-section__events .events__buttons .button
    {
        flex-grow: 0;
    }
}