@charset "UTF-8";
/*!
Theme Name: Mein Child
Template:   techbiz
*/
/* Universelles Flex-Grid für beliebige Widgets/Listen/Karten */
.u-flexgrid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nx-gap, 18px);
  justify-content: center;
  /* Defaults – pro Instanz überschreibbar (inline, Klasse, Scope) */
  --cols: 3; /* Desktop */
  --cols-md: 2; /* Tablet */
  --cols-sm: 1; /* Mobile */
  /* Alle direkten Kinder sind Grid-Items */
}
.u-flexgrid > * {
  box-sizing: border-box;
  width: calc((100% - (var(--cols) - 1) * var(--nx-gap, 18px)) / var(--cols));
}

/* Breakpoints – mobile-first oder nach deinem System anpassen */
@media (min-width: 1240px) {
  .u-flexgrid {
    --cols: var(--cols-md, 2);
  }
}
@media (max-width: 1239px) {
  .u-flexgrid {
    --cols: var(--cols-sm, 1);
  }
}
/* Optionale Helferklassen (setzen nur Variablen) */
.u-cols-1 {
  --cols:1;
}

.u-cols-2 {
  --cols:2;
}

.u-cols-3 {
  --cols:3;
}

.u-cols-4 {
  --cols:4;
}

.u-cols-md-1 {
  --cols-md:1;
}

.u-cols-md-2 {
  --cols-md:2;
}

.u-cols-md-3 {
  --cols-md:3;
}

.u-cols-sm-1 {
  --cols-sm:1;
}

.u-cols-sm-2 {
  --cols-sm:2;
}

.u-cols-sm-3 {
  --cols-sm:3;
}

@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/open-sans/open-sans-v43-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* league-spartan-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "League Spartan";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/league-spartan/league-spartan-v15-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
.breadcumb-wrapper {
  display: none !important;
}

.space-top {
  padding-top: unset !important;
}

.footer-social a:hover {
  background-color: unset !important;
  color: unset !important;
}

.iMLTjM {
  padding-block-start: unset !important;
}

:root {
  --color-primary: #19A6C2;
  --color-secondary: #0C3865;
  /*
  Produkt
    1B4079 

        #353B5E;
  */
  --bg-color: #F4F4F4;
  --color-border-orange: #ff5733;
  --color-border-blue: #19A6C2;
  --grid-gutter: 2rem;
  --vertical-padding: 80px;
  --padding-80: 80px;
  --font-color: #000;
  --font-family-body: "League Spartan", sans-serif;
  /* Base Icon size: For Tabs/ Menu arrow */
  --icon-size: 12px;
  --br: 18px;
  --nx-gap: 18px;
}

