@charset "UTF-8";
/**
 * Werkstatt Row Animation System — Core CSS (Step 1)
 * Uncode-identical method for Row, Content, and Background animations.
 */
.scroll-trigger-bg-parent {
  position: relative;
  overflow: hidden;
}
.scroll-trigger-bg-parent > .wpb_column,
.scroll-trigger-bg-parent > .vc_column,
.scroll-trigger-bg-parent > .thb_row_overlay,
.scroll-trigger-bg-parent > .thb-row-overlay,
.scroll-trigger-bg-parent > .thb_video_bg,
.scroll-trigger-bg-parent > .thb-scroll-bottom {
  position: relative;
  z-index: 1;
}

.thb-anim-bg-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-size: inherit;
  background-position: inherit;
  background-repeat: inherit;
  background-attachment: inherit;
}

@media (min-width: 960px) {
  .scroll-trigger-el.scroll-trigger-parent, .scroll-trigger-el.scroll-trigger-content, .scroll-trigger-el.scroll-trigger-bg {
    transform-origin: var(--row-anim-transform-origin, center center);
    filter: var(--row-anim-filter, none);
    visibility: var(--row-anim-visibility, visible);
    transform: var(--row-anim-transform, none);
    border-radius: var(--row-anim-border-radius, 0px);
    opacity: var(--row-anim-opacity, 1);
    clip-path: var(--row-anim-clip-path, none);
    will-change: transform, opacity, filter, clip-path, border-radius;
  }
  .scroll-trigger-el.scroll-trigger-parent.row-animation-in-viewport:not(.reveal-no-fade):not([data-revealed]) {
    opacity: 0 !important;
    transition: opacity 0.5s ease;
    transition-delay: 0.2s;
  }
}
@media (max-width: 959px) and (min-width: 570px) {
  .scroll-trigger-el-tablet.scroll-trigger-el.scroll-trigger-parent, .scroll-trigger-el-tablet.scroll-trigger-el.scroll-trigger-content, .scroll-trigger-el-tablet.scroll-trigger-el.scroll-trigger-bg {
    transform-origin: var(--row-anim-transform-origin, center center);
    filter: var(--row-anim-filter, none);
    visibility: var(--row-anim-visibility, visible);
    transform: var(--row-anim-transform, none);
    border-radius: var(--row-anim-border-radius, 0px);
    opacity: var(--row-anim-opacity, 1);
    clip-path: var(--row-anim-clip-path, none);
    will-change: transform, opacity, filter, clip-path, border-radius;
  }
}
@media (max-width: 569px) {
  .scroll-trigger-el-mobile.scroll-trigger-el.scroll-trigger-parent, .scroll-trigger-el-mobile.scroll-trigger-el.scroll-trigger-content, .scroll-trigger-el-mobile.scroll-trigger-el.scroll-trigger-bg {
    transform-origin: var(--row-anim-transform-origin, center center);
    filter: var(--row-anim-filter, none);
    visibility: var(--row-anim-visibility, visible);
    transform: var(--row-anim-transform, none);
    border-radius: var(--row-anim-border-radius, 0px);
    opacity: var(--row-anim-opacity, 1);
    clip-path: var(--row-anim-clip-path, none);
    will-change: transform, opacity, filter, clip-path, border-radius;
  }
}
body.vc_editor .scroll-trigger-el,
body.compose-mode .scroll-trigger-el {
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  clip-path: none !important;
  visibility: visible !important;
}

.thb-stacking-cards-parent {
  position: relative;
}
.thb-stacking-cards-parent .vc_inner.thb-stacking-card {
  will-change: transform, opacity;
  transform-origin: top center;
  position: relative;
}

/* Horizontal Scroll Row */
.thb-has-hscroll-active #wrapper,
.thb-has-hscroll-active [role=main],
.thb-has-hscroll-active .page-padding,
html:has([data-hscroll=true]) #wrapper,
html:has([data-hscroll=true]) [role=main],
html:has([data-hscroll=true]) .page-padding,
body:has([data-hscroll=true]) #wrapper,
body:has([data-hscroll=true]) [role=main],
body:has([data-hscroll=true]) .page-padding {
  overflow: visible !important;
}

.thb-hscroll-row {
  overflow: hidden !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.thb-hscroll-row .wpb_column,
.thb-hscroll-row .vc_column-inner,
.thb-hscroll-row .wpb_wrapper {
  overflow: visible !important;
}

.thb-hscroll-track,
.thb-hscroll-row [data-hscroll-track=true] {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  will-change: transform;
  box-sizing: border-box !important;
}

.thb-hscroll-panel,
.thb-hscroll-row [data-hscroll-panel=true] {
  flex: 0 0 100vw !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  float: none !important;
  position: relative !important;
}
.thb-hscroll-panel .thb-row-clip,
.thb-hscroll-row [data-hscroll-panel=true] .thb-row-clip {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Editor overrides */
body.vc_editor .thb-hscroll-row,
body.compose-mode .thb-hscroll-row {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}
body.vc_editor .thb-hscroll-track,
body.vc_editor [data-hscroll-track=true],
body.compose-mode .thb-hscroll-track,
body.compose-mode [data-hscroll-track=true] {
  display: flex !important;
  flex-wrap: wrap !important;
  transform: none !important;
  width: 100% !important;
  will-change: auto !important;
}
body.vc_editor .thb-hscroll-panel,
body.vc_editor [data-hscroll-panel=true],
body.compose-mode .thb-hscroll-panel,
body.compose-mode [data-hscroll-panel=true] {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
}