.image-with-text-overlay__grid {
  display: grid;
  grid-template: auto / auto;
  min-height: var(--height-mobile, auto);
  width: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

@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 img,
.image-with-text-overlay__mobile-image--original img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.image-with-text-overlay__desktop-image--original .icon--placeholder { height: 550px; width: 100%; }
.image-with-text-overlay__mobile-image--original .icon--placeholder { height: 500px; width: 100%; }

.image-with-text-overlay__cropped-image,
.image-with-text-overlay__desktop-image--cropped,
.image-with-text-overlay__mobile-image--cropped {
  height: 100%;
  width: 100%;
}

.image-with-text-overlay__cropped-image img,
.image-with-text-overlay__desktop-image--cropped img,
.image-with-text-overlay__mobile-image--cropped img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@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 {
  min-height: var(--height-mobile, auto);
  width: 100%;
}

@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; height: 100%; width: 100%; }
.image-with-text-overlay__grid--background::after {
  background-color: var(--overlay-color);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.image-with-text-overlay__grid--foreground {
  display: flex;
  padding: 15px;
  position: relative;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
}

@media only screen and (min-width: 768px) {
  .image-with-text-overlay__grid--foreground { padding: 60px; }
}

.image-with-text-overlay__caption-solid-bg {
  padding: 15px;
  border-radius: 8px;
}

@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%;
  box-sizing: border-box;
  word-break: break-word;
}

.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__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 {
    bottom: 15px;
    position: sticky;
    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) * 0.75);
}

@media only screen and (min-width: 768px) {
  .image-with-text-overlay__buttons { gap: var(--grid-spacing); }
}

.image-with-text-overlay__section-link { z-index: 1; display: block; width: 100%; height: 100%; }

.image-with-text-overlay__heading,
.image-with-text-overlay__text p { margin: 0; }

.image-with-text-overlay__disclaimer {
  position: absolute;
  bottom: 15px;
  left: 15px;
  padding: 10px;
  text-align: left;
  max-width: calc(100% - 30px);
  z-index: 1;
  pointer-events: auto;
  box-sizing: border-box;
}

@media only screen and (min-width: 768px) {
  .image-with-text-overlay__disclaimer {
    bottom: 60px;
    left: 60px;
    max-width: fit-content;
  }
}

.image-with-text-overlay__disclaimer .richtext-block p {
  margin: 0;
  font-size: 11px;
  color: inherit;
  font-family: var(--body-font-family);
}