/*
    Linar Gradient 
*/
:root {
  --grad-red: linear-gradient(15deg, #FF0404 0%, #FFBA00 100%);
  --grad-blue: linear-gradient(15deg, #19A6C2 0%, #31D899 100%);
  --grad-blue-light: linear-gradient(15deg, #19A6C2 15%, #31D899 100%);
  /* blue gradient left to right & transparent*/
  --grad-blue-2: linear-gradient(90deg, rgba(25,166,194,0.99) 0%, rgba(25,166,194,0) 100%);
  --bg-transparent: linear-gradient(to right, rgba(25,166,194,0.90) 0%, rgba(25,166,194,0.75) 20%, rgba(25,166,194,0) 100%);
  --box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

/* Fluid Headings mit Zielwerten:
   H1 ≈ 46px, H2 ≈ 30px, H3 ≈ 26px (auf Desktop),
   auf Mobile etwas kleiner via clamp()  */
:root {
  /* bereits vorhanden … */
  --h1-min: 2.00rem;
  --h1-max: 2.875rem;
  --h1-slope: 1.8vw;
  --h2-min: 1.375rem;
  --h2-max: 1.875rem;
  --h2-slope: 1.1vw;
  --h3-min: 1.25rem;
  --h3-max: 1.625rem;
  --h3-slope: 0.9vw;
  --h4-min: 1.125rem; /* 18px  */
  --h4-max: 1.275rem; /* 22px  */
  --h4-slope: 0.6vw;
  --h5-min: 1.00rem; /* 16px  */
  --h5-max: 1.125rem; /* 18px  */
  --h5-slope: 0.4vw;
  --h6-min: 0.875rem; /* 14px  */
  --h6-max: 1.00rem; /* 16px  */
  --h6-slope: 0.3vw;
}

/* H1 */
h1, .h1 {
  font-size: clamp(var(--h1-min), var(--h1-min) + var(--h1-slope), var(--h1-max)) !important;
  line-height: 1.2 !important;
  color: var(--color-secondary) !important;
  font-weight: 750 !important;
}

/* H2 (leichter) */
h2, .h2,
.elementor-widget-heading .elementor-heading-title[aria-level="2"] {
  font-size: clamp(var(--h2-min), var(--h2-min) + var(--h2-slope), var(--h2-max)) !important;
  line-height: 1.2 !important;
  color: var(--color-secondary) !important;
  font-weight: 700 !important;
}

/* H3 */
h3, .h3,
.elementor-widget-heading .elementor-heading-title[aria-level="3"] {
  font-size: clamp(var(--h3-min), var(--h3-min) + var(--h3-slope), var(--h3-max)) !important;
  line-height: 1 !important;
  color: var(--color-secondary) !important;
  font-weight: 600 !important;
}

/* H4 */
h4, .h4,
.elementor-widget-heading .elementor-heading-title[aria-level="4"] {
  font-size: clamp(var(--h4-min), var(--h4-min) + var(--h4-slope), var(--h4-max)) !important;
  line-height: 1.25 !important;
  color: var(--color-secondary) !important;
  font-weight: 500 !important;
}

/* H5 */
h5, .h5,
.elementor-widget-heading .elementor-heading-title[aria-level="5"] {
  font-size: clamp(var(--h5-min), var(--h5-min) + var(--h5-slope), var(--h5-max)) !important;
  line-height: 1.25 !important;
  color: var(--color-secondary) !important;
  font-weight: 600 !important;
}

/* H6 */
h6, .h6,
.elementor-widget-heading .elementor-heading-title[aria-level="6"] {
  font-size: clamp(var(--h6-min), var(--h6-min) + var(--h6-slope), var(--h6-max)) !important;
  line-height: 1.3 !important;
  color: var(--color-secondary) !important;
  font-weight: 600 !important;
}

/* Optional: gleiche Schriftfamilie überall */
h1, h2, h3, h4, h5, h6 {
  font-family: "League Spartan", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

h1, h2, h3, h4 {
  margin-bottom: calc(var(--nx-gap) * 1.5) !important;
}

/* Optional: Typo-Feinschliff */
h4, h5, h6 {
  letter-spacing: 0;
}

html, body, h1, h2, h3, h4, h5, h6 {
  font-family: "League Spartan", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

.footer-gartner .gartner-pi-link * {
  font-family: "League Spartan", sans-serif !important;
}

.gartner-pi-link * {
  font-family: "League Spartan", sans-serif !important;
}

p {
  color: var(--font-color) !important;
  font-size: 18px !important;
}

/* background color*/
.background-one {
  position: relative;
  overflow: hidden;
}
.background-one::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(165deg, rgba(25, 166, 194, 0.55) 0%, rgba(49, 216, 153, 0.45) 100%);
}
.background-two {
  position: relative;
  overflow: hidden;
}
.background-two::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 80%;
  left: 0;
  background: linear-gradient(90deg, rgba(25, 166, 194, 0.99) 0%, rgba(25, 166, 194, 0) 100%);
}
.background-three {
  background-color: var(--color-secondary);
}
.background-four {
  border: 1px solid var(--color-secondary);
}

/* .seitenwidget-herosection{
      height: 60vh;

      @include tablet{
        height: 50vh;
      }

      @include phone{
        height: 30vh;
      }
} */
.nexis-herosection {
  /* &__text{
    margin-left: auto;
    margin-right: auto;
  } */
}
.nexis-herosection__inner .is-col {
  gap: 0px !important;
}
.nexis-herosection__media {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  overflow: visible;
  height: 100%;
  /* ======= ab 2 Bilder ======= */
}
.nexis-herosection__media.is-2 > .item-1 {
  flex: 1 1 clamp(280px, 20vw, 320px);
}
.nexis-herosection__media.is-2 > .item-2 {
  flex: 1 1 clamp(320px, 44vw, 600px);
  transform: translate(6%, -6%);
  z-index: 2;
}
.nexis-herosection__media {
  /* ======= ab 3 Bilder ======= */
}
.nexis-herosection__media.is-3 {
  height: auto;
}
.nexis-herosection__media.is-3 > .item-1 {
  flex: 1 1 clamp(80px, 15vw, 300px);
  transform: translate(20%, 20%);
  z-index: 2;
}
.nexis-herosection__media.is-3 > .item-2 {
  flex: 1 1 clamp(120px, 20vw, 400px);
  transform: translate(6%, -6%);
  z-index: 1;
}
.nexis-herosection__media.is-3 > .item-3 {
  flex: 1 1 clamp(80px, 15vw, 320px);
  transform: translate(-10%, 30%);
  z-index: 2;
}
.nexis-herosection {
  /* === Einzelne Bilder === */
}
.nexis-herosection__img {
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.nexis-herosection__img .img {
  display: block;
  width: 100%;
  height: auto;
}

.main-footer {
  padding-left: var(--grid-gutter);
  padding-right: var(--grid-gutter);
}
.main-footer__middle {
  position: relative;
}
.main-footer__middle:after {
  content: "";
  position: absolute;
  border: solid 1px var(--color-secondary);
  width: 100%;
}
.main-footer__bottom {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 2rem;
}
.main-footer__bottom--is-left {
  margin-top: auto;
}
.main-footer .footer-social {
  display: flex;
  margin-top: 1em;
  margin-right: 0.8em;
  flex-direction: row;
}
.main-footer .footer-social .socialicon {
  height: 1.5rem;
  width: 1.5rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 2;
  background-color: unset;
  color: unset;
}
.main-footer .footer-social .socialicon--linkedin {
  background-image: url(./assets/img/linkedin.svg);
}
.main-footer .footer-action .footer-newsletter .nexis-buttons > .button {
  margin-bottom: unset !important;
}

/* .customerarea-popup{
    display: none;
     position:fixed;
    inset:0;
    background:rgba(0,0,0,0.6);
    z-index:9999;

    &.is-open{
        display: flex;
        justify-content: center;
        align-items: center;
    }

    &__inner{
        padding: var(--grid-gutter);
        border-radius: var(--br);
        text-align: center;
        width: clamp(320px, 70vw, 520px);
    max-height: 80vh;

    &.background-one::before{
      background: linear-gradient(
    165deg,
    rgba(25,166,194,1) 0%,
    rgba(49,216,153,1) 100%
  );
    }

    .nexis-buttons{
      align-items: center;

      > .button{
        margin-right: unset !important;
      }
    }
    }

    &__close{
      position: absolute;
      right: 16px;
      top: 16px;
      width: 44px;
      height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 26px;      // Größe vom "×"
      line-height: 1;       // nicht 30px o.ä., Flex übernimmt das Zentrieren
      cursor: pointer;
    }
  } */
.social-sharing-container {
  display: flex;
  margin-top: 1em;
}
.social-sharing-container .social-sharing-icon {
  margin-right: 1.5em;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: block;
}
.social-sharing-container .social-sharing-icon:last-child {
  margin-right: 0;
}

i.nexis-icon {
  background-size: contain;
  width: 100%;
  height: 100%;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
}
i.nexis-icon-facebook {
  background-image: url(./assets/img/facebook.svg);
}
i.nexis-icon-twitter {
  background-image: url(./assets/img/twitter.svg);
}
i.nexis-icon-whatsapp {
  background-image: url(./assets/img/whatsapp.svg);
}
i.nexis-icon-share {
  background-image: url(./assets/img/mail.svg);
}
i.nexis-icon-external {
  background-image: url(./assets/img/icons/external.svg);
}
i.nexis-icon-arrow {
  background-image: url(./assets/img/icons/arrow.svg);
}
i.nexis-icon-pdf {
  background-image: url(./assets/img/icons/pdf.svg);
}

.page ul:not([class]) {
  list-style: none;
  padding-left: 0;
}
.page ul:not([class]) li {
  position: relative;
  padding-left: 4em;
  transform: translateX(20px);
  transition: all 2s ease;
  will-change: transform, opacity;
  opacity: 1;
  font-size: 18px !important;
  /*  &.scroll-active {
     transform: translateX(0);
     opacity: 1;
   } */
}
.page ul:not([class]) li:not(:last-child) {
  margin-bottom: 1em;
}
.page ul:not([class]) li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  transform: translatey(-0.5em);
  width: 2.5em;
  height: 1.5em;
  background-image: url(./assets/img/icons/arrow-right-blue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.background-one ul:not([class]) li:before {
  content: "";
  background-image: url(./assets/img/icons/arrow-right-darkblue.svg) !important;
}

.tabs-wrapper {
  display: flex;
}
.tabs-wrapper .iconheadline {
  display: flex;
  align-items: center;
}
.tabs-wrapper .iconheadline > img {
  font-size: 22px;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
}
.tabs-wrapper .tabs-selectors {
  list-style-type: none;
  padding-left: 0;
}
.tabs-wrapper .tabs-selectors > li {
  cursor: pointer;
  /* @include desktop {
    white-space: nowrap;
  }

  @include tablet {
    h3.h4 {
      font-size: 20px;
    }
  } */
}
.tabs-wrapper .tabs-selectors > li:not(:last-child) {
  margin-bottom: 2em;
}
.tabs-wrapper .tabs-selectors > li > * {
  pointer-events: none;
}
.tabs-wrapper .tabs-selectors > li {
  color: var(--font-color);
  opacity: 0.3;
  padding-right: 4em;
  position: relative;
}
.tabs-wrapper .tabs-selectors > li::after {
  content: "";
  display: block;
  width: 2em;
  height: 1.5em;
  background-image: url(./assets/img/icons/arrow-right-darkblue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 0;
  top: 0.5em;
}
.tabs-wrapper .tabs-selectors > li:hover {
  opacity: 1;
  color: var(--color-secondary);
}
.tabs-wrapper .tabs-selectors > li:hover::after {
  background-image: url(./assets/img/icons/arrow-right-darkblue.svg);
}
.tabs-wrapper .tabs-selectors > li.active {
  opacity: 1;
  color: var(--color-secondary);
}
.tabs-wrapper .tabs-selectors > li.active::after {
  background-image: url(./assets/img/icons/arrow-right-darkblue.svg);
}
.tabs-wrapper .tabs-selectors {
  margin: 0;
}
.tabs-wrapper .tabs-contents {
  position: relative;
  overflow: hidden;
  /* @include phone {
    h3.h4 {
      font-size: var(--fs-h3);
      font-weight: 600;
    }
  } */
}
@media (min-width: 768px) {
  .tabs-wrapper .tabs-contents {
    padding-left: calc(var(--vertical-padding) * 1.2);
  }
  .tabs-wrapper .tabs-contents > div {
    height: 0;
    opacity: 0.3;
    transform: translateX(1.5em);
    transition: all 0.5s linear;
    will-change: opacity, transform;
    overflow: hidden;
  }
}
.tabs-wrapper .tabs-contents__item__headline {
  margin-bottom: 1em;
  display: flex;
}
.tabs-wrapper .tabs-contents__item__headline > img {
  font-size: 22px;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
}
.tabs-wrapper .tabs-contents > div.active {
  height: auto;
  transition-duration: 0.5s;
  opacity: 1;
  transform: translateX(0);
}
.tabs-wrapper .tab-content__headline {
  margin-top: 2em;
  margin-bottom: 0.5em;
}

.bottomslider-navigation {
  margin-top: 1em;
  display: flex;
  justify-content: center;
}
.bottomslider-navigation .bottomslider-button-prev,
.bottomslider-navigation .bottomslider-button-next {
  height: 22px;
  width: 22px;
  padding: 4px;
  margin: 0 4px;
  margin-top: -3px;
  cursor: pointer;
}
.bottomslider-navigation .bottomslider-button-prev:after,
.bottomslider-navigation .bottomslider-button-next:after {
  content: "";
  background-image: url(./assets/img/icons/arrow-right.svg);
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 100%;
  display: block;
}
.bottomslider-navigation .bottomslider-button-prev::after {
  transform: rotate(180deg);
}

.bullet-pagination {
  display: flex;
  justify-content: center;
  width: auto !important;
}
.bullet-pagination .swiper-pagination-bullet {
  background-color: transparent;
  border: 1px solid var(--color-secondary);
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 8px;
  transition: all 0.3s ease;
  will-change: width, opacity;
  opacity: 0.2;
}
.bullet-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 43px;
  opacity: 1;
}
.bullet-pagination .swiper-pagination-bullet:hover {
  opacity: 1;
}

.nexis-testimonial {
  margin-left: var(--grid-gutter);
  margin-right: var(--grid-gutter);
}
.nexis-testimonial::before {
  content: "";
  position: absolute;
  left: calc(var(--grid-gutter) * 2);
  top: 0;
  transform: translateY(-25%);
  width: 80px;
  height: 80px;
  background: url(./assets/img/icons/open-quote.svg) center/contain no-repeat;
  pointer-events: none;
  z-index: 9;
}
@media (min-width: 1240px) {
  .nexis-testimonial::before {
    left: calc(var(--grid-gutter) * 2);
  }
}
.nexis-testimonial-carousel {
  border-radius: 18px;
  background-color: #fff;
}
@media (min-width: 1240px) {
  .nexis-testimonial-carousel {
    border-radius: 18px;
    background-color: #fff;
  }
}
.nexis-testimonial__image {
  width: 200px;
  flex: 0 0 200px;
  position: relative;
  z-index: 1;
}
.nexis-testimonial__image img {
  object-fit: contain !important;
}
@media (max-width: 767px) {
  .nexis-testimonial__image {
    flex: unset;
  }
}
.nexis-testimonial__content {
  position: relative;
  z-index: 3;
  color: var(--font-color);
  overflow: hidden;
}
@media (min-width: 1240px) {
  .nexis-testimonial__content {
    padding-right: var(--grid-gutter);
  }
}
@media (min-width: 768px) and (max-width: 1239px) {
  .nexis-testimonial__content {
    padding-right: calc(var(--grid-gutter) / 2);
  }
}
.nexis-testimonial__text {
  line-height: 1.68;
  text-align: left;
}
.nexis-testimonial__meta {
  display: flex;
  font-size: 16px;
  font-weight: 800;
  margin-top: 1.2em;
  color: var(--color-secondary);
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .nexis-testimonial__meta {
    margin-top: 2em;
  }
}
.nexis-testimonial__firma {
  font-weight: 600;
  text-align: left;
}
.nexis-testimonial__item {
  position: relative;
  overflow: visible !important;
  height: auto;
}
@media (min-width: 1240px) {
  .nexis-testimonial__item {
    padding: var(--grid-gutter) calc(var(--grid-gutter) * 2);
  }
}
@media (max-width: 1239px) {
  .nexis-testimonial__item {
    padding: var(--grid-gutter);
  }
}
.nexis-testimonial__item-inner {
  display: flex;
  align-items: center;
  height: 100%;
}
@media (max-width: 767px) {
  .nexis-testimonial__item-inner {
    flex-direction: column-reverse;
    text-align: center;
    justify-content: flex-end;
  }
}

.nexis-testimonial--v2::before {
  content: "";
  position: absolute;
  left: var(--grid-gutter);
  top: 0;
  transform: translateY(-80%) !important;
  width: 80px;
  height: 80px;
  background: url(./assets/img/icons/open-quote.svg) center/contain no-repeat;
  pointer-events: none;
  z-index: 9;
}
@media (max-width: 767px) {
  .nexis-testimonial--v2::before {
    transform: translateY(-90%) !important;
    left: var(--grid-gutter);
  }
}
.nexis-testimonial--v2 .nexis-testimonial__item {
  padding: unset;
}
.nexis-testimonial--v2 .nexis-testimonial__meta {
  align-items: center;
}
.nexis-testimonial--v2 .nexis-testimonial__avatar {
  width: 100px;
  height: 100px;
  flex: 0 0 100px;
}
@media (max-width: 767px) {
  .nexis-testimonial--v2 .nexis-testimonial__item-inner {
    gap: 18px;
  }
  .nexis-testimonial--v2 .nexis-testimonial__avatar {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
  }
}

.slider-button-prev {
  transform: rotate(180deg) !important;
}

.slider-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.slider-pagination {
  flex: 0;
  white-space: nowrap;
  margin: 0 1rem;
  display: flex;
}
.slider-pagination .swiper-pagination-bullet {
  background: none;
  border-radius: 0;
  width: auto;
  height: 1em;
  display: flex;
  justify-content: center;
  text-align: center;
  line-height: 1em;
  position: relative;
}
.slider-pagination .swiper-pagination-bullet::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--font-color);
  position: absolute;
  top: 100%;
  opacity: 0;
  margin-top: 0.3em;
}
.slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  opacity: 1;
}

.nexis-imageslider__image .has-16-9 img {
  object-fit: contain !important;
}
@media (max-width: 767px) {
  .nexis-imageslider__image .has-16-9 {
    max-width: 200px;
  }
}
.nexis-imageslider__bottom .slider-navigation {
  width: 100%;
  justify-content: center;
  padding-top: 2em;
  padding-bottom: 1em;
  padding-left: 1em;
  padding-right: 1em;
}
.nexis-imageslider .swiper-wrapper {
  transition-timing-function: linear !important;
}

.nexis-iconbox__item {
  padding: 18px;
  border-radius: var(--br);
}

.nx-accordion:not(:first-child) {
  border-top: 1px solid var(--font-color);
}
.nx-accordion {
  /*   &:last-child {
      border-bottom: 1px solid var(--font-color);
    } */
}
.nx-accordion__header .h3 {
  font-size: var(--font-size);
}
.nx-accordion .accordion-toggle {
  padding-top: calc(var(--grid-gutter) / 2);
  padding-bottom: calc(var(--grid-gutter) / 2);
  padding-left: var(--grid-gutter);
  padding-right: var(--grid-gutter);
}
@media (max-width: 767px) {
  .nx-accordion .accordion-toggle {
    padding-top: calc(var(--grid-gutter) * 1.5);
    padding-bottom: calc(var(--grid-gutter) * 1.5);
    padding-left: 0;
    padding-right: 0;
  }
}
.nx-accordion .accordion-toggle {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nx-accordion .accordion-toggle::after {
  content: "";
  display: flex;
  height: 1em;
  flex: 0 0 1em;
  margin-left: 1em;
  width: 1em;
  background-image: url(./assets\f ontawesomesvgslight\a rrow-right.svg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
}
.nx-accordion__content {
  display: block;
  padding-left: var(--grid-gutter);
  padding-right: calc(4 * var(--grid-gutter));
}
@media (max-width: 767px) {
  .nx-accordion__content {
    padding-left: 0;
    padding-right: 0;
  }
}
.nx-accordion__content {
  line-height: 1.66;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  font-size: 16px;
}
.nx-accordion.active .accordion-toggle {
  color: var(--color-primary-alt);
}
.nx-accordion.active .accordion-toggle::after {
  transform: rotate(180deg);
  background-image: url(./assets/img/accordion-toggler__red.svg);
}
.nx-accordion.active .nx-accordion__content {
  display: block;
  max-height: 1000px;
}

.nx-flow .cards__flow {
  position: relative;
  counter-reset: flow__item;
  align-items: flex-start;
  text-align: left;
  --stagger: .85s;
  padding-left: 2.5em;
}
.nx-flow .cards__flow::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
}
.nx-flow .cards__flow.is-inview .flow__item::before {
  animation: popIn 0.3s ease-out forwards;
  animation-delay: 0.2s;
}
.nx-flow .cards__flow.is-inview .flow__item::after {
  animation: flowDown 0.9s ease-out forwards;
}
.nx-flow .cards__flow.is-inview .flow__item:nth-child(1)::after {
  animation-delay: calc(1 * var(--stagger));
}
.nx-flow .cards__flow.is-inview .flow__item:nth-child(2)::after {
  animation-delay: calc(2 * var(--stagger));
}
.nx-flow .cards__flow.is-inview .flow__item:nth-child(3)::after {
  animation-delay: calc(3 * var(--stagger));
}
.nx-flow .cards__flow.is-inview .flow__item:nth-child(4)::after {
  animation-delay: calc(4 * var(--stagger));
}
.nx-flow .cards__flow .flow__item {
  position: relative;
  margin: 2em 0;
  padding-left: 2em;
}
.nx-flow .cards__flow .flow__item::before {
  counter-increment: flow__item;
  content: counter(flow__item, decimal-leading-zero);
  position: absolute;
  left: -3rem;
  top: -0.5rem;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 0 0 4px #e6f4ee;
  opacity: 0;
  transform: scale(0.9);
}
.nx-flow .cards__flow .flow__item::after {
  content: "";
  position: absolute;
  left: -28px;
  top: 30px;
  width: 2px;
  height: calc(100% + 2rem);
  z-index: -9;
  background: var(--color-primary);
  transform: scaleY(0);
  transform-origin: top;
  pointer-events: none;
}
.nx-flow .cards__flow .flow__item:last-child::after {
  height: calc(100% - 2rem);
}

.elementor-button,
.button,
[type=button],
[type=reset],
[type=submit],
button {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)) padding-box, var(--grad-blue) border-box;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 600;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: var(--br);
}
@media (max-width: 767px) {
  .elementor-button,
  .button,
  [type=button],
  [type=reset],
  [type=submit],
  button {
    font-size: 14px;
  }
}
.elementor-button::after,
.button::after,
[type=button]::after,
[type=reset]::after,
[type=submit]::after,
button::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url(./assets/img/icons/arrow-right-blue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  right: 0;
  top: 0.5em;
}
.elementor-button:hover::after,
.button:hover::after,
[type=button]:hover::after,
[type=reset]:hover::after,
[type=submit]:hover::after,
button:hover::after {
  transform: translateX(4px);
}
.elementor-button > span,
.button > span,
[type=button] > span,
[type=reset] > span,
[type=submit] > span,
button > span {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .elementor-button > span,
  .button > span,
  [type=button] > span,
  [type=reset] > span,
  [type=submit] > span,
  button > span {
    white-space: normal;
  }
}
.elementor-button,
.button,
[type=button],
[type=reset],
[type=submit],
button {
  /*  &.is-hover,
   &:hover {
       color: #fff !important;
       background-color: var(--color-primary);
       opacity: 1 !important;
   } */
}

a.button-linkDecoration {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)) padding-box, var(--grad-blue) border-box;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 600;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: var(--br);
  font-size: 18px;
  padding: 0.8em 12px;
}
a.button-linkDecoration::after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background-color: currentColor;
  -webkit-mask: url("./assets/fontawesome/svgs/light/arrow-right.svg") center/contain no-repeat;
  mask: url("./assets/fontawesome/svgs/light/arrow-right.svg") center/contain no-repeat;
  transition: transform 180ms ease;
}
a.button-linkDecoration:hover::after {
  transform: translateX(4px);
}

