/**
 * Default clearfix implementation.
 *
 * @usage
 *    .box {
 *      @include clearfix;
 *    }
 */
/**
 * Casts a string into a number.
 *
 * @param {string} $value
 *    Tje string to cast to a number.
 * @return {$number}
 *    The value as number.
 */
/**
 * Split a string into a list of strings.
 *
 * @param {string} $string
 *    Tje string to be split.
 * @param {string} $delimiter
 *    The boundary string.
 * @return {list} $result
 *    The result list.
 */
.image-text > h3, .image-text > h2 {
  margin-bottom: 1rem;
  text-align: left;
  grid-area: headline;
  max-width: 900px;
}
.image-text .image-text__media {
  grid-area: image;
  margin-bottom: 1rem;
  width: 100%;
  height: auto;
}
.image-text .image-text__media a {
  display: block;
}
.image-text .image-text__media figure, .image-text .image-text__media img, .image-text .image-text__media svg, .image-text .image-text__media iframe {
  width: 100%;
  height: auto;
}
.image-text .image-text__text {
  grid-area: text;
}
.image-text.media-position--top .image-text__media, .image-text.media-position--bottom .image-text__media {
  text-align: center;
}
.image-text.media-position--top .image-text__media figure, .image-text.media-position--top .image-text__media img, .image-text.media-position--top .image-text__media svg, .image-text.media-position--top .image-text__media iframe, .image-text.media-position--bottom .image-text__media figure, .image-text.media-position--bottom .image-text__media img, .image-text.media-position--bottom .image-text__media svg, .image-text.media-position--bottom .image-text__media iframe {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
  text-align: left;
}
.image-text.media-position--top .image-text__media figure.placeholder, .image-text.media-position--top .image-text__media figure:has(.placeholder), .image-text.media-position--top .image-text__media img.placeholder, .image-text.media-position--top .image-text__media img:has(.placeholder), .image-text.media-position--top .image-text__media svg.placeholder, .image-text.media-position--top .image-text__media svg:has(.placeholder), .image-text.media-position--top .image-text__media iframe.placeholder, .image-text.media-position--top .image-text__media iframe:has(.placeholder), .image-text.media-position--bottom .image-text__media figure.placeholder, .image-text.media-position--bottom .image-text__media figure:has(.placeholder), .image-text.media-position--bottom .image-text__media img.placeholder, .image-text.media-position--bottom .image-text__media img:has(.placeholder), .image-text.media-position--bottom .image-text__media svg.placeholder, .image-text.media-position--bottom .image-text__media svg:has(.placeholder), .image-text.media-position--bottom .image-text__media iframe.placeholder, .image-text.media-position--bottom .image-text__media iframe:has(.placeholder) {
  width: 100%;
}
.image-text.media-position--top-fullwidth .image-text__media, .image-text.media-position--bottom-fullwidth .image-text__media {
  text-align: center;
}
.image-text.media-position--top-fullwidth .image-text__media figure, .image-text.media-position--top-fullwidth .image-text__media img, .image-text.media-position--top-fullwidth .image-text__media svg, .image-text.media-position--top-fullwidth .image-text__media iframe, .image-text.media-position--bottom-fullwidth .image-text__media figure, .image-text.media-position--bottom-fullwidth .image-text__media img, .image-text.media-position--bottom-fullwidth .image-text__media svg, .image-text.media-position--bottom-fullwidth .image-text__media iframe {
  width: 100% !important;
  height: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.image-text.media-position--top-fullwidth .image-text__media figure.placeholder, .image-text.media-position--top-fullwidth .image-text__media figure:has(.placeholder), .image-text.media-position--top-fullwidth .image-text__media img.placeholder, .image-text.media-position--top-fullwidth .image-text__media img:has(.placeholder), .image-text.media-position--top-fullwidth .image-text__media svg.placeholder, .image-text.media-position--top-fullwidth .image-text__media svg:has(.placeholder), .image-text.media-position--top-fullwidth .image-text__media iframe.placeholder, .image-text.media-position--top-fullwidth .image-text__media iframe:has(.placeholder), .image-text.media-position--bottom-fullwidth .image-text__media figure.placeholder, .image-text.media-position--bottom-fullwidth .image-text__media figure:has(.placeholder), .image-text.media-position--bottom-fullwidth .image-text__media img.placeholder, .image-text.media-position--bottom-fullwidth .image-text__media img:has(.placeholder), .image-text.media-position--bottom-fullwidth .image-text__media svg.placeholder, .image-text.media-position--bottom-fullwidth .image-text__media svg:has(.placeholder), .image-text.media-position--bottom-fullwidth .image-text__media iframe.placeholder, .image-text.media-position--bottom-fullwidth .image-text__media iframe:has(.placeholder) {
  width: 100%;
}
.image-text.media-position--bottom .image-text__media {
  margin-top: 1rem;
  margin-bottom: 0;
}
@media (min-width: 767px) {
  .image-text.media-position--right {
    display: grid;
    grid-template-columns: 6fr 6fr;
    grid-template-rows: auto auto;
    grid-template-areas: "headline headline" "text image";
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    row-gap: 0;
  }
  .image-text.media-position--right .image-text__media {
    margin: 0;
  }
}
@media (min-width: 767px) {
  .image-text.media-position--left {
    display: grid;
    grid-template-columns: 6fr 6fr;
    grid-template-rows: auto auto;
    grid-template-areas: "headline headline" "image text";
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    row-gap: 0;
  }
  .image-text.media-position--left .image-text__media {
    margin: 0;
  }
}
@media (min-width: 767px) {
  .image-text.media-position--float-right .image-text__media {
    width: 50%;
    float: right;
    margin: 0 0 1rem 1rem;
  }
}
@media (min-width: 767px) {
  .image-text.media-position--float-left .image-text__media {
    width: 50%;
    float: left;
    margin: 0 1rem 1rem 0;
  }
}
.image-text.media-position--empty .image-text__media {
  display: none;
}