/* Custom mixins */
.cms-module-slider .theme-container {
  padding: 0 !important;
  margin: 0 !important;
}
.cms-module-slider .picture {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "hero-content";
  max-width: 100%;
}
.cms-module-slider .picture > a,
.cms-module-slider .picture > picture {
  grid-area: hero-content;
  min-width: 0;
}
.cms-module-slider .picture .container-fluid {
  width: 100%;
  position: relative;
  grid-area: hero-content;
  pointer-events: none;
}
@media only screen and (max-width: calc(1024px - 1px)) {
  .cms-module-slider .picture .container-fluid {
    overflow: hidden;
  }
}
.cms-module-slider .picture img {
  width: 100%;
  height: auto;
}
.cms-module-slider .picture .blur {
  transition: width 1s ease;
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(5px);
  height: 100%;
  width: 0;
  grid-area: hero-content;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .cms-module-slider .picture .blur {
    backdrop-filter: blur(10px);
  }
}
.cms-module-slider .picture:has(.container-right) .blur {
  margin-left: auto;
}
.cms-module-slider .picture:has(.container-center) .blur {
  transition: none;
  width: 100% !important;
}
.cms-module-slider .theme-light .blur {
  background-color: rgba(247, 247, 247, 0.3);
}
.cms-module-slider .theme-light .hero-headings {
  text-shadow: 1px 1px 2px #F7F7F7;
}
.cms-module-slider .theme-gray .blur {
  background-color: rgba(97, 107, 117, 0.3);
}
.cms-module-slider .theme-gray .hero-headings {
  text-shadow: 1px 1px 2px #616B75;
}
.cms-module-slider .theme-dark .blur {
  background-color: rgba(26, 26, 32, 0.3);
}
.cms-module-slider .theme-dark .hero-headings {
  text-shadow: 1px 1px 2px #1A1A20;
}
.cms-module-slider .theme-gray .custom-module-icon,
.cms-module-slider .theme-dark .custom-module-icon {
  filter: invert(100%);
}
.cms-module-slider .container-right {
  margin-left: auto;
}
.cms-module-slider .container-center {
  margin: 0 auto;
}
.cms-module-slider .hero-image-details {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .hero-image-details {
    width: 50%;
  }
}
@media only screen and (min-width: 1280px) {
  .cms-module-slider .hero-image-details {
    width: 40%;
  }
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .hero-image-details.container-center {
    width: 60%;
  }
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .container-fluid:has(.hero-image-user-filter) {
    display: grid;
    grid-template-columns: 1fr 50%;
    grid-template-areas: "user-filter hero-image-details" "consumption consumption";
  }
}
@media only screen and (min-width: 1280px) {
  .cms-module-slider .container-fluid:has(.hero-image-user-filter) {
    grid-template-columns: 1fr 40%;
  }
}
.cms-module-slider .container-fluid:has(.hero-image-user-filter) .hero-image-details {
  grid-area: hero-image-details;
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .container-fluid:has(.hero-image-user-filter) .hero-image-details {
    width: 100%;
  }
}
.cms-module-slider .container-fluid:has(.hero-image-user-filter) .hero-image-user-filter {
  grid-area: user-filter;
}
.cms-module-slider .container-fluid:has(.hero-image-user-filter) .consumption {
  grid-area: consumption;
  position: relative;
  padding-top: 10px;
}
.cms-module-slider .hero-headings {
  opacity: 0;
  padding: 20px 0 10px;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-flow: column nowrap;
}
@media only screen and (min-width: 768px) {
  .cms-module-slider .hero-headings {
    padding: 20px 60px 40px 20px;
  }
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .hero-headings {
    padding: 40px 80px 40px 20px;
  }
}
@media only screen and (min-width: 1600px) {
  .cms-module-slider .hero-headings {
    padding: 40px 80px 40px 0;
  }
}
.cms-module-slider .hero-headings.ready {
  opacity: 1;
  transition: 0.25s opacity;
}
.cms-module-slider .hero-headings:has(.text-right) sl-icon,
.cms-module-slider .hero-headings:has(.text-right) .cta-link {
  margin-left: auto;
}
.cms-module-slider .hero-headings:has(.text-right) .hero-teaser {
  text-align: right;
}
.cms-module-slider .hero-headings .cta-link {
  pointer-events: all;
}
.cms-module-slider .container-right .hero-headings {
  padding: 10px 0 25px;
}
@media only screen and (min-width: 768px) {
  .cms-module-slider .container-right .hero-headings {
    padding: 40px 20px 40px 60px;
  }
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .container-right .hero-headings {
    padding: 40px 20px 40px 80px;
  }
}
@media only screen and (min-width: 1600px) {
  .cms-module-slider .container-right .hero-headings {
    padding: 40px 0 40px 80px;
  }
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .container-right + .consumption {
    right: auto;
  }
}
.cms-module-slider .consumption {
  padding-bottom: 5px;
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .consumption {
    position: absolute;
    bottom: 0;
    right: 15px;
  }
}
.cms-module-slider .consumption p {
  font-size: 1.1rem;
  line-height: 1.3rem;
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .consumption p {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .container-right + .consumption {
    right: auto;
  }
}
.cms-module-slider .container-center:has(.text-center) .cta-link {
  margin: 10px auto 0;
}
.cms-module-slider .hero-teaser {
  margin: 0 0 20px;
}
.cms-module-slider .custom-module-icon {
  font-size: 5rem;
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .cms-module-slider .custom-module-icon {
    font-size: 6rem;
  }
}
.cms-module-slider .custom-module-icon + h1,
.cms-module-slider .custom-module-icon + h2,
.cms-module-slider .custom-module-icon + h3,
.cms-module-slider .custom-module-icon + h4,
.cms-module-slider .custom-module-icon + h5,
.cms-module-slider .custom-module-icon + h6 {
  margin-top: 0;
}
.cms-module-slider .hero-image-user-filter {
  padding: 50px 0 0;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider .hero-image-user-filter {
    display: block;
  }
}
.cms-module-slider .hero-image-user-filter form sl-button {
  margin-top: 15px;
  width: 100%;
}
.cms-module-slider #caridentifier-2 {
  pointer-events: all;
  max-width: 450px;
  width: 100%;
}
.cms-module-slider #caridentifier-2 sl-tab:nth-child(2)::part(base),
.cms-module-slider #caridentifier-2 sl-tab:nth-child(3)::part(base) {
  padding: var(--sl-spacing-medium) var(--sl-spacing-small);
}
.cms-module-slider #caridentifier-2 sl-tab[active]::part(base) {
  background-color: initial;
}
.cms-module-slider #caridentifier-2 sl-tab-panel {
  padding: 0 30px;
}
.cms-module-slider #caridentifier-2 sl-tab-panel::part(base) {
  padding-bottom: 30px;
  background-color: initial;
}
.cms-module-slider #caridentifier-2 .labelstyle {
  letter-spacing: 1px;
  font-size: 1.1rem;
}
@media only screen and (min-width: 768px) {
  .cms-module-slider #caridentifier-2 .labelstyle {
    font-size: 1.3rem;
  }
}
.cms-module-slider #caridentifier-2 span,
.cms-module-slider #caridentifier-2 ::part(form-control-label),
.cms-module-slider #caridentifier-2 h3 {
  color: #1A1A20;
}
.cms-module-slider #caridentifier-2 ::part(form-control-label) {
  font-size: 1.3rem;
}
@media only screen and (min-width: 1024px) {
  .cms-module-slider #caridentifier-2 ::part(form-control-label) {
    font-size: 1.4rem;
  }
}
.cms-module-slider #caridentifier-2 h3 {
  margin: 3px 0;
}
.cms-module-slider #caridentifier-2 form.loading {
  aspect-ratio: 390 / 340;
}
.cms-module-slider {
  --km-hero-breadcrumbs-margin: 0px;
}
body:has(.breadcrumbs) .cms-module-slider {
  --km-hero-breadcrumbs-margin: 30px;
}
body:has(.breadcrumbs.empty) .cms-module-slider {
  --km-hero-breadcrumbs-margin: 26px;
}
body:not(.cms_toolbar_open) .cms-module-slider:has(.hero-beneath-header) {
  --km-hero-image-top: calc(var(--km-header-fullheight) + var(--km-header-border-active-height));
  margin-top: calc(-1 * var(--km-hero-image-top));
}
body:not(.cms_toolbar_open) .cms-module-slider:has(.hero-beneath-header) .picture {
  overflow: hidden;
}
body:not(.cms_toolbar_open) .cms-module-slider:has(.hero-beneath-header) .hero-beneath-header--semi-transparent .blur {
  margin-top: var(--km-hero-image-top);
}
body:not(.cms_toolbar_open) .cms-module-slider:has(.hero-beneath-header) .hero-image-details {
  margin-top: calc(var(--km-hero-image-top) + var(--km-hero-breadcrumbs-margin));
}
