.elementor-1784 .elementor-element.elementor-element-55d09581:not(.elementor-motion-effects-element-type-background), .elementor-1784 .elementor-element.elementor-element-55d09581 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 0%, #F4F7F6 100%);}.elementor-1784 .elementor-element.elementor-element-55d09581 > .elementor-container{max-width:1250px;}.elementor-1784 .elementor-element.elementor-element-55d09581{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:5em 0em 5em 0em;}.elementor-1784 .elementor-element.elementor-element-55d09581 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1784 .elementor-element.elementor-element-10156f85 > .elementor-element-populated{margin:0% 0% 0% 0%;--e-column-margin-right:0%;--e-column-margin-left:0%;}.elementor-bc-flex-widget .elementor-1784 .elementor-element.elementor-element-76dda5f.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-1784 .elementor-element.elementor-element-76dda5f.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-1784 .elementor-element.elementor-element-76dda5f.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-1784 .elementor-element.elementor-element-76dda5f > .elementor-element-populated{text-align:start;margin:0% 17% 0% 0%;--e-column-margin-right:17%;--e-column-margin-left:0%;}.elementor-1784 .elementor-element.elementor-element-6008e47{width:auto;max-width:auto;margin:10px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;text-align:start;}.elementor-1784 .elementor-element.elementor-element-6008e47.elementor-element{--align-self:flex-start;--flex-grow:1;--flex-shrink:0;}.elementor-1784 .elementor-element.elementor-element-6008e47 img{width:53%;max-width:35%;opacity:0.97;}.elementor-1784 .elementor-element.elementor-element-440ba17b .elementor-heading-title{color:#2B435D;}.elementor-1784 .elementor-element.elementor-element-7b48c84e{font-family:"Sora", Sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6em;color:var( --e-global-color-primary );}.elementor-1784 .elementor-element.elementor-element-2d68c61{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1784 .elementor-element.elementor-element-b778a06{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px) and (min-width:768px){.elementor-1784 .elementor-element.elementor-element-76dda5f{width:100%;}}@media(max-width:1024px){.elementor-1784 .elementor-element.elementor-element-55d09581{padding:6em 1em 4em 1em;}.elementor-1784 .elementor-element.elementor-element-7d7d5de7{padding:0em 3em 0em 3em;}.elementor-1784 .elementor-element.elementor-element-76dda5f > .elementor-element-populated{margin:0em 0em 4em 0em;--e-column-margin-right:0em;--e-column-margin-left:0em;}.elementor-1784 .elementor-element.elementor-element-7b48c84e{font-size:1.125rem;}}@media(max-width:767px){.elementor-1784 .elementor-element.elementor-element-55d09581{padding:5em 1.5em 4em 1.5em;}.elementor-1784 .elementor-element.elementor-element-7d7d5de7{padding:0em 0em 0em 0em;}.elementor-1784 .elementor-element.elementor-element-6008e47{text-align:center;}.elementor-1784 .elementor-element.elementor-element-6008e47 img{width:49%;max-width:36%;border-radius:3px 3px 3px 3px;}.elementor-1784 .elementor-element.elementor-element-7b48c84e{font-size:1.125rem;}}/* Start custom CSS for section, class: .elementor-element-7d7d5de7 *//* Mobile: horizontal wischbare 2-Spalten-Leiste */
@media (max-width: 768px) {
  /* Innerer Abschnitt → seine Container/Row in eine Swipe-Leiste verwandeln */
  .swipe-row > .elementor-container {
    display: flex !important;           /* statt Block/Grid -> Zeile */
    flex-wrap: nowrap !important;       /* nicht umbrechen */
    overflow-x: auto !important;        /* horizontal scrollen */
    gap: 16px;                          /* Abstand zwischen Spalten */
    scroll-snap-type: x mandatory;      /* Snap beim Stoppen */
    -webkit-overflow-scrolling: touch;  /* sanftes Scrollen iOS */
    padding: 0 12px;                    /* etwas Innenabstand links/rechts */
    scroll-padding-left: 12px;
  }

  /* Die einzelnen Spalten/Karten */
  .swipe-row > .elementor-container > .elementor-column {
    flex: 0 0 85% !important;           /* 1 Karte ≈ 85% Breite */
    max-width: 85% !important;
    width: auto !important;             /* 100% überschreiben */
    min-width: 0;                       /* Text darf umbrechen */
    scroll-snap-align: start;           /* Snap an Kartenanfang */
    border-radius: 12px;                /* optional, hübsch */
  }

  /* Scrollbar ausblenden (optional) */
  .swipe-row > .elementor-container::-webkit-scrollbar {
    height: 0;
  }

  /* Dezente Fade-Markierung rechts (optional) */
  .swipe-row > .elementor-container::after {
    content: "";
    position: sticky;
    right: 0;
    align-self: stretch;
    width: 28px;
    background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.9));
    pointer-events: none;
    flex: 0 0 auto;
  }
}/* End custom CSS */
/* Start custom CSS *//* Sichtfenster */
.logo-marquee{
  overflow: hidden;
  position: relative;
  width: 100%;
}

/* Laufband-Spalte */
.logo-track{
  display: block;
  white-space: nowrap;   /* keine Zeilenumbrüche */
  animation: marquee-ltr 40s linear infinite; /* Geschwindigkeit */
  will-change: transform;
}

/* Trick: Bild-Widgets horizontal machen */
.logo-track .elementor-widget-image{
  display: inline-block;     /* nebeneinander statt untereinander */
  vertical-align: middle;
  margin-right: 48px;        /* Abstand zwischen Logos */
}

/* Logos selbst */
.logo-track img{
  height: 40px;              /* Logo-Höhe anpassen */
  width: auto;
  object-fit: contain;
  opacity: .85;
  transition: opacity .2s ease;
}
.logo-track img:hover{ opacity: 1; }

/* Fading links/rechts (optisch edel) */
.logo-marquee::before,
.logo-marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:80px; pointer-events:none;
}
.logo-marquee::before{ left:0;  background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
.logo-marquee::after { right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }

/* Animation */
@keyframes marquee-ltr{
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
/* Logos immer farbig anzeigen – kein Hover-Effekt */
.logo-track img{
  filter: none !important;
  opacity: 1 !important;
}

/* Swipe/Slide nur wenn die Zusatzklasse 'swipe-x' vorhanden ist */
@media (max-width: 1024px) {
  .service-sec-wrapper.swipe-x {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: var(--swipe-gap, 16px);
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-inline: var(--swipe-pad, 12px);
  }

  .service-sec-wrapper.swipe-x > .e-con,
  .service-sec-wrapper.swipe-x > .elementor-column,
  .service-sec-wrapper.swipe-x > .elementor-widget,
  .service-sec-wrapper.swipe-x > * {
    flex: 0 0 var(--swipe-item, 80%) !important;
    max-width: var(--swipe-item, 80%) !important;
    min-width: 0;
    scroll-snap-align: start;
    border-radius: var(--swipe-radius, 12px);
  }

  .service-sec-wrapper.swipe-x::-webkit-scrollbar { height: 0; }

  .service-sec-wrapper.swipe-x::after {
    content: "";
    position: sticky;
    right: 0;
    align-self: stretch;
    width: 28px;
    background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.92));
    pointer-events: none;
    flex: 0 0 auto;
  }
}/* End custom CSS */