.image-with-text-overlay__grid
{
    display:grid;
    grid-template:auto/auto;
    min-height:var(--height-mobile,auto)
}
@media screen and (min-width:768px)
{
    .image-with-text-overlay__grid
    {
        min-height:var(--height-desktop,auto)
    }
}
.image-with-text-overlay__grid--background,
.image-with-text-overlay__grid--foreground,
.image-with-text-overlay__section-link
{
    grid-column:1/2;
    grid-row:1/2
}
.image-with-text-overlay__desktop-image--original *,
.image-with-text-overlay__mobile-image--original *
{
    height:100%
}
.image-with-text-overlay__desktop-image--original img,
.image-with-text-overlay__mobile-image--original img
{
    object-fit:cover
}
.image-with-text-overlay__desktop-image--original .icon--placeholder
{
    height:550px
}
.image-with-text-overlay__mobile-image--original .icon--placeholder
{
    height:500px
}
.image-with-text-overlay__cropped-image,
.image-with-text-overlay__desktop-image--cropped,
.image-with-text-overlay__mobile-image--cropped
{
    height:100%
}
@media screen and (max-width:767px)
{
    .image-with-text-overlay__desktop-image--cropped,
    .image-with-text-overlay__desktop-image--original
    {
        display:none
    }
}
@media screen and (min-width:768px)
{
    .image-with-text-overlay__mobile-image--cropped,
    .image-with-text-overlay__mobile-image--original
    {
        display:none
    }
}
.image-with-text-overlay__cropped-placeholder svg
{
    width:100%;
    min-height:var(--height-mobile,auto)
}
@media screen and (min-width:768px)
{
    .image-with-text-overlay__cropped-placeholder svg
    {
        min-height:var(--height-desktop,auto)
    }
}
.image-with-text-overlay__grid--background
{
    position:relative
}
.image-with-text-overlay__grid--background:after
{
    content:"";
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:var(--overlay-color)
}
.image-with-text-overlay__grid--foreground
{
    padding:15px
}
@media only screen and (min-width:768px)
{
    .image-with-text-overlay__grid--foreground
    {
        padding:60px
    }
}
.image-with-text-overlay__caption-solid-bg
{
    padding:15px
}
@media only screen and (min-width:768px)
{
    .image-with-text-overlay__caption-solid-bg
    {
        padding:30px
    }
}
.image-with-text-overlay__caption
{
    display:inline-block;
    max-width:100%
}
.image-with-text-overlay__caption--align-mobile-left
{
    text-align:left
}
.image-with-text-overlay__caption--align-mobile-left .image-with-text-overlay__page div
{
    text-align:left!important
}
.image-with-text-overlay__caption--align-mobile-left .image-with-text-overlay__buttons,
.image-with-text-overlay__caption--align-mobile-left .text-with-icon--content
{
    justify-content:flex-start
}
.image-with-text-overlay__caption--align-mobile-center
{
    text-align:center
}
.image-with-text-overlay__caption--align-mobile-center .image-with-text-overlay__page div
{
    text-align:center!important
}
.image-with-text-overlay__caption--align-mobile-center .image-with-text-overlay__buttons,
.image-with-text-overlay__caption--align-mobile-center .text-with-icon--content
{
    justify-content:center
}
.image-with-text-overlay__caption--align-mobile-right
{
    text-align:right
}
.image-with-text-overlay__caption--align-mobile-right .image-with-text-overlay__page div
{
    text-align:right!important
}
.image-with-text-overlay__caption--align-mobile-right .image-with-text-overlay__buttons,
.image-with-text-overlay__caption--align-mobile-right .text-with-icon--content
{
    justify-content:flex-end
}
@media only screen and (min-width:768px)
{
    .image-with-text-overlay__caption
    {
        max-width:var(--caption-width-desktop)
    }
    .image-with-text-overlay__caption--align-desktop-left
    {
        text-align:left
    }
    .image-with-text-overlay__caption--align-desktop-left .image-with-text-overlay__page div
    {
        text-align:left!important
    }
    .image-with-text-overlay__caption--align-desktop-left .image-with-text-overlay__buttons,
    .image-with-text-overlay__caption--align-desktop-left .text-with-icon--content
    {
        justify-content:flex-start
    }
    .image-with-text-overlay__caption--align-desktop-center
    {
        text-align:center
    }
    .image-with-text-overlay__caption--align-desktop-center .image-with-text-overlay__page div
    {
        text-align:center!important
    }
    .image-with-text-overlay__caption--align-desktop-center .image-with-text-overlay__buttons,
    .image-with-text-overlay__caption--align-desktop-center .text-with-icon--content
    {
        justify-content:center
    }
    .image-with-text-overlay__caption--align-desktop-right
    {
        text-align:right
    }
    .image-with-text-overlay__caption--align-desktop-right .image-with-text-overlay__page div
    {
        text-align:right!important
    }
    .image-with-text-overlay__caption--align-desktop-right .image-with-text-overlay__buttons,
    .image-with-text-overlay__caption--align-desktop-right .text-with-icon--content
    {
        justify-content:flex-end
    }
}
.image-with-text-overlay__grid--foreground
{
    display:flex
}
.image-with-text-overlay__text--position-mobile-top_left
{
    align-items:flex-start;
    justify-content:flex-start
}
.image-with-text-overlay__text--position-mobile-top_center
{
    align-items:flex-start;
    justify-content:center
}
.image-with-text-overlay__text--position-mobile-top_right
{
    align-items:flex-start;
    justify-content:flex-end
}
.image-with-text-overlay__text--position-mobile-left
{
    align-items:center;
    justify-content:flex-start
}
.image-with-text-overlay__text--position-mobile-center
{
    align-items:center;
    justify-content:center
}
.image-with-text-overlay__text--position-mobile-right
{
    align-items:center;
    justify-content:flex-end
}
.image-with-text-overlay__text--position-mobile-bottom_left
{
    align-items:flex-end;
    justify-content:flex-start
}
.image-with-text-overlay__text--position-mobile-bottom_center
{
    align-items:flex-end;
    justify-content:center
}.image-with-text-overlay__text--position-mobile-bottom_right
{
    align-items:flex-end;
    justify-content:flex-end
}
@media only screen and (min-width:768px)
{
    .image-with-text-overlay__text--position-desktop-top_left
    {
        align-items:flex-start;
        justify-content:flex-start
    }
    .image-with-text-overlay__text--position-desktop-top_center
    {
        align-items:flex-start;
        justify-content:center
    }
    .image-with-text-overlay__text--position-desktop-top_right
    {
        align-items:flex-start;
        justify-content:flex-end
    }
    .image-with-text-overlay__text--position-desktop-left
    {
        align-items:center;
        justify-content:flex-start
    }
    .image-with-text-overlay__text--position-desktop-center
    {
        align-items:center;
        justify-content:center
    }
    .image-with-text-overlay__text--position-desktop-right
    {
        align-items:center;
        justify-content:flex-end
    }
    .image-with-text-overlay__text--position-desktop-bottom_left
    {
        align-items:flex-end;
        justify-content:flex-start
    }
    .image-with-text-overlay__text--position-desktop-bottom_center
    {
        align-items:flex-end;
        justify-content:center
    }
    .image-with-text-overlay__text--position-desktop-bottom_right
    {
        align-items:flex-end;
        justify-content:flex-end
    }
}
@media screen and (prefers-reduced-motion:no-preference)
{
    .sticky_content .image-with-text-overlay__grid--foreground
    {
        min-height:var(--height-mobile,auto)
    }
}
@media screen and (prefers-reduced-motion:no-preference) and (min-width:768px)
{
    .sticky_content .image-with-text-overlay__grid--foreground
    {
        min-height:var(--height-desktop,auto)
    }
}
@media screen and (prefers-reduced-motion:no-preference)
{
    .sticky_content .image-with-text-overlay__grid--foreground .image-with-text-overlay__caption
    {
        position:sticky;
        bottom:15px;
        top:calc(var(--sticky-header-mobile-height) + 15px)
    }
}
@media screen and (prefers-reduced-motion:no-preference) and (min-width:768px)
{
    .sticky_content .image-with-text-overlay__grid--foreground .image-with-text-overlay__caption
    {
        bottom:60px;
        top:calc(var(--sticky-header-desktop-height) + 60px)
    }
}
.image-with-text-overlay__buttons
{
    display:flex;
    flex-wrap:wrap;
    gap:calc(var(--grid-spacing) * .75)
}
@media only screen and (min-width:768px)
{
    .image-with-text-overlay__buttons{gap:var(--grid-spacing)
    }
}
.image-with-text-overlay__grid--foreground,.image-with-text-overlay__section-link
{
    z-index:1
}
.image-with-text-overlay__heading,
.image-with-text-overlay__text p
{
    margin:0
}