.banner {
  container-type: inline-size;
}
.banner:not(.splide) {
  height: calc(-159.4px + 100vh);
  min-height: 300px;
}
@container (max-width: 768px) {
  .banner:not(.splide) {
    height: calc(-60px + 100vh);
  }
}
.banner.splide {
  height: 100%;
}
.banner .splide__track {
  height: 100%;
}
.banner .images {
  height: 100%;
}
.banner .images .splide__slide {
  height: 100%;
  padding: 0;
}
.banner .images .splide__slide:first-child {
  display: block;
}
.banner .images .splide__slide .slide-content {
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.banner .images .splide__slide .slide-content .image {
  height: 100%;
  width: 100%;
}
.banner .images .splide__slide .slide-content .image img {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner .images .splide__slide .slide-content .title {
  position: absolute;
  bottom: 50%;
  transform: translateY(50%);
  left: 40px;
  width: fit-content;
  font-size: clamp(1.6666666667rem, 1.1561561562rem + 2.8716216216vw, 3.5555555556rem);
  text-align: start;
  text-shadow: 0px 0px 12px rgba(102, 105, 124, 0.93);
  font-family: var(--headlineSecondary);
  font-weight: 400;
}
@container (max-width: 768px) {
  .banner .images .splide__slide .slide-content .title {
    left: unset;
    width: 100%;
    padding: 0 30px;
  }
}
.banner .images .splide__slide .slide-content .title p {
  margin: 0;
  color: #d8e8f2;
  line-height: 1.4;
  word-break: break-word;
}
.banner .splide__pagination {
  margin-top: 20px;
}
.banner .splide__pagination .splide__pagination__page {
  background: #ccc;
  border: none;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.banner .splide__pagination .splide__pagination__page.is-active {
  background: #333;
}
.banner .splide__arrows {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: fit-content;
  display: flex;
  z-index: 25;
  margin-bottom: 30px;
}
.banner .splide__arrow {
  position: relative;
  background-color: rgba(183, 171, 159, 0.07);
  border: none;
  border-radius: 50%;
  padding: 14px;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  opacity: 1;
}
.banner .splide__arrow:hover {
  opacity: 1;
  color: #fff;
  background-color: #7292a6;
}
.banner .splide__arrow svg {
  fill: white;
  width: 30px;
  height: 30px;
}
.banner .splide__arrow.splide__arrow--prev {
  left: 0;
}
.banner .splide__arrow.splide__arrow--next {
  right: 0;
}

.banner.kleiner {
  height: 600px !important;
  min-height: 600px !important;
}
.banner.kleiner .splide__track {
  height: 100%;
}
.banner.kleiner .images {
  height: 100%;
}
.banner.kleiner .images .splide__slide {
  height: 100%;
}
.banner.kleiner .images .splide__slide .slide-content {
  height: 100%;
}
.banner.kleiner .images .splide__slide .slide-content .image {
  height: 100%;
}
.banner.kleiner .images .splide__slide .slide-content .image img {
  height: 100%;
  object-fit: cover;
}
.banner.kleiner .images .splide__slide .slide-content .title {
  position: absolute;
  bottom: 30px;
  left: 30px;
  transform: none;
}
.banner.kleiner .images .splide__slide .slide-content .title h3 {
  font-size: clamp(1.1111111111rem, 0.8108108108rem + 1.6891891892vw, 2.2222222222rem);
}
.banner.kleiner .images .splide__slide .slide-content .title p {
  margin: 0;
  font-size: clamp(1.1111111111rem, 0.8108108108rem + 1.6891891892vw, 2.2222222222rem);
  font-weight: 600;
  color: var(--contrastColorInverted);
  line-height: 1.4;
}
.banner.kleiner .splide__arrows {
  bottom: 20px;
  margin-bottom: 20px;
}
.banner.kleiner .splide__pagination {
  margin-top: 15px;
}

.editor-styles-wrapper .banner .images {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
}
.editor-styles-wrapper .banner .images .splide__slide {
  height: auto;
  max-width: 33%;
}
.editor-styles-wrapper .banner .images .splide__slide .title {
  font-size: 140% !important;
}