.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,
.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: 280px
}

.image-with-text-overlay__mobile-image--original .icon--placeholder {
  height: 340px
}

.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: 6rem 1rem 3rem; */
  padding: 3.5rem 3.75rem;
}

/* @media only screen and (min-width:768px) {
  .image-with-text-overlay__grid--foreground {
    padding: 3.5rem 3.75rem;
  }
} */

.image-with-text-overlay__caption-solid-bg {
  padding: 40px 24px;
}

/* @media only screen and (min-width:768px) {
  .image-with-text-overlay__caption-solid-bg {
    padding: 32px
  }
} */

.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: 8px
}

.image-with-text-overlay__buttons .button {
  min-width: unset;
  width: 100%;
}

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

  .image-with-text-overlay__buttons .button {
    min-width: 156px;
    width: auto;
  }
}

.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;
  max-width: 960px;
  /* text-wrap: balance; */
}

.image-with-text-overlay__text p {
  /* color: var(--color-content-weak); */
}

.image-with-text-overlay__caption .text-with-icon .text-with-icon--content {
  align-items: center;
}

.image-with-text-overlay__caption .text-with-icon .text-with-icon--content .text-with-icon--icon {
  padding: .625rem;
  border: 1px solid #fff;
  background-color: rgb(255, 255, 255, .2);
  border-radius: 50%;
}