html, body {
    overflow-x: clip;
}

:root :where(.wp-element-button, .wp-block-button__link) {
    transition: all .15s ease;
}

.wp-block-button__link.has-white-background-color:hover {
    background: var(--wp--preset--color--primary) !important;
    color: white !important;
}

/* Heading Sizes */
@media (min-width: 1024px) {
    body { font-size: 1.125rem; }
    h1.wp-block-heading { font-size: 3.5rem; }
    h2.wp-block-heading { font-size: 2.5rem; }
    h3.wp-block-heading { font-size: 2rem; }
    h4.wp-block-heading { font-size: 1.5rem; }
    h5.wp-block-heading { font-size: 1.25rem; }
    h6.wp-block-heading { font-size: 1.25rem; }
}

/* Hero Header */
.wp-block-acf-hero-header {
    min-height: 300px;

    background-image: url('../img/hero-header-bg-mobile.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom right;
}

@media all and (max-width: 1024px) {
    .wp-block-acf-hero-header { padding-bottom: 0 !important; }
}

@media all and (min-width: 1024px) {
    .wp-block-acf-hero-header {
        background-image: url('../img/hero-header-bg.svg');
        padding-bottom: 12.5rem !important;
    }
}

/* Header */
.wp-block-acf-header {
    min-height: 300px;

    background-image: url('../img/header-bg-mobile.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom right;
}

@media all and (max-width: 1024px) {
    .wp-block-acf-header { padding-bottom: 0 !important; }
}

@media all and (min-width: 1024px) {
    .wp-block-acf-header {
        background-image: url('../img/header-bg.svg');
        background-size: cover;
        background-position: bottom center;
        padding-bottom: 5rem !important;
    }
}

/* FAQS block */
.wp-block-acf-faqs {
    min-height: 300px;
    position: relative;
}

.wp-block-acf-faqs::before {
    content: "";
    display: block;
    position: absolute;
    top: 1.5rem;
    left: -50%;
    bottom: 0;
    width: 100%;
    transform: translateX(50%);

    background-image: url('../img/faq-background.svg');
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: top center;
}

@media all and (min-width: 1024px) {

    .wp-block-acf-faqs::before {
        background-size: cover;
    }

}

.wp-block-acf-faqs__inner {
    position: relative;
    z-index: 2;
}

.wp-block-acf-faqs__inner .wp-block-details summary {
    color: var(--wp--preset--color--primary);
    font-size: 1.125rem;
    line-height: 1.444em;
}

.wp-block-acf-faqs__inner .wp-block-details { border-bottom: 1px solid #DADADA; }
.wp-block-acf-faqs__inner .wp-block-details summary::-webkit-details-marker { display: none; } /* Disables marker in safari */
.wp-block-acf-faqs__inner .wp-block-details summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 1.25rem;
    padding-right: 2.25rem;
    cursor: pointer;
    position: relative;
}

.wp-block-acf-faqs__inner .wp-block-details summary::after,
.wp-block-acf-faqs__inner .wp-block-details summary::before {
    content: '';
    position: absolute;
    right: 10px;
    width: 16px;
    height: 2px;
    background: currentColor;
    transition: transform 0.3s ease;
}

.wp-block-acf-faqs__inner .wp-block-details summary::before { transform: rotate(90deg); }
.wp-block-acf-faqs__inner .wp-block-details[open] summary::before { transform: rotate(0deg); }
.wp-block-acf-faqs__inner .wp-block-details[open] summary::after { transform: rotate(180deg); }

.wp-block-acf-faqs__inner .wp-block-details p {
    margin: 0;
    margin-block-start: 0 !important;
    padding: 0 1.25rem 1.25rem;
    font-size: 1rem;
}

.wp-block-acf-faqs__inner .wp-block-details ul {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1rem;
}

/* CTA Block */
.wp-block-acf-cta-box,
.wp-block-acf-cta-box__inner {
    position: relative;
}

@media all and (min-width: 1024px) {
    .wp-block-acf-cta-box::before {
        content: "";
        display: block;
        position: absolute;
        width: 708px;
        height: 101px;
        top: 0;
        left: 0;
        background-image: url('../img/cta-top-left.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }
    .wp-block-acf-cta-box::after {
        content: "";
        display: block;
        position: absolute;
        width: 263px;
        height: 187px;
        bottom: 0;
        right: 0;
        background-image: url('../img/cta-bottom-right.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }
}

.wp-block-acf-cta-box .cta-box__inner { z-index: 2; }

@media all and (min-width: 1024px) {
    .wp-block-acf-cta-box .cta-box__inner::before {
        content: "";
        display: block;
        position: absolute;
        top: -6rem;
        left: 0;
        background: url('../img/slanted-dots-2.svg') top left no-repeat;
        background-size: 100% auto;
        width: 198px;
        height: 328px;
        z-index: 1;
    }
}

/* Downloads block */

.wp-block-acf-downloads {}
.wp-block-acf-downloads .downloads-block__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.wp-block-acf-downloads .downloads-block__item {
    background: white;
    box-shadow: var(--wp--preset--shadow--default-shadow);
    border-radius: 3px;

    display: flex;
    flex-direction: column;
    gap: 0;
    padding: var(--wp--preset--spacing--40);

    color: var(--wp--preset--color--primary);
    text-decoration: none;
    width: 100%;
    transition: all .15s ease;
}

.wp-block-acf-downloads .downloads-block__item:hover {
    transform: translateY(-5px);
    text-decoration: underline;
}


.wp-block-acf-downloads .downloads-block__image {
    padding: var(--wp--preset--spacing--40);
    background: #dadada;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: .5rem;
    position: relative;
}

.wp-block-acf-downloads .downloads-block__image::before {
    content: "";
    display: block;
    padding-top: 68.8%;
}

.wp-block-acf-downloads .downloads-block__image img { width: 50%; max-width: 50px; }

.wp-block-acf-downloads .downloads-block__item span.downloads-block__title { font-weight: 700; font-family: var(--wp--preset--font-family--din-2014); }
.wp-block-acf-downloads .downloads-block__item small {
    color: #757577;
    font-size: .75rem;
}
.wp-block-acf-downloads .downloads-block__item p {
    color: var(--wp--preset--color--dark-gray);
    font-size: 1rem;
    font-weight: 400;
    margin: .5rem 0 0;
}

@media all and (min-width: 768px) {
    .wp-block-acf-downloads .downloads-block__inner {
        display: flex;
        gap: 1rem;
        align-items: stretch;
    }

    .wp-block-acf-downloads .downloads-block__item { flex-basis: 50%; margin-block-start: 0 !important; }
}

/* Block Variation Styles */

.is-style-shadow-card {
    overflow: hidden;
    transition: all .15s ease;
} /* Other styles declared in theme.json */
.is-style-shadow-card.is-clickable { cursor: pointer; }
.is-style-shadow-card:hover { transform: translateY(-5px); }
.is-style-shadow-card.is-clickable:hover { text-decoration: underline; }

.is-style-slanted-dots,
.is-style-slanted-dots-left { position: relative; }
.is-style-slanted-dots::before,
.is-style-slanted-dots-left::before {
    content: "";
    background: url('../img/slanted-dots-1.svg') top right no-repeat;
    background-size: contain;
    width: 235px;
    height: 227px;
    position: absolute;
    top: -2rem;
    right: -6.25rem;
}

.is-style-slanted-dots-left::before {
    background: url('../img/slanted-dots-2.svg') top left no-repeat;
    width: 198px;
    height: 328px;
    top: -6rem;
    right: auto;
    left: -6.25rem;
}

/* Nasty edits */
@media (max-width: 768px) {
    .no-padding-mobile {
        padding: 0 !important;
    }
}


/* Blockquote */

.wp-block-pullquote { position: relative; }

.wp-block-pullquote::before {
    background-image: url("../img/quote.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    content: "";
    display: block;
    margin-right: 1rem;
    min-width: 65px;
    position: absolute;
    top: 1.5rem;
    left: 0;
    width: 65px;
    height: 55px;
}

.wp-block-pullquote blockquote { position: relative; z-index: 2; }
.wp-block-pullquote blockquote p {
    font-size: 1.5rem;
    line-height: 1.5;
    padding-left: 1rem;
}

.wp-block-pullquote blockquote cite {
    color: var(--wp--preset--color--dark-gray);
    font-size: 1rem;
    text-transform: none;
}

.wp-block-pullquote blockquote cite strong { font-size: 1.25rem; }

/* Providers List */
.wp-blocks-acf-providers {
    padding-bottom: 2rem;
}

.provider-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2.25rem 0;
    border-bottom: 1px solid #DADADA;
}

.provider-item__main { font-size: 1rem; }

.provider-item__main strong {
    color: var(--wp--preset--color--primary);
    display: block;
    margin-bottom: .5rem;
}

.provider-item__main p:first-child { margin: 0; }
.provider-item__main p { margin-bottom: 0; color: inherit; }

.provider-item__info { font-size: 0.9375rem; }
.provider-item__info p { margin: 0; }
.provider-item .social-links a { font-size: 1.5rem; }
.provider-item .social-links a i { color: var(--wp--preset--color--primary); }

@media all and (min-width: 1024px) {

    .provider-item {
        flex-direction: row;
        justify-content: flex-end;
        gap: 2.25rem;
    }

    .provider-item__image { flex: 0 0 182px; }
    .provider-item__image img { width: 100%; object-fit: contain; object-position: top; }

    .provider-item__main { flex: 1 0 35%; }
    .provider-item__info { flex: 1 0 30%; }

    .provider-item .social-links a { font-size: 1.75rem; }
}

/* Contact Form Overrides */
.gform-theme--foundation .gform_fields {
    --gf-form-gap-y: 1rem !important;
}