.background-color-primary {
  background-color: var(--primary);
}

.cards.related {
  padding: 2rem 0;
}

.cards ul.row {
  list-style-type: none;
}

.cards .row {
  padding: 2rem 0;
}

.cards .card.publication {
  padding: 0;
}

.cards .card:not(.publication, .team):hover .card__wrapper, .cards .card:not(.publication, .team):hover .card__text {
  color: #fff;
  background-color: var(--petrol) !important;
}

.cards .card:not(.publication, .team):hover .card__wrapper .cta a, .cards .card:not(.publication, .team):hover .card__text .cta a {
  color: #fff;
}

.cards .card:not(.publication, .team):hover .card__wrapper .cta a:hover, .cards .card:not(.publication, .team):hover .card__text .cta a:hover {
  color: var(--primary);
}

.cards .card__wrapper {
  flex-direction: column;
  display: flex;
}

.cards .card__wrapper .featured_image {
  width: 100%;
  height: auto !important;
}

.cards .card__wrapper .card__text {
  flex-direction: column;
  height: 100%;
  padding: 2rem 2rem 0;
  display: flex;
}

.cards .card__wrapper .card__text .cta {
  flex-grow: 1;
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: flex-end;
  display: flex;
}

.cards .card__wrapper .card__text .cta a:after {
  content: " →";
  transition: left .1s ease-in-out;
  position: relative;
  left: 0;
}

.cards .card__wrapper .card__text .cta a:hover:after {
  left: .25rem;
}

.cards .card__text, .cards .card__header {
  font-size: var(--font-size-text);
  font-family: var(--font-family-primary);
}

.cards .card__text h2, .cards .card__header h2 {
  font-weight: 500;
}

.cards .card__text .title, .cards .card__text .teaser, .cards .card__text .text, .cards .card__text .cta, .cards .card__header .title, .cards .card__header .teaser, .cards .card__header .text, .cards .card__header .cta {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-text);
}

.cards .card__text .cta, .cards .card__header .cta {
  padding-top: 1rem;
}

.cards .card__text .cta a, .cards .card__header .cta a {
  box-sizing: border-box;
  color: var(--primary);
  width: auto;
  height: auto;
  font-weight: var(--weight-regular);
  transition: var(--transition-fast);
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  border: 0 hidden #0000;
  border-radius: 8px;
  padding: 1rem 2rem;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.cards .card__text .cta a.backgroundcolor, .cards .card__header .cta a.backgroundcolor {
  background-color: #0000;
}

.cards .card__text .cta a.backgroundcolor:hover, .cards .card__header .cta a.backgroundcolor:hover {
  background-color: var(--secondary);
  color: #fff;
}

.cards .card__text .cta a:focus, .cards .card__header .cta a:focus {
  border-width: 3px !important;
}

.cards .card__text .cta a:hover, .cards .card__header .cta a:hover {
  color: var(--secondary);
}

.cards .card__text .cta a, .cards .card__header .cta a {
  padding: 0;
}

.cards.carousel {
  padding: 4rem;
}

.cards.carousel > .swiper {
  overflow: visible;
}

.cards.carousel .row {
  align-items: stretch;
  padding: 0;
}

.cards.carousel .row.related .col {
  justify-content: center;
  display: flex;
}

.cards.carousel .row.related .col .cta {
  background-color: var(--yellow);
}

.cards.carousel .row.related .col .cta:hover {
  background-color: var(--petrol);
}

.cards.carousel .row.related .col .cta:hover a {
  color: #fff;
}

.cards.carousel .row.related .col .button {
  border-radius: 0;
  padding: 1rem 4rem;
}

.cards.carousel .swiper-wrapper {
  padding-top: 2rem;
}

.cards.carousel .card {
  height: auto;
}

.cards.carousel .card__wrapper {
  background-color: #fff;
  width: 100%;
  height: max-content;
  padding-bottom: 2rem;
}

.cards.carousel .card__wrapper .featured_image, .cards.carousel .card__wrapper .featured_image a, .cards.carousel .card__wrapper .featured_image a img {
  height: 100%;
}

.cards.carousel .card__wrapper .featured_image a, .cards.carousel .card__wrapper .featured_image img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: block;
}

.cards.carousel .card__wrapper {
  color: var(--primary);
  align-content: flex-start;
  height: 100%;
}

.cards .row.cta .col {
  justify-content: center;
  display: flex;
}