.background-one a.button-linkDecoration {
  -webkit-text-fill-color: var(--color-secondary);
  color: var(--color-secondary);
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  font-size: 18px;
}
.background-one a.button-linkDecoration::after {
  content: "";
  background-image: url(./assets/img/icons/arrow-right-darkblue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav ul > li {
  margin-bottom: 0.5em;
}
.nav ul li.menu-item-has-children > a[href="#"] {
  pointer-events: none;
  cursor: default;
}
.nav ul.sub-menu {
  direction: flex;
  flex-direction: column;
}
.nav--footer {
  display: flex;
  justify-content: center;
}
.nav--footer ul.menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  z-index: 2;
  justify-content: space-between;
  flex: 1 1 0;
  align-items: stretch;
}
.nav--footer ul.menu > li {
  display: flex;
  flex-direction: column;
}
.nav--footer ul.menu li.menu-item-has-children > a[href="#"] {
  pointer-events: none;
  cursor: default;
  color: var(--color-secondary);
  font-weight: 700;
}
.nav--footer ul.menu li.menu-item-has-children > .sub-menu {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.nav--footer .sub-menu > li.menu-item-15853 {
  margin-top: auto !important;
}
.nav--footer ul.sub-menu a {
  position: relative;
  text-decoration: none;
  color: var(--font-color);
  font-weight: 400;
}
.nav--footer ul.sub-menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 1px;
  width: 0;
  background: currentColor;
  transition: width 0.48s ease;
}
.nav--footer ul.sub-menu a:hover::after {
  width: 100%;
}
.nav--legal ul a {
  position: relative;
  text-decoration: none;
  color: var(--font-color);
  font-weight: 400;
  display: flex;
  flex-direction: row;
  flex: wrap;
  gap: 20px;
}
.nav--legal ul a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 1px;
  width: 0;
  background: currentColor;
  transition: width 0.48s ease;
}
.nav--legal ul a:hover::after {
  width: 100%;
}

