@keyframes waveMotion {
  0% {
    background-position: 0% bottom;
  }
  100% {
    background-position: 100% bottom;
  }
}
.px-banner-teaser {
  position: relative;
  container-type: inline-size;
  width: 100% !important;
  max-width: 100% !important;
  padding-top: clamp(2.3529411765rem, 1.8759936407rem + 2.5337837838vw, 4.1176470588rem);
  padding-bottom: 130px;
  background: var(--Gradient---Secondary, linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ECF2F6 100%));
}
.px-banner-teaser::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: url("../img/waves.svg") repeat-x 0% bottom/200% min(14.29vw, 150px);
  animation: waveMotion 20s ease-in-out alternate infinite;
}
.px-banner-teaser .banner-teaser-title {
  text-align: center;
  margin-bottom: clamp(2.3529411765rem, 1.7170111288rem + 3.3783783784vw, 4.7058823529rem);
}
.px-banner-teaser-inner {
  position: relative;
  z-index: 3;
  max-width: var(--maxWidth);
  width: var(--baseWidth);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
@container (width <=450px) {
  .px-banner-teaser-inner {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}
.px-banner-teaser-inner .banner-teaser-single {
  display: contents;
}
.px-banner-teaser-inner .banner-teaser-single .item {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--contrastColorInverted);
  box-shadow: var(--mainBoxShadowBig);
  border-radius: var(--baseBorderRadiusBig);
  overflow: hidden;
  text-align: center;
  padding: clamp(1.1764705882rem, 0.6995230525rem + 2.5337837838vw, 2.9411764706rem);
  padding-bottom: 0;
}
.px-banner-teaser-inner .banner-teaser-single .item .image {
  overflow: hidden;
  height: 260px;
  margin-top: clamp(1.1764705882rem, 1.0174880763rem + 0.8445945946vw, 1.7647058824rem);
}
.px-banner-teaser-inner .banner-teaser-single .item .image img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: contain;
}
.px-banner-teaser-inner .banner-teaser-single .item .image.fullscreen {
  padding: 0;
}
.px-banner-teaser-inner .banner-teaser-single .item .image.fullscreen img {
  object-fit: cover;
}
.editor-styles-wrapper .px-banner-teaser .banner-teaser-title {
  position: relative;
  z-index: 5;
}