input:focus + .float-label,
textarea:focus + .float-label,
input.filled + .float-label,
textarea.filled + .float-label {
  /* Move the label above the button and scale it down */
  transform: translateY(-60%) scale(0.75);
  color: var(--ift-primary);
}

.radio-select-dot.selected + .radio-button-label {
  color: white;
}

body:not(.elementor-editor-active).page-id-159 .icon-text-box-left:last-child {
  display: none !important;
}

.page-content {
  overflow-x: hidden;
}

[type=button], [type=submit], button {
  border: none;
  border-radius: 0;
  color: inherit;
}

.dialog-lightbox-widget-content {
  top: 0 !important;
  left: 0 !important;
}

@media (min-width: 1025px) {
  .elementor-lightbox .elementor-video-container .elementor-video-landscape {
    max-width: 1200px;
  }
}
.elementor .heading-1.huge {
  font-size: clamp(3rem, 3.98vw + 2.07rem, 7rem);
}
.elementor .e-gc-ift-topline {
  font-size: clamp(0.81rem, 0.31vw + 0.74rem, 1.13rem);
}
.elementor .e-gc-ift-label-large {
  font-size: clamp(0.94rem, 0.19vw + 0.89rem, 1.13rem);
}
.elementor .e-gc-ift-h1-huge {
  font-size: clamp(2rem, 3.48vw + 1.18rem, 5.5rem);
}
.elementor .e-gc-ift-h1-hero {
  font-size: clamp(2.13rem, 2.36vw + 1.57rem, 4.5rem);
}
.elementor .e-gc-ift-h1 {
  font-size: clamp(2rem, 1.99vw + 1.53rem, 4rem);
}
.elementor .e-gc-ift-h2 {
  font-size: clamp(1.75rem, 1.49vw + 1.4rem, 3.25rem);
}
.elementor .e-gc-ift-h3 {
  font-size: clamp(1.38rem, 0.87vw + 1.17rem, 2.25rem);
}
.elementor .e-gc-ift-h4 {
  font-size: clamp(1.13rem, 0.37vw + 1.04rem, 1.5rem);
}
.elementor .e-gc-ift-h5 {
  font-size: clamp(1rem, 0.25vw + 0.94rem, 1.25rem);
}
.elementor .e-gc-ift-body-x-large {
  font-size: clamp(1.31rem, 0.68vw + 1.15rem, 2rem);
}
.elementor .e-gc-ift-body-large {
  font-size: clamp(1.13rem, 0.25vw + 1.07rem, 1.38rem);
}
.elementor .e-gc-ift-header-subline {
  font-size: clamp(1.13rem, 0.37vw + 1.04rem, 1.5rem);
}
.elementor .e-gc-ift-body-medium {
  font-size: clamp(0.94rem, 0.19vw + 0.89rem, 1.13rem);
}
.elementor .e-gc-ift-input-text {
  font-size: clamp(0.94rem, 0.19vw + 0.89rem, 1.13rem);
}
.elementor .quote {
  font-size: clamp(1.5rem, 0.5vw + 1.38rem, 2rem);
}
.elementor .icon-grid .icon-text-box-left:last-child {
  display: none !important;
}
.elementor .headline-impressum {
  font-size: clamp(1.13rem, 0.37vw + 1.04rem, 1.5rem);
}
.elementor .ift-hero__sub {
  font-size: clamp(1.06rem, 0.31vw + 0.99rem, 1.38rem);
}
.elementor .ift-intro-quote p {
  font-size: clamp(1.38rem, 0.62vw + 1.23rem, 2rem);
}
.elementor .ift-solutions__headline h2 {
  font-size: clamp(1.88rem, 1.74vw + 1.47rem, 3.63rem);
}
.elementor .ift-card__text h3 {
  font-size: clamp(1.38rem, 0.75vw + 1.2rem, 2.13rem);
}
.elementor .ift-card__text p {
  font-size: clamp(1.06rem, 0.31vw + 0.99rem, 1.38rem);
}
.elementor .ift-about__col h2 {
  font-size: clamp(1.75rem, 1.24vw + 1.46rem, 3rem);
}
.elementor .ift-about__col p {
  font-size: clamp(1.06rem, 0.31vw + 0.99rem, 1.38rem);
}
.elementor .ift-video__badge-text strong,
.elementor .ift-video__badge-text span {
  font-size: clamp(1.06rem, 0.43vw + 0.96rem, 1.5rem);
}
.elementor .ift-footer__cta-text h2 {
  font-size: clamp(1.75rem, 1.24vw + 1.46rem, 3rem);
}
.elementor .ift-footer__cta-text p {
  font-size: clamp(1.06rem, 0.31vw + 0.99rem, 1.38rem);
}
.elementor .ift-footer__nav-col h5 {
  font-size: clamp(1rem, 0.25vw + 0.94rem, 1.25rem);
}
.elementor .ift-footer__nav-col ul a {
  font-size: clamp(0.94rem, 0.19vw + 0.89rem, 1.13rem);
}
.elementor .ift-footer__disclaimer p {
  font-size: clamp(1.06rem, 0.31vw + 0.99rem, 1.38rem);
}
.elementor .ift-footer__legal a,
.elementor .ift-footer__copy {
  font-size: clamp(0.88rem, 0.25vw + 0.82rem, 1.13rem);
}
.elementor .button {
  font-size: clamp(1rem, 0.19vw + 0.96rem, 1.19rem);
}

.burger-menu {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  color: var(--ift-primary);
  height: 21px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}
.burger-menu:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 2px;
}

.burger-line {
  display: block;
  width: 100%;
  height: 3px;
  background: currentColor;
  border-radius: 2px;
  transform-origin: center center;
}