/* Style Code for Nexis Widgets  */
.seitenwidget {
  padding-top: calc(var(--grid-gutter) / 2);
}
.seitenwidget-herotext .nexis-herotext__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.seitenwidget-herotext .nexis-herotext__title {
  padding-top: 16px;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser {
  display: flex;
  align-items: strech;
  gap: clamp(16px, 3vw, 40px);
  border-radius: var(--br);
  overflow: hidden;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser:not(:last-child) {
  margin-bottom: 2rem;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__actions {
  padding-top: var(--nx-gap);
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__img {
  flex: 0 1 50%;
  display: flex;
  align-items: stretch;
  height: 100%;
  width: 100%;
  margin-top: auto;
  margin-bottom: auto;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__img img {
  display: block;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__video > iframe,
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__video > embed,
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__video > object,
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__video > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__content {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser__title {
  margin-top: unset !important;
}
@media (max-width: 1024px) {
  .seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser {
    flex-direction: column;
  }
  .seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser .nexis-imagetextteaser__img,
  .seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser .nexis-imagetextteaser__content {
    flex: 0 0 auto;
    width: 100%;
  }
  .seitenwidget-imagetextteaser .nexis-imagetextteaser .nexis-teaser .nexis-imagetextteaser__image {
    height: auto;
  }
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser.has-padding-none {
  padding: 0;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser.has-padding-one .nexis-teaser__content, .seitenwidget-imagetextteaser .nexis-imagetextteaser.has-padding-one .nexis-teaser__img {
  padding: clamp(14px, 2.2vw, 28px);
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser {
  /* &.has-padding-medium { 
      padding: 2rem; 
      .nexis-teaser {
          &__content, &__img {
              padding: clamp(14px, 2.2vw, 28px);
          }
      }
  } */
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser.is-v2 .nexis-teaser__list {
  justify-content: space-between;
}
.seitenwidget-imagetextteaser .nexis-imagetextteaser.is-v2 .feature-card__media {
  padding-bottom: 2em;
}
@media (max-width: 767px) {
  .seitenwidget .nexis-imagetextteaser.is-v2 .nexis-teaser__list {
    gap: 2.5em;
  }
}
.seitenwidget .is-row .nexis-herosection__text {
  flex: 1 1 calc(50% - var(--grid-gutter) / 2);
}
.seitenwidget .is-row .nexis-herosection__media {
  flex: 1 1 calc(50% - var(--grid-gutter) / 2);
}
.seitenwidget-herosection {
  overflow: visible;
  position: relative;
}
.seitenwidget-herosection .seitenwidget__beta-badge {
  position: absolute;
  top: 100px;
  left: 100%;
  z-index: 999;
  transform: translate(-100%, -120%);
  max-height: 150px;
  height: 100%;
  width: 100%;
  max-width: 150px;
}
.seitenwidget-herosection .seitenwidget__beta-badge img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.seitenwidget-demo {
  padding-top: 16px;
}
.seitenwidget-demo .nexis-demo__inner {
  justify-content: space-between;
}
.seitenwidget-demo .nexis-demo__icon {
  padding-top: 2em;
}
.seitenwidget-demo .nexis-demo .nx-cards .nx-card__image img {
  border-radius: unset !important;
}
.seitenwidget-demo .nexis-demo .nx-cards .nx-card__icon svg path {
  fill: #0C3865;
}
.seitenwidget-imagegallery.v1 .nexis-imagegallery {
  justify-content: center;
}
.seitenwidget-imagegallery.v1 .nexis-imagegallery__media {
  width: 100%;
  height: 100%;
  max-width: 200px;
  max-height: 100px;
}
.seitenwidget-imagegallery.v1 .nexis-imagegallery__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 18px;
}
@keyframes nxFadeUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.seitenwidget-imagegallery.v1__item {
  animation: nxFadeUp 450ms ease both;
}
.seitenwidget-imagegallery.v1__item:nth-child(1) {
  animation-delay: 0ms;
}
.seitenwidget-imagegallery.v1__item:nth-child(2) {
  animation-delay: 60ms;
}
.seitenwidget-imagegallery.v1__item:nth-child(3) {
  animation-delay: 120ms;
}
.seitenwidget-imagegallery.v1__item:nth-child(4) {
  animation-delay: 180ms;
}
.seitenwidget-imagegallery.v1__item:nth-child(5) {
  animation-delay: 240ms;
}
.seitenwidget-imagegallery.v1__item:nth-child(6) {
  animation-delay: 300ms;
}
@media (prefers-reduced-motion: reduce) {
  .seitenwidget-imagegallery.v1 .nexis-imagegallery__item,
  .seitenwidget-imagegallery.v1 .nexis-imagegallery__logo {
    animation: none !important;
    transition: none !important;
  }
}
.seitenwidget-iconbox .nx-cards--success_stories .nx-card__image {
  width: 100%;
  max-width: 200px !important;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  border-radius: 0;
}
.seitenwidget-iconbox .nx-cards--success_stories .nx-card__image img {
  object-fit: contain;
  display: block;
  border-radius: unset !important;
  width: 100%;
  height: 100%;
}
.seitenwidget-iconbox .nx-cards--success_stories .nx-card__content {
  margin-top: auto;
}

@media (max-width: 767px) {
  .hide-phone {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1239px) {
  .hide-tablet {
    display: none !important;
  }
}
@media (min-width: 1240px) {
  .hide-desktop {
    display: none !important;
  }
}
.wysiwyg > p:empty {
  display: none;
}
.wysiwyg > *:first-child {
  margin-top: 0;
}
.wysiwyg > *:last-child {
  margin-bottom: 0;
}
.wysiwyg > .button:last-child {
  margin-bottom: -1rem;
}

.has-square {
  width: 100%;
  height: 0;
  padding-top: 100%;
  position: relative;
}
.has-square > * {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.has-16-9 {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
}
.has-16-9 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.has-2-1 {
  width: 100%;
  height: 0;
  padding-top: 50%;
  position: relative;
}
.has-2-1 > * {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.has-linked-in {
  width: 100%;
  height: 0;
  padding-top: calc(628 / 1200 * 100%);
  position: relative;
}
.has-linked-in img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.no-margin {
  margin: 0 !important;
}

@media (min-width: 768px) {
  .match-height {
    height: 100%;
    position: relative;
  }
  .match-height > * {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    position: absolute;
    inset: 0;
  }
}
img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.has-glow::before, .has-glow::after {
  content: conte;
}
.has-glow > img {
  display: block;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 10px rgba(25, 166, 194, 0.9)) drop-shadow(0 10px 28px rgba(12, 56, 101, 0.899));
}

.has-shadow {
  box-shadow: var(--box-shadow);
}

/* =========================
 * Card Element 
 * Image - Titel - 
 * ggfl. Slider´style für "latest Highlights 
 * ========================= */
.nx-cards {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap, 18px);
  align-items: stretch;
  justify-content: center;
}
.nx-cards .nx-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  text-decoration: none;
  justify-content: center;
  height: auto;
  border-radius: var(--br);
}
.nx-cards .nx-card__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100%;
  gap: var(--gap, 20px);
}
.nx-cards .nx-card__image {
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: var(--br);
}
.nx-cards .nx-card__image img {
  border-radius: var(--br);
  transform: scale(1);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.nx-cards .nx-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--grad-red);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
  border-radius: inherit;
  transform: scale(1);
  transition: transform 0.45s ease;
  will-change: opacity, transform;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.nx-cards .nx-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 2em 2em 2em;
}
.nx-cards .nx-card__title {
  line-height: 1.3;
  max-height: 3.9em;
  overflow: hidden;
}
.nx-cards .nx-card__button {
  margin-top: auto;
  justify-content: flex-start;
  width: auto;
  display: flex;
}
.nx-cards .nx-card__button.nexis-button {
  display: inline-flex;
  width: fit-content;
  white-space: nowrap;
}
.nx-cards .nx-card {
  /*  &__teaser {
       --teaser-lines: 6;
       line-height: 1.6;
       display: -webkit-box;
       -webkit-box-orient: vertical;
       -webkit-line-clamp: var(--teaser-lines);
       overflow: hidden;
       flex: 1;
       min-height: calc(1.6em * var(--teaser-lines));
   } */
}
.nx-cards .nx-card .nx-button {
  margin-top: auto;
  align-self: flex-start;
}
.nx-cards--icon .nx-card {
  padding: 1.5em;
  height: auto;
}
.nx-cards--icon .nx-card__inner {
  align-items: center;
  text-align: center;
}
.nx-cards--icon .nx-card__image:not(.nx-cards--icon .nx-card__image--svg) {
  max-width: 60px;
  border-radius: unset !important;
}
.nx-cards--icon .nx-card__image--image {
  max-width: unset;
}
.nx-cards--icon .nx-card__icon {
  color: var(--color-secondary);
}
.nx-cards--icon .nx-card__icon svg {
  width: 4em;
  height: 4em;
  fill: currentColor;
}
.nx-cards--icon .nx-card__content {
  padding: 0;
}
.nx-cards--icon .nx-card__title {
  --title-lines: 2;
  min-height: auto;
}
.nx-cards--icon .nx-card__teaser {
  line-height: normal;
  min-height: 0;
  --teaser-lines: 0;
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
  overflow: visible;
}
.nx-cards--blog .nx-card:hover .nx-card__image img, .nx-cards--blog .nx-card:focus-within .nx-card__image img, .nx-cards--blog .nx-card:focus-visible .nx-card__image img, .nx-cards--webinar .nx-card:hover .nx-card__image img, .nx-cards--webinar .nx-card:focus-within .nx-card__image img, .nx-cards--webinar .nx-card:focus-visible .nx-card__image img {
  transform: scale(1.05);
}
.nx-cards--blog .nx-card:hover .nx-card__image::after, .nx-cards--blog .nx-card:focus-within .nx-card__image::after, .nx-cards--blog .nx-card:focus-visible .nx-card__image::after, .nx-cards--webinar .nx-card:hover .nx-card__image::after, .nx-cards--webinar .nx-card:focus-within .nx-card__image::after, .nx-cards--webinar .nx-card:focus-visible .nx-card__image::after {
  opacity: 0.45;
  transform: scale(1.02);
}
.nx-cards.v2 .nx-card__inner {
  flex-direction: row;
  gap: var(--gap, 20px);
  text-align: left !important;
}
.nx-cards.v2 .nx-card__content {
  align-items: flex-start;
  text-align: left !important;
  justify-content: flex-start;
  gap: 0;
}
.text-gradient {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)) padding-box, var(--grad-blue) border-box;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 600;
  position: relative;
}

.background-one .text-gradient {
  -webkit-text-fill-color: var(--color-secondary);
  color: var(--color-secondary);
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
}

.techbiz-fluid .builder-page-wrapper {
  padding-left: var(--grid-gutter);
  padding-right: var(--grid-gutter);
}

/* .nexis-row {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  //margin-left: calc(var(--grid-gutter) / -2);
  //margin-right: calc(var(--grid-gutter) / -2);
  gap: 2em;
}

.nexis-row-reverse {
  flex-direction: row-reverse;
} */
.nexis-col {
  display: flex;
  flex-direction: column;
}

.is-row {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: var(--nx-gap);
}

.is-row-reverse {
  flex-direction: row-reverse;
}

.is-col {
  display: flex;
  flex-direction: column;
  gap: var(--nx-gap);
}

.is-center {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: var(--nx-gap);
}

.is-horizontal {
  display: flex;
  flex-wrap: wrap;
}

.is-vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.nx-col-2 {
  flex: 0 0 calc(50% - var(--nx-gap, 18px));
  max-width: calc(50% - var(--nx-gap, 18px));
}

.nx-col-3 {
  flex: 0 0 calc(33.333% - var(--nx-gap, 18px));
  max-width: calc(33.333% - var(--nx-gap, 18px));
}

.nx-col-4 {
  flex: 0 0 calc(25% - var(--nx-gap, 18px));
  max-width: calc(25% - var(--nx-gap, 18px));
}

@media (max-width: 1239px) {
  .nx-col-3 {
    flex: 0 0 calc(50% - var(--nx-gap, 18px));
    max-width: calc(50% - var(--nx-gap, 18px));
  }
  .nx-col-4 {
    flex: 0 0 calc(33.333% - var(--nx-gap, 18px));
    max-width: calc(33.333% - var(--nx-gap, 18px));
  }
}
@media (max-width: 767px) {
  .nx-col-2, .nx-col-3 {
    flex: 0 0 calc(100% - var(--nx-gap, 18px));
    max-width: calc(100% - var(--nx-gap, 18px));
  }
  .nx-col-4 {
    flex: 0 0 calc(50% - var(--nx-gap, 18px));
    max-width: calc(50% - var(--nx-gap, 18px));
  }
}
@media (max-width: 199px) {
  .nx-col-4 {
    flex: 0 0 calc(100% - var(--nx-gap, 18px));
    max-width: calc(100% - var(--nx-gap, 18px));
  }
}
.nexis-buttons {
  display: flex;
  flex-wrap: wrap;
}
.nexis-buttons > .button {
  margin-right: 1em;
  margin-bottom: 1em;
  align-items: center;
}
.nexis-buttons--vertical {
  flex-direction: column;
  align-items: flex-start;
}
.nexis-buttons--vertical > .button {
  margin-right: 0;
}

/* Helper: Gradient nur im Text (Firefox-safe)
   WICHTIG: background-image statt background, damit wir nicht den Button-Hintergrund überschreiben */
/* Basis Button: immer weiß */
.nexis-button {
  padding: 0.4em 12px;
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
  gap: 5px;
  text-decoration: none;
  /* ✅ Hintergrund IMMER weiß (unabhängig vom Theme) */
  background: #fff !important;
  background-image: none !important;
  /* Outline wird pro Variante gesetzt */
  border: 1px solid transparent;
}

/* Label: bekommt den Gradient, nicht der Button */
.nexis-button__label {
  display: inline-block;
  font-size: 18px;
}

/* -------------------------
   Varianten
-------------------------- */
/* v1: rot, Outline, Pfeil (mask) */
.nexis-button--v1 {
  border-color: var(--color-border-orange);
  transition: none;
}
.nexis-button--v1 .nexis-button__label {
  background-image: var(--grad-red);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.nexis-button--v1::after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background-color: var(--color-border-orange);
  -webkit-mask: url("./assets/fontawesome/svgs/light/arrow-right.svg") center/contain no-repeat;
  mask: url("./assets/fontawesome/svgs/light/arrow-right.svg") center/contain no-repeat;
  transition: transform 180ms ease;
}
.nexis-button--v1:hover::after {
  transform: translateX(4px);
}

/* v2: blau, Outline, ohne Pfeil */
.nexis-button--v2 {
  border-color: var(--color-border-blue);
  transition: none;
}
.nexis-button--v2 .nexis-button__label {
  background-image: var(--grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* v3: rot, Outline, Pfeil (mask) */
.nexis-button--v3 {
  border-color: var(--color-border-orange);
  transition: none;
}
.nexis-button--v3 .nexis-button__label {
  background-image: var(--grad-red);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.nexis-button--v3::after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background-color: var(--color-border-orange);
  -webkit-mask: url("./assets/fontawesome/svgs/light/arrow-right.svg") center/contain no-repeat;
  mask: url("./assets/fontawesome/svgs/light/arrow-right.svg") center/contain no-repeat;
  transition: transform 180ms ease;
}
.nexis-button--v3:hover::after {
  transform: translateX(4px);
}

/* v4: Gradient-Text + Gradient-Rahmen (Firefox-safe) + Pfeil als Image */
.nexis-button--v4 {
  font-weight: 600;
  font-size: 18px;
  padding: 0.8em 12px;
  gap: 0.4rem;
  transition: none;
  /* ✅ Text-Gradient nur am Label */
}
.nexis-button--v4 .nexis-button__label {
  background-image: var(--grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.nexis-button--v4 {
  /* ✅ Gradient-Rahmen via ::before */
  border: 1px solid transparent;
  box-shadow: none;
  z-index: 0;
}
.nexis-button--v4::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: var(--grad-blue);
  pointer-events: none;
  z-index: -1;
  /* Mitte ausstanzen -> nur Rahmen bleibt */
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.nexis-button--v4::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url(./assets/img/icons/arrow-right-blue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 180ms ease;
  padding-left: 8px;
}
.nexis-button--v4:hover::after {
  transform: translateX(4px);
}

/* Theme Override: background-one
   -> betrifft jetzt NUR den Text (Label), nicht den Button-Hintergrund */
.background-one .nexis-buttons .nexis-button--v4 .nexis-button__label {
  background-image: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: initial;
  color: var(--color-secondary);
}
.background-one .nexis-buttons .nexis-button--v4::after {
  background-image: url(./assets/img/icons/arrow-right-darkblue.svg);
}

/* Optionaler Fallback nur für Browser OHNE background-clip:text */
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .nexis-button__label {
    background: none !important;
    color: currentColor !important;
  }
}
.enable-padding-default {
  padding-top: var(--vertical-padding);
  padding-bottom: var(--vertical-padding);
}
.enable-padding-half {
  padding-top: calc(0.5 * var(--vertical-padding));
  padding-bottom: calc(0.5 * var(--vertical-padding));
}

.enable-top-padding-default {
  padding-top: var(--vertical-padding);
}
.enable-top-padding-half {
  padding-top: calc(0.5 * var(--vertical-padding));
}
.enable-top-padding-none {
  padding-top: 0;
}

.enable-bottom-padding-default {
  padding-bottom: var(--vertical-padding) g;
}
.enable-bottom-padding-half {
  padding-bottom: calc(0.5 * var(--vertical-padding));
}
.enable-bottom-padding-none {
  padding-bottom: 0;
}

/* ===========================
   Cards: Request
   =========================== */
.cards--request {
  --card-gap: clamp(16px, 2vw, 32px);
  --card-pad: clamp(16px, 2.2vw, 32px);
}
.cards--request > .elementor-container {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
  align-items: center;
}
.cards--request > .elementor-container > .elementor-column {
  flex: 0 1 auto;
  width: clamp(400px, 400%, 600px);
  max-width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
.cards--request > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.2vw, 18px);
  padding: var(--card-pad) !important;
  width: 100%;
  flex: 1;
  min-width: 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(2px);
  /* Pfeil-Deko (Basis) */
}
.cards--request > .elementor-container > .elementor-column > .elementor-widget-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 150px; /* Icon-Größe */
  height: 60px;
  background: center/contain no-repeat url("../../../img/icons/nexis_arrow_right_white.svg");
  pointer-events: none;
  will-change: transform, opacity; /* Performance-Hinweis */
}
.cards--request > .elementor-container > .elementor-column > .elementor-widget-wrap {
  /* Hover: Animation beschleunigen */
}
.cards--request > .elementor-container > .elementor-column > .elementor-widget-wrap:hover::after {
  animation-duration: 1.6s;
}
.cards--request > .elementor-container > .elementor-column {
  /* Button nach unten schieben */
}
.cards--request > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget:last-child {
  margin-top: auto;
  align-self: flex-start;
  position: relative;
  overflow: visible;
}
.cards--request > .elementor-container > .elementor-column {
  /* ODD (1,3,5 …): Basis + Animation */
}
.cards--request > .elementor-container > .elementor-column:nth-child(odd) > .elementor-widget-wrap::after {
  left: 0;
  bottom: 0;
  transform: translate(-120px, -20px) rotate(45deg);
  transform-origin: left bottom;
  z-index: 999;
  animation: arrow-bob-odd 2.6s ease-in-out infinite;
}
.cards--request > .elementor-container > .elementor-column {
  /* EVEN (2,4,6 …): Basis + Animation */
}
.cards--request > .elementor-container > .elementor-column:nth-child(even) > .elementor-widget-wrap::after {
  right: 0;
  bottom: 0;
  left: auto;
  transform: translate(10px, 100px) scaleX(-1) rotate(40deg);
  transform-origin: right bottom;
  animation: arrow-bob-even 2.6s ease-in-out infinite;
}
.cards--request > .elementor-container > .elementor-column {
  /* Stagger-Effekt (optional) */
}
.cards--request > .elementor-container > .elementor-column:nth-child(3n+1) > .elementor-widget-wrap::after {
  animation-delay: 0s;
}
.cards--request > .elementor-container > .elementor-column:nth-child(3n+2) > .elementor-widget-wrap::after {
  animation-delay: 0.25s;
}
.cards--request > .elementor-container > .elementor-column:nth-child(3n) > .elementor-widget-wrap::after {
  animation-delay: 0.5s;
}
.cards--request > .elementor-container {
  /* Letzte Card ohne Pfeil */
}
.cards--request > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap::after {
  content: none !important;
}
.cards--request {
  /* Optional: auf sehr kleinen Screens volle Breite */
}
@media (max-width: 600px) {
  .cards--request > .elementor-container > .elementor-column {
    width: 100%;
  }
}
.cards--request {
  /* Bewegungsreduktion respektieren */
}
@media (prefers-reduced-motion: reduce) {
  .cards--request .elementor-column > .elementor-widget-wrap::after {
    animation: none !important;
  }
}

/* Keyframes */
@keyframes arrow-bob-odd {
  0% {
    transform: translate(-120px, -20px) rotate(45deg);
  }
  50% {
    transform: translate(-120px, -28px) rotate(47deg);
  }
  100% {
    transform: translate(-120px, -20px) rotate(45deg);
  }
}
@keyframes arrow-bob-even {
  0% {
    transform: translate(10px, 100px) scaleX(-1) rotate(40deg);
  }
  50% {
    transform: translate(18px, 96px) scaleX(-1) rotate(42deg);
  }
  100% {
    transform: translate(10px, 100px) scaleX(-1) rotate(40deg);
  }
}
/* ===========================
   Footer Badges (Gallery Image)
   =========================== */
.elementor-widget-techbizgalleryimage {
  --logo-h: 200px;
  --logo-h-md: 100px;
  --logo-h-sm: 80px;
}
.elementor-widget-techbizgalleryimage .footer-gallery {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row !important;
  align-items: center;
  justify-content: center !important;
}
.elementor-widget-techbizgalleryimage .footer-gallery .gal-item {
  flex: 0 0 auto;
}
.elementor-widget-techbizgalleryimage .footer-gallery img {
  max-height: var(--logo-h);
  width: auto !important;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  display: block;
}
.elementor-widget-techbizgalleryimage .footer-gallery a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 8px;
}

/* Responsive Logo-Höhen (wie im Original, Selector beibehalten) */
@media (max-width: 1024px) {
  .cards--galleryimg {
    --logo-h: var(--logo-h-md);
  }
}
@media (max-width: 600px) {
  .cards--galleryimg {
    --logo-h: var(--logo-h-sm);
  }
}
/* ===========================
   Feature Cards (Reports / Highlight)
   =========================== */
.cards--report,
.cards--highlight {
  padding-bottom: 100px !important;
}
.cards--report .slick-track,
.cards--highlight .slick-track {
  display: flex;
  align-items: stretch;
}
.cards--report .slick-slide,
.cards--highlight .slick-slide {
  height: auto;
}
.cards--report .slick-slide > div,
.cards--highlight .slick-slide > div {
  height: 100%;
  display: flex;
}

/* Reports */
.cards--report .feature-style2,
.cards--report .feature-style4 {
  display: flex;
  flex-direction: column;
  height: 100%;
  /* optionale Mindesthöhe
  min-height: clamp(380px, 38vw, 520px);
  */
}
.cards--report .feature-style2 .feature-icon,
.cards--report .feature-style4 .feature-icon {
  margin: 0 0 16px;
  order: 1 !important;
}
.cards--report .feature-style2 .feature-text,
.cards--report .feature-style4 .feature-text {
  margin: 0 0 16px;
  order: 2 !important;
}
.cards--report .feature-style2 .feature-title,
.cards--report .feature-style4 .feature-title {
  margin-top: auto;
  margin-bottom: 1.5rem;
  order: 3 !important;
}
.cards--report .feature-style2 .link-btn,
.cards--report .feature-style4 .link-btn {
  align-self: flex-start;
  margin-top: 0;
  order: 4 !important;
}

/* Highlight: Reihenfolge Bild, Titel, Text, Pfeil */
.cards--highlight .service-style4 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.cards--highlight .service-style4 .service-top {
  display: contents; /* entkapseln */
}
.cards--highlight .service-style4 .service-img {
  order: 1 !important;
}
.cards--highlight .service-style4 .service-title {
  order: 2 !important;
}
.cards--highlight .service-style4 .service-text {
  order: 3 !important;
}
.cards--highlight .service-style4 .service-btn {
  order: 4 !important;
}

/* ===========================
   Road to Nexis – Counter / Timeline
   =========================== */
.cards__counter {
  position: relative;
  counter-reset: counter__item;
  max-width: 50vw;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  --stagger: .85s;
}
.cards__counter::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  /* width: 2px; background: var(--color-primary); */
}
.cards__counter .counter__item {
  position: relative;
  margin: 20px 0 0;
}
.cards__counter .counter__item::before {
  counter-increment: counter__item;
  content: counter(counter__item, decimal-leading-zero);
  position: absolute;
  left: -56px;
  top: -42px;
  width: 42px;
  height: 42px;
  line-height: 42px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 0 0 4px #e6f4ee;
  opacity: 0;
  transform: scale(0.9);
}
.cards__counter .counter__item::after {
  content: "";
  position: absolute;
  left: -35px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--color-primary);
  transform: scaleY(0);
  transform-origin: top;
  pointer-events: none;
}
.cards__counter {
  /* Aktiv, sobald .is-inview gesetzt ist */
}
.cards__counter.is-inview .counter__item::before {
  animation: popIn 0.3s ease-out forwards;
  animation-delay: 0.2s;
}
.cards__counter.is-inview .counter__item::after {
  animation: flowDown 0.9s ease-out forwards;
}
.cards__counter.is-inview .counter__item:nth-child(1)::after {
  animation-delay: calc(1 * var(--stagger));
}
.cards__counter.is-inview .counter__item:nth-child(2)::after {
  animation-delay: calc(2 * var(--stagger));
}
.cards__counter.is-inview .counter__item:nth-child(3)::after {
  animation-delay: calc(3 * var(--stagger));
}
.cards__counter.is-inview .counter__item:nth-child(4)::after {
  animation-delay: calc(4 * var(--stagger));
}
@keyframes popIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes flowDown {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cards__counter .counter__item::before,
  .cards__counter .counter__item::after {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* Farben & Schriften für tb7/tb8 */
.counter-media.tb7 .media-body__number, .counter-media.tb8 .media-body__number {
  color: var(--color-secondary);
  justify-content: flex-start;
  font-family: var(--font-family-body) !important;
}
.counter-media.tb7 .counter-media__number,
.counter-media.tb7 .counter-media__title, .counter-media.tb8 .counter-media__number,
.counter-media.tb8 .counter-media__title {
  color: var(--color-secondary);
  font-family: var(--font-family-body) !important;
}

/* Parent: Reihe + Wrap */
.counter-wrapper .elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px;
  align-items: flex-start;
}
.counter-wrapper .elementor-widget-wrap > .elementor-widget {
  width: auto;
  flex: 0 1 calc(33.333% - 28px);
  max-width: calc(33.333% - 28px);
}
@media (max-width: 1024px) {
  .counter-wrapper .elementor-widget-wrap > .elementor-widget {
    flex-basis: calc(50% - 28px); /* 2 pro Reihe */
    max-width: calc(50% - 28px);
  }
}
@media (max-width: 767px) {
  .counter-wrapper .elementor-widget-wrap > .elementor-widget {
    flex-basis: 100%; /* 1 pro Reihe */
    max-width: 100%;
  }
}

/* Icon links/rechts & Typo-Anpassungen */
.elementor-widget-techbizcounter .elementor-widget-container .counter-media {
  display: flex;
  flex-direction: row;
  flex-direction: row-reverse;
}
.elementor-widget-techbizcounter .elementor-widget-container .counter-media .media-body {
  justify-content: flex-start;
}
.elementor-widget-techbizcounter .elementor-widget-container .counter-media .media-body__number {
  font-size: 22px;
  font-size: clamp(22px, 1rem + 2vw, 30px) !important;
}
.elementor-widget-techbizcounter .elementor-widget-container {
  /* runder background entfernen */
}
.elementor-widget-techbizcounter .elementor-widget-container .counter-media__icon {
  background: revert !important; /* blauer Background resetten */
  border-radius: unset !important;
  /* eigene Maße */
  height: 100% !important;
  max-height: 90px;
  width: 100% !important;
  max-width: 90px !important;
  align-items: center !important;
  line-height: unset;
  margin-left: 10px;
}
.elementor-widget-techbizcounter .elementor-widget-container .counter-media__title {
  font-family: var(--font-family-body) !important;
  text-align: center;
}

/* =========================
   Elementor Tabs – clean
   ========================= */
.tabs-section {
  /* Tokens */
  --tab-accent: var(--color-border-orange, #ff6a00);
  --tab-text: #253048;
  --tab-muted: #787f8c;
  --tab-bg: #fff;
  --tab-bg-active: linear-gradient(90deg, rgba(25, 166, 194, .5) 0%, rgba(25, 166, 194, 0) 100%);
  --tab-radius: 12px;
  --tab-pad-y: 12px;
  --tab-pad-x: 20px;
  --tab-gap: 8px;
  /* Layout: Titel links, Content rechts */
}
.tabs-section .e-n-tabs {
  display: flex;
  gap: clamp(16px, 2vw, 32px);
  align-items: stretch;
}
.tabs-section .e-n-tabs .e-n-tabs-heading {
  flex: 0 0 30%;
  background: var(--tab-bg);
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  padding: 8px 0;
}
.tabs-section .e-n-tabs .e-n-tabs-content {
  flex: 1 1 auto;
  min-width: 0;
}
.tabs-section .e-n-tabs .e-n-tabs-content > .e-n-tab-content {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--tab-radius);
  padding: clamp(40px, 5vw, 40px);
  color: var(--tab-text);
  animation: tabFade 0.24s ease;
}
.tabs-section .e-n-tabs .e-n-tabs-content p {
  /* color: var(--tab-muted); */
  margin: 0 0 0.8em;
  grid-row: 1 !important;
}
.tabs-section .e-n-tabs {
  /* Titel */
}
.tabs-section .e-n-tabs button.e-n-tab-title {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: var(--tab-pad-y) var(--tab-pad-x);
  line-height: 1.25;
  font-weight: 600;
  border-radius: var(--tab-radius);
  border: 1px solid transparent;
  color: var(--tab-text);
  background: transparent;
  transition: background 0.18s ease, color 0.18s ease;
  border-bottom: 1px solid var(--bg-color-2);
  /* Chevron rechts – Platz reserviert, keine Sprünge */
}
.tabs-section .e-n-tabs button.e-n-tab-title::after {
  content: "";
  display: block;
  inline-size: 12px; /* width */
  block-size: 12px; /* height */
  flex: 0 0 12px;
  margin-left: auto;
  background-image: url("../../../img/icons/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  line-height: 0;
  vertical-align: middle;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.tabs-section .e-n-tabs button.e-n-tab-title {
  /* Hover & Focus (ohne Größenänderung) */
}
.tabs-section .e-n-tabs button.e-n-tab-title:hover, .tabs-section .e-n-tabs button.e-n-tab-title:focus-visible {
  background: var(--tab-bg-active) !important;
  outline: 2px solid transparent;
}
.tabs-section .e-n-tabs button.e-n-tab-title {
  /* Aktiv */
}
.tabs-section .e-n-tabs button.e-n-tab-title[aria-selected=true], .tabs-section .e-n-tabs button.e-n-tab-title.e-active {
  background: var(--tab-bg-active) !important;
  color: var(--tab-text);
}
.tabs-section .e-n-tabs button.e-n-tab-title[aria-selected=true]::before, .tabs-section .e-n-tabs button.e-n-tab-title.e-active::before {
  content: none !important;
}
.tabs-section .e-n-tabs button.e-n-tab-title[aria-selected=true]::after, .tabs-section .e-n-tabs button.e-n-tab-title.e-active::after {
  opacity: 1;
  transform: translateX(0);
}
.tabs-section .e-n-tabs button.e-n-tab-title {
  /* Theme-Indikator/Linksbordern vollständig abschalten */
}
.tabs-section .e-n-tabs button.e-n-tab-title, .tabs-section .e-n-tabs button.e-n-tab-title:hover, .tabs-section .e-n-tabs button.e-n-tab-title[aria-selected=true] {
  border-left: 0 !important;
  border-inline-start: 0 !important;
  box-shadow: none !important;
}
.tabs-section .e-n-tabs {
  /* Abstand zwischen Titeln */
}
.tabs-section .e-n-tabs .e-n-tab-title + .e-n-tab-title {
  margin-top: var(--tab-gap);
}
.tabs-section .e-n-tabs {
  /* Chevron sichtbar bei Hover */
}
.tabs-section .e-n-tabs .e-n-tab-title:hover::after {
  opacity: 1;
  transform: translateX(0);
}
.tabs-section {
  /* Responsive */
}
@media (max-width: 992px) {
  .tabs-section .e-n-tabs {
    flex-direction: column;
  }
  .tabs-section .e-n-tabs .e-n-tabs-heading {
    flex: 1 1 auto;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    margin-bottom: 8px;
  }
  .tabs-section .e-n-tabs .e-n-tab-title {
    margin: 0 var(--tab-pad-x);
  }
}

/* Keyframes */
@keyframes tabFade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
/* ---------- End of Elementor tabs  ---------- */
/* ---------- Start tabs CTA box teaser-wrapper--tab  ---------- */
.testi-style2 {
  position: relative;
  overflow: visible;
  /* Tokens */
  --quote-size: 80px;
  --quote-left: 50px;
}
.testi-style2 .testi-text {
  font-family: var(--font-family-body) !important;
  font-style: unset !important;
}
.testi-style2 .author-img {
  width: 100%;
  max-width: 150px;
  height: 100%;
  max-height: 150%;
}
.testi-style2 .author-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testi-style2::before {
  content: "";
  position: absolute;
  left: var(--quote-left);
  top: 0;
  transform: translateY(-50%);
  width: var(--quote-size);
  height: var(--quote-size);
  background: url("../../../img/icons/open-quote.svg") center/contain no-repeat;
  pointer-events: none;
  z-index: 2;
}

/* Optional kleiner auf Mobile – Variablen am Card-Container überschreiben */
@media (max-width: 768px) {
  .testimonial-card {
    --quote-size: 56px;
    --quote-left: 12px;
  }
}
/* =========================
   CTA Box / Teaser Wrapper
   ========================= */
/* Icon-Reset */
.cta-box1 .cta-icon {
  background-color: unset !important;
}
.cta-box1 {
  /* Pseudo-Element am Titel ausblenden */
}
.cta-box1 .cta-title::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
}

/* Bild-Dekoration rückgängig machen */
.teaser-wrapper .cta-box1 .cta-img {
  margin: 0;
  overflow: hidden;
  border-radius: 0 !important;
  transform: none !important;
  box-shadow: none;
}
.teaser-wrapper .cta-box1 .cta-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
  display: block;
}
.teaser-wrapper .cta-box1 {
  /* Grundlayout 50/50 */
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: clamp(24px, 5vw, 60px);
  align-items: center;
  text-align: left;
}
.teaser-wrapper .cta-box1 .cta-img {
  grid-column: 1;
  grid-row: 1/span 2;
  align-self: stretch;
  width: 100%;
  height: 100%;
  max-height: clamp(320px, 45vh, 640px);
  aspect-ratio: 16/9;
  overflow: hidden;
  /* zweite Definition wie im CSS – überschreibt object-fit auf contain */
}
.teaser-wrapper .cta-box1 .cta-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.teaser-wrapper .cta-box1 .cta-title {
  grid-column: 2;
  grid-row: 1;
  margin: 0 0 0.5rem;
}
.teaser-wrapper .cta-box1 .cta-text {
  grid-column: 2;
  grid-row: 2;
  margin: 0 0 0.5rem;
}
.teaser-wrapper {
  /* Odd-Container: Hintergrund */
}
.teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(odd) .cta-box1 {
  background: var(--grad-blue-2) !important;
}
.teaser-wrapper {
  /* Jeden zweiten umdrehen (Bild rechts, Content links) */
}
.teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(even) .cta-img {
  grid-column: 2;
}
.teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(even) .cta-title {
  grid-column: 1;
}
.teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(even) .cta-text {
  grid-column: 1;
}
.teaser-wrapper {
  /* Mobile: untereinander */
}
@media (max-width: 768px) {
  .teaser-wrapper .cta-box1 {
    grid-template-columns: 1fr;
    row-gap: 12px;
    text-align: center;
  }
  .teaser-wrapper .cta-box1 .cta-img,
  .teaser-wrapper .cta-box1 .cta-title,
  .teaser-wrapper .cta-box1 .cta-text {
    grid-column: 1;
    grid-row: auto;
  }
  .teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(even) .cta-img,
  .teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(even) .cta-title,
  .teaser-wrapper .elementor-widget-bizinoctabox:nth-of-type(even) .cta-text {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* ---------- Start tabs CTA box teaser-wrapper--tab ---------- */
/* ---------- service-style4 wie feature-style2 ---------- */
/* (bei Bedarf scopen: .cards--report .service-style4 { ... }) */
.service-style4 {
  background: #fff;
  padding: 40px 40px 32px;
  border-radius: 18px;
  box-shadow: 0 10px 31px rgba(169, 177, 193, 0.05);
  margin: 0 0 30px;
  display: flex;
  flex-direction: column;
  color: var(--theme-color, #07223D);
}
.service-style4 .service-top {
  order: 3 !important;
  display: block;
  border: 0;
  margin: 0 0 10px;
  margin-top: auto;
}
.service-style4 .service-title {
  color: var(--theme-color, #07223D) !important;
  text-transform: none;
  font-weight: 600;
  font-size: 20px;
  margin: 0;
  padding-bottom: 1rem;
}
.service-style4 .service-title a {
  color: inherit !important;
  text-decoration: none;
}
.service-style4 .service-title a:hover {
  color: inherit !important;
  text-decoration: none !important;
}
.service-style4 .service-btn {
  margin-top: auto;
  display: block !important;
  color: var(--theme-color);
}
.service-style4 .service-btn:hover {
  color: var(--theme-color);
}
.service-style4 .service-text {
  order: 2 !important;
  color: var(--body-color, #606c7c);
  margin: 0 0 16px;
}
.service-style4 .service-img {
  order: 1;
  width: 100%;
  height: 100%;
  max-height: 120px;
  line-height: 90px;
  border-radius: 5px;
  text-align: center;
  margin: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.service-style4 .service-img img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  transform: none;
  transition: all 0.4s ease;
  filter: none;
}
.service-style4 .link-btn,
.service-style4 .vs-btn {
  order: 4 !important;
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.service-style4 {
  /* optional: Hover wie feature-style2 für die Icon-Box
  &:hover {
    .service-img {
      background: var(--theme-color, #19A6C2);

      img {
        -webkit-filter: brightness(0) invert(1);
                filter: brightness(0) invert(1);
      }
    }
  }
  */
}

/* Style Default (One) and Two für Buttons (TechBiz widget) */
/* ============ Default (.vs-btn) ============ */
.vs-btn {
  --pad-y: 0.4em;
  --pad-x: 12px; /* Seiten-Padding */
  --icon-w: 1.2em; /* Pfeilbreite */
  --icon-gap: 8px; /* Abstand Text↔Icon */
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 40px !important;
  padding: 0.8em 12px !important;
  text-transform: uppercase;
  text-decoration: none;
  font-family: var(--font-family-body) !important;
  font-weight: 400;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)) padding-box, var(--grad-red) border-box;
  /* Gradient-Text */
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.vs-btn:not(.style3) {
  border: 2px solid var(--color-border-orange);
}
.vs-btn::before {
  content: "";
  display: inline-block !important;
  width: var(--icon-w);
  min-width: var(--icon-w);
  height: 1em;
}
.vs-btn > i,
.vs-btn .fa-arrow-right {
  margin-left: var(--icon-gap);
  width: var(--icon-w);
  text-align: center;
  line-height: 1;
  background-image: var(--grad-red);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  transform: translateX(0);
  transition: transform 0.22s ease;
}
.vs-btn:hover > i,
.vs-btn:hover .fa-arrow-right {
  transform: translateX(6px);
}
.vs-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.vs-btn {
  /* ---------- Hover-Override (Parent-Theme Effekte aus) ---------- */
}
.vs-btn::before, .vs-btn::after {
  display: none !important;
  transition: none !important;
}
.vs-btn:hover, .vs-btn.style3:hover {
  color: inherit !important;
  -webkit-text-fill-color: transparent !important;
}
.vs-btn:hover::before, .vs-btn:hover::after, .vs-btn.style3:hover::before, .vs-btn.style3:hover::after {
  display: none !important;
}
.vs-btn {
  /* ================================
     STYLE 2 – Blau/Grün (Klasse .style3)
     ================================= */
}
.vs-btn.style3 {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)) padding-box, var(--grad-blue) border-box;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: capitalize !important;
}
.vs-btn.style3 > i,
.vs-btn.style3 .fa-arrow-right {
  background-image: var(--grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.vs-btn {
  /* ===== Style 3 → on-dark improved (Elementor: style3, Klasse .style12) ===== */
}
.vs-btn.style12 {
  border: 2px solid #fff !important;
  /* 2 Layer:
     1) var(--grad-red) nur für Text
     2) reines Weiß für den Buttonkörper
  */
  background-image: var(--grad-red), linear-gradient(#fff, #fff) !important;
  -webkit-background-clip: text, padding-box;
  background-clip: text, padding-box;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  transition: none;
}
.vs-btn.style12::before, .vs-btn.style12::after {
  display: none !important;
}
.vs-btn.style12 > i,
.vs-btn.style12 .fa-arrow-right {
  background-image: var(--grad-red) !important;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  transition: none;
}
.vs-btn.style12:hover, .vs-btn.style12:focus {
  background-image: var(--grad-red), linear-gradient(#fff, #fff) !important;
  border-color: #fff !important;
  color: transparent !important;
}
.vs-btn.style12:hover::before, .vs-btn.style12:hover::after, .vs-btn.style12:focus::before, .vs-btn.style12:focus::after {
  transform: none !important;
}

/* =========================
   Mega Menu
   ========================= */
.mega-menu a.mega-menu-link::before,
.mega-menu .mega-menu-item > a::before {
  content: none !important;
  display: none !important;
}

/* =========================
   Desktop: Hamburger ausblenden
   ========================= */
@media (min-width: 1025px) {
  .elementor-element .elementor-element-dfe9be1 .elementor-widget-techbizoffcanvas {
    display: none !important;
  }
}
/* =========================
   Mobile Menu
   ========================= */
.vs-mobile-menu {
  /* Remove before element (TechBiz default menu) */
}
.vs-mobile-menu ul li a::before {
  content: none !important;
  display: none !important;
  margin-right: 0 !important;
}
.vs-mobile-menu ul li a {
  /* Font weight Mobile Menu */
  font-weight: 700;
}
.vs-mobile-menu ul li.vs-active > a:after {
  transform: rotate(90deg) !important;
}
.vs-mobile-menu {
  /* Third level (sub-sub) items: weight 400 */
}
.vs-mobile-menu .vs-submenu .menu-item-has-children > ul > li > a {
  font-weight: 400 !important;
}
.vs-mobile-menu {
  /* Second level color (wie im Original-Selektor belassen) */
}
.vs-mobile-menu .vs-submenu :not(.vs-mobile-menu .vs-submenu .menu-item-has-children > ul > li > a) {
  color: #ff5733 !important;
}
.vs-mobile-menu {
  /* Eigenes Pfeil-Icon für Expand */
}
.vs-mobile-menu .vs-item-has-children > a.vs-mean-expand::after {
  content: "" !important;
  width: 12px !important;
  height: 12px !important;
  box-shadow: none !important;
  justify-self: center;
  background-image: url("../../img/icons/arrow-right.svg") !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* =========================
   Mega Menu
   ========================= */
.mega-menu a.mega-menu-link::before,
.mega-menu .mega-menu-item > a::before {
  content: none !important;
  display: none !important;
}

/* =========================
   Desktop: Hamburger ausblenden
   ========================= */
@media (min-width: 1025px) {
  .elementor-element .elementor-element-dfe9be1 .elementor-widget-techbizoffcanvas {
    display: none !important;
  }
}
/* =========================
   Mobile Menu
   ========================= */
.vs-mobile-menu {
  /* Remove before element (TechBiz default menu) */
}
.vs-mobile-menu ul li a::before {
  content: none !important;
  display: none !important;
  margin-right: 0 !important;
}
.vs-mobile-menu ul li a {
  /* Font weight Mobile Menu */
  font-weight: 700;
}
.vs-mobile-menu ul li.vs-active > a:after {
  transform: rotate(90deg) !important;
}
.vs-mobile-menu {
  /* Third level (sub-sub) items: weight 400 */
}
.vs-mobile-menu .vs-submenu .menu-item-has-children > ul > li > a {
  font-weight: 400 !important;
}
.vs-mobile-menu {
  /* Second level color (wie im Original-Selektor belassen) */
}
.vs-mobile-menu .vs-submenu :not(.vs-mobile-menu .vs-submenu .menu-item-has-children > ul > li > a) {
  color: #ff5733 !important;
}
.vs-mobile-menu {
  /* Eigenes Pfeil-Icon für Expand */
}
.vs-mobile-menu .vs-item-has-children > a.vs-mean-expand::after {
  content: "" !important;
  width: 12px !important;
  height: 12px !important;
  box-shadow: none !important;
  justify-self: center;
  background-image: url("../../img/icons/arrow-right.svg") !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/*# sourceMappingURL=style.css.map */
