.section-file-download-block {
    margin-block: 8rem;
}

.section-file-download-block .region {
    max-width: var(--content-width-narrow);
    margin-inline-start: var(--margin-left-align);
}

.section-file-download-block .region h3 {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-gray-dark);
    margin-bottom: 1rem;
    line-height: 2.8rem;
}

.section-file-download-block .region > p {
    margin-bottom: 2rem;
}

.section-file-download-block .wrap {
    background: var(--color-gray-light-web);
    display: grid;
    grid-template-columns: 0.5fr 3fr 1fr;
    padding: 2.25rem;
    align-items: center;
    margin-top: 2rem;
}

@supports selector(:has(+ *)) {

    .section-file-download-block .wrap span:has(svg) {
        justify-self: center;
        display: flex;
    }
}

.section-file-download-block .wrap :where(span > svg) span {
    justify-self: center;
    display: flex;
}

.section-file-download-block .wrap .file-type svg {
    width: 3.8rem;
    height: 4.9rem;
    margin-left: -0.75rem;
}

.section-file-download-block .wrap .file-type svg path {
    stroke: none;
}

.section-file-download-block .wrap h4 {
    margin-inline-start: 2rem;
    color: var(--color-gray-dark);
    margin-block: 0;
}

.section-file-download-block .wrap .download-button {

    transition: background-color 250ms ease-in-out;
    justify-self: flex-end;
    margin-right: 2rem;
}

.section-file-download-block .wrap .download-button svg {
    min-height: 4.4rem;
    min-width: 4.4rem;
    max-height: 4.4rem;
    max-width: 4.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem;
    align-self: center;
    justify-self: flex-end;
    background-color: var(--color-brand-navy);
    transition: background-color 250ms ease-in-out;
    border-radius: 0.5rem;
}

.section-file-download-block .wrap .download-button svg path {
    fill: var(--color-primary-white);
    transition: fill 250ms ease-in-out;
}

.section-file-download-block .wrap:hover .download-button svg {
    background-color: var(--color-brand-pale-blue);
    transition: background-color 250ms ease-in-out;
}

.section-file-download-block .wrap:hover .download-button svg path {
    fill: var(--color-brand-navy);
    transition: fill 250ms ease-in-out;
}

a.file-download-container:hover {
    background: none !important;
}

@media screen and (max-width: 85em) {
    @supports selector(:has(+ *)) {

        section.content-components:not(:has(.side-bar-nav)) .narrow-left-aligned {
            display: grid !important;
            gap: 0 !important;
        }
    }
    section.content-components.without-sidebar .narrow-left-aligned {
        display: grid !important;
        gap: 0 !important;
    }

    .section-file-download-block {
        margin-block: 2rem;
    }
}

@media screen and (max-width: 900px) {
    @supports selector(:has(+ *)) {

        section.content-components:not(:has(.side-bar-nav)) .section-file-download-block .narrow-left-aligned {
            display: block !important;
            gap: 0 !important;
            margin-inline: 0;
            padding: 0 3vw;
        }
    }
    section.content-components.without-sidebar .section-file-download-block .narrow-left-aligned {
        display: block !important;
        gap: 0 !important;
        margin-inline: 0;
        padding: 0 3vw;
    }

    .section-file-download-block {
        margin-block: 2rem;
    }
}

@media screen and (max-width: 65em) {
    .section-file-download-block .region {
        margin-inline-start: auto;
        margin-inline: 2rem;
    }
}

@media screen and (max-width: 25em) {
    .section-file-download-block .wrap .download-button {
        margin-right: 0;
    }
}