.cards.has_text_negative_margin {
  margin-top: 7rem;
}

.cards.has_text_negative_margin .swiper {
  overflow: visible;
}

.cards.has_text_negative_margin .block__text {
  background-color: var(--background-color);
  max-width: 500px;
  margin-top: -9rem;
  padding: 2rem;
}

.cards.has_text_negative_margin.align-right .flex-end {
  justify-content: end;
  display: flex;
}

.cards.has_text_negative_margin.align-right .block__text {
  justify-self: end;
}

.cards.has_text_negative_margin .card .title, .cards.has_text_negative_margin .card .teaser {
  font-size: var(--font-size-text);
}

.cards.has_text_negative_margin .card .cta {
  display: none;
}

.cards.has-background-color {
  color: #fff;
  background-color: var(--background-color);
}

.cards.has-background-color .button {
  box-sizing: border-box;
  color: var(--primary);
  width: auto;
  height: auto;
  font-weight: var(--weight-regular);
  transition: var(--transition-fast);
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  border: 0 hidden #0000;
  border-radius: 8px;
  padding: 1rem 2rem;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.cards.has-background-color .button.backgroundcolor {
  background-color: var(--yellow);
}

.cards.has-background-color .button.backgroundcolor:hover {
  background-color: var(--secondary);
  color: #fff;
}

.cards.has-background-color .button:focus {
  border-width: 3px !important;
}

.cards.has-background-color .button:hover {
  color: var(--secondary);
}

.cards.alternating-colors .title, .cards.alternating-colors .teaser, .cards.alternating-colors .cta a, .cards.has-background-color .title, .cards.has-background-color .teaser, .cards.has-background-color .cta a {
  text-decoration: none;
}

.cards.alternating-colors {
  color: #fff;
}

.cards.alternating-colors .title {
  letter-spacing: -.02em;
  font-size: 24px;
  line-height: 120%;
}

.cards.alternating-colors .cta a.button {
  color: #fff !important;
}

.cards.alternating-colors .card .tags > * {
  border-color: #fff;
}

.cards.alternating-colors .card .card__wrapper {
  color: #fff;
}

.cards.alternating-colors .card:nth-of-type(3n+1) .card__wrapper {
  background-color: var(--blue);
}

.cards.alternating-colors .card:nth-of-type(3n+2) .card__wrapper {
  background-color: var(--green);
}

.cards.alternating-colors .card:nth-of-type(3n+3) .card__wrapper {
  background-color: var(--light-blue);
}

.cards:not(.alternating-colors) .card__text {
  color: var(--primary);
  background-color: #fff;
}

main.has_backgroundcolor .card .card__text {
  background-color: #fff;
  color: var(--primary) !important;
}

.cards.stacked {
  max-width: 1040px;
}

.cards.stacked .row > .card {
  --offset: 4rem;
  width: 100%;
  margin-bottom: calc(2 * var(--offset));
}

.cards.stacked .row > .card:nth-of-type(odd) .card__wrapper {
  margin-right: var(--offset);
}

.cards.stacked .row > .card:nth-of-type(odd) .featured_image {
  transform: translate(var(--offset), var(--offset));
  order: 1;
}

.cards.stacked .row > .card:nth-of-type(2n) .card__wrapper {
  margin-left: var(--offset);
}

.cards.stacked .row > .card:nth-of-type(2n) .featured_image {
  transform: translate(calc(var(--offset) * -1), var(--offset));
  transform: translate(calc(var(--offset) * -1), calc(-1 * var(--offset)));
}

.cards.stacked .row > .card .card__wrapper {
  flex-flow: wrap;
  padding-bottom: 2rem;
}

@media (width <= 767px) {
  .cards.stacked .row > .card .card__wrapper {
    flex-wrap: wrap;
  }
}

.cards.stacked .row > .card .card__wrapper .card__text {
  width: 66%;
}

@media (width <= 767px) {
  .cards.stacked .row > .card .card__wrapper .card__text {
    width: 100%;
  }
}

.cards.stacked .row > .card .card__wrapper .card__text .title {
  color: #fff;
  font-size: var(--font-size-lg);
}

.cards.stacked .row > .card .card__wrapper .card__text .title h2, .cards.stacked .row > .card .card__wrapper .card__text .title h3 {
  letter-spacing: 0;
  font-weight: 400;
}

.cards.stacked .row > .card .card__wrapper .card__text .cta {
  justify-content: unset;
  font-size: var(--font-size-xs);
}

.cards.stacked .row > .card .card__wrapper .card__text .cta a:after {
  content: " →";
  transition: left .1s ease-in-out;
  position: relative;
  left: 0;
}

.cards.stacked .row > .card .card__wrapper .card__text .cta a:hover:after {
  left: .25rem;
}

.cards.stacked .row > .card .card__wrapper .featured_image {
  width: 33%;
}

@media (width <= 767px) {
  .cards.stacked .row > .card .card__wrapper .featured_image {
    width: 100%;
  }
}

.cards.stacked .row > .card .card__wrapper .featured_image img {
  width: 100%;
  aspect-ratio: 1.5 !important;
  height: 100% !important;
}

.cards .card .tags {
  flex-wrap: wrap;
  column-gap: 6px;
  margin: 0;
  padding: 1rem 0;
  list-style-type: none;
  display: flex;
}

.cards .card .tags li {
  border: 1px solid var(--primary);
  padding: 4px 6px;
}

.cards .card .tags__background-color li {
  color: #fff;
  background-color: var(--primary);
}

.cards .card .tags__background-color li:hover {
  border-color: var(--green);
  background-color: var(--green);
}

.cards .card .tags__background-color li:hover a {
  color: #fff;
}

.cards .card .tags__background-color a {
  color: #fff;
  text-decoration: none;
}

.cards.grid > div.row {
  row-gap: 2rem;
}

.cards.grid.related ul {
  grid-template-columns: repeat(auto-fill, minmax(0, 33%));
  display: grid;
}

.cards.grid.related ul .card {
  width: 100%;
}

.cards.grid ul.row {
  list-style-type: none;
}

.cards.grid .filter.row {
  padding: 0;
}

.cards.grid .filter.row h2 {
  font-family: var(--font-family-primary);
  font-weight: 300;
}

.cards.grid .card {
  flex-flow: column;
  justify-content: stretch;
  height: auto;
  min-height: 30rem;
  display: flex;
}

@media (width <= 991px) {
  .cards.grid .card {
    min-height: unset;
  }
}

.cards.grid .card__wrapper {
  grid-template-rows: max-content;
  height: 100%;
  display: grid;
}

.cards.grid .card .featured_image, .cards.grid .card .featured_image a, .cards.grid .card .featured_image a img {
  height: 100%;
}

.cards.grid .card .featured_image a, .cards.grid .card .featured_image img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: block;
}

