/**
 * 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.
 */
.article-teaser {
  position: relative;
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto auto;
  grid-template-areas: "img" "main" "buttons";
  grid-row: span 4;
  grid-gap: 0;
}
.article-teaser.subgrid-1 {
  grid-template-rows: 1fr;
  grid-template-rows: subgrid;
  grid-row: span 1;
}
.article-teaser.subgrid-2 {
  grid-template-rows: auto 1fr;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.article-teaser.subgrid-3 {
  grid-template-rows: auto 1fr auto;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.article-teaser.subgrid-4 {
  grid-template-rows: auto auto 1fr auto;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.article-teaser.subgrid-5 {
  grid-template-rows: auto auto 1fr auto auto;
  grid-template-rows: subgrid;
  grid-row: span 5;
}
.article-teaser div[data-contextual-id] {
  display: none;
}
.article-teaser__img {
  position: relative;
}
.article-teaser__img img {
  vertical-align: bottom;
  width: 100% !important;
  max-width: 100%;
  height: auto;
}
.article-teaser__img > a {
  border-bottom: none;
  text-decoration: none;
}
.article-teaser__tags {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  justify-items: flex-start;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}
.article-teaser__prefix {
  margin-top: 0.5rem;
}
.article-teaser__date {
  font-weight: bold;
  display: block;
}
.article-teaser__main {
  margin: 0 0 1rem 0;
}
.article-teaser__content {
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  -webkit-box-orient: vertical;
}
.article-teaser h3.is-h4 {
  margin-top: 0.5rem;
}
.article-teaser h3.is-h4 a {
  text-decoration: none;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
.article-teaser .type-marker {
  position: absolute;
  left: -1rem;
  top: -1rem;
}