.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);
    opacity:var(--overlay-opacity)
}
.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
}