.cards.grid .card .featured_image {
  height: auto;
}

.cards.grid .card .featured_image a {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.cards.grid .card .featured_image[class*="vector"] {
  background-repeat: no-repeat;
}

.cards.grid .card .featured_image[class*="vector"] .vector {
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.cards.grid .card .featured_image.vector_red .vector {
  background-image: url("../red.svg");
  background-position: 0 0;
}

.cards.grid .card .featured_image.vector_blue .vector {
  background-image: url("../blue.svg");
  background-position: 0 100%;
}

.cards.grid .card .featured_image.vector_yellow .vector {
  background-image: url("../yellow.svg");
  background-position: 100% 100%;
}

.cards.grid .card__text {
  grid-template-rows: auto 1fr auto;
  height: 100%;
  padding: 2rem;
  display: grid;
}

.cards.grid .card__text .cta {
  text-align: right;
}

.cards.grid .card__text .cta .button {
  box-sizing: border-box;
  color: var(--primary);
  width: auto;
  height: auto;
  font-weight: var(--weight-regular);
  transition: var(--transition-fast);
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  border: 0 hidden #0000;
  border-radius: 8px;
  padding: 1rem 2rem;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.cards.grid .card__text .cta .button.backgroundcolor {
  background-color: #0000;
}

.cards.grid .card__text .cta .button.backgroundcolor:hover {
  background-color: var(--secondary);
  color: #fff;
}

.cards.grid .card__text .cta .button:focus {
  border-width: 3px !important;
}

.cards.grid .card__text .cta .button:hover {
  color: var(--secondary);
}

.cards.grid .card__text .cta .button:after {
  content: " →";
  transition: left .1s ease-in-out;
  position: relative;
  left: 0;
}

.cards.grid .card__text .cta .button:hover:after {
  left: .25rem;
}
/*# sourceMappingURL=cards.css.map */
