.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;
  gap: 10px;
}
@media only screen and (min-width: 768px) {
  .image-with-text-overlay__buttons {
    gap: 20px;
  }
}
.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;
}
