.elementor-1052 .elementor-element.elementor-element-dcb71f7{--display:flex;}.elementor-1052 .elementor-element.elementor-element-bdabbe9{--display:flex;}.elementor-1052 .elementor-element.elementor-element-e8c764a{--display:flex;}.elementor-1052 .elementor-element.elementor-element-41dcfac{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1052 .elementor-element.elementor-element-3968d93{--display:flex;--min-height:518px;}.elementor-1052 .elementor-element.elementor-element-0ccca72{--display:flex;}.elementor-1052 .elementor-element.elementor-element-e7d8c09{--display:flex;}.elementor-1052 .elementor-element.elementor-element-21cde57{--display:flex;}.elementor-1052 .elementor-element.elementor-element-fe0236a{--display:flex;--min-height:518px;}.elementor-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-1052 .elementor-element.elementor-element-adc9d21{--display:flex;}.elementor-1052 .elementor-element.elementor-element-1177cac{--display:flex;}.elementor-1052 .elementor-element.elementor-element-bdb70e5{--display:flex;}.elementor-1052 .elementor-element.elementor-element-d7605d4{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1052 .elementor-element.elementor-element-9e346d3{--display:flex;--min-height:518px;}.elementor-1052 .elementor-element.elementor-element-bf7bfe8{--display:flex;}.elementor-1052 .elementor-element.elementor-element-5997b0a{--display:flex;}.elementor-1052 .elementor-element.elementor-element-229383b{--display:flex;}.elementor-1052 .elementor-element.elementor-element-6d3a5de{--display:flex;}.elementor-1052 .elementor-element.elementor-element-a770dfa{--display:flex;}.elementor-1052 .elementor-element.elementor-element-6bcb7dc{--display:flex;}.elementor-1052 .elementor-element.elementor-element-957b3a8{--display:flex;}/* Start custom CSS for container, class: .elementor-element-41dcfac *//* ============================
   STICKY WRAPPER + GRID
============================ */

.sticky-wrapper {
  position: relative;
}

/* Use this if sticky-wrapper also has grid-12 */
.sticky-wrapper.grid-12 {
  align-items: start;
}

/* Left column */
.sticky-content {
  position: relative;
}

/* Slides */
.sticky-slide {
  min-height: 100vh;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ============================
   STICKY VISUAL
============================ */

.sticky-visual {
  position: sticky;
  top: 120px;

  height: calc(100vh - 120px);
  min-height: 70vh;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}

/* ============================
   LOTTIE STACK
============================ */

.sticky-lottie {
  position: absolute;
  inset: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  transform: translateY(24px) scale(.96);
  pointer-events: none;

  transition:
    opacity 600ms ease,
    transform 600ms cubic-bezier(.16,1,.3,1);
}

.sticky-lottie.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Make Elementor Lottie fill wrapper */
.sticky-lottie .elementor-widget-container,
.sticky-lottie lottie-player,
.sticky-lottie svg,
.sticky-lottie canvas {
  width: 100% !important;
  height: 100% !important;
}

/* ============================
   MOBILE
============================ */

@media (max-width: 767px) {
  .sticky-wrapper {
    display: block !important;
  }

  .sticky-content {
    width: 100% !important;
    flex: none !important;
  }

  .sticky-visual {
    display: none !important;
  }

  .sticky-slide {
    min-height: auto;
    padding-block: 64px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d7605d4 */.sticky-scroll-track {
  background: rgba(255,0,0,.1);
}

.sticky-trigger {
  min-height: 100vh;
  border: 2px dashed red;
}


.sticky-stack-wrapper {
  position: relative;
  min-height: 300vh;
  align-items: start;
}

.sticky-stack-content {
  position: sticky;
  top: 120px;
  height: calc(100vh - 120px);

  display: flex;
  flex-direction: column;
  justify-content: flex-start;

  padding-top: 15vh;
}

.sticky-heading-stack {
  margin-bottom: clamp(80px, 10vh, 140px);
}

.sticky-stack-heading {
  opacity: 0;
  transform: translateY(24px);
  
  gap: 32px;
  margin-bottom: 64px;

  transition:
    opacity 700ms ease,
    transform 700ms cubic-bezier(.16,1,.3,1),
    color 700ms ease;
}

.sticky-stack-heading.is-visible {
  opacity: .35;
  transform: translateY(0);
}

.sticky-stack-heading.is-active {
  opacity: 1;
  color: var(--color-primary-blue);
}

.sticky-copy-stage {

  position: relative;

  min-height: 140px;

  margin-top: 120px;
}

.sticky-copy-panel {
  position: absolute;
  inset: 0;

  opacity: 0;
  transform: translateY(16px);

  transition:
    opacity 600ms ease,
    transform 600ms cubic-bezier(.16,1,.3,1);
}

.sticky-copy-panel.is-active {
  opacity: 1;
  transform: translateY(0);
}

.sticky-scroll-track {
  min-height: 300vh;
  opacity: 0;
  pointer-events: none;
}

.sticky-trigger {
  min-height: 100vh;
}

.sticky-stack-visual {
  position: sticky;
  top: 120px;

  height: calc(100vh - 120px);
  min-height: 70vh;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}

.sticky-lottie {
  position: absolute;
  inset: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  transform: translateY(24px) scale(.96);
  pointer-events: none;

  transition:
    opacity 600ms ease,
    transform 600ms cubic-bezier(.16,1,.3,1);
}

.sticky-lottie.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.sticky-lottie .elementor-widget-container,
.sticky-lottie lottie-player,
.sticky-lottie svg,
.sticky-lottie canvas {
  width: 100% !important;
  height: 100% !important;
}

.sticky-stack-heading.is-active::before {
  animation: active-dot 2s ease-in-out infinite;
}

@keyframes active-dot {
  0%,100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.35);
  }
}

/* Hide mobile lotties on desktop */
.sticky-mobile-lottie {
  display: none;
}

/* Tablet portrait + mobile */
@media (max-width: 1024px) {
  .sticky-stack-wrapper {
    display: block !important;
    min-height: auto;
  }

  .sticky-stack-content {
    position: relative;
    top: auto;
    height: auto;

    display: block;
  }

  .sticky-heading-stack {
    gap: 24px;
    margin-bottom: 48px;
  }

  .sticky-stack-heading {
    opacity: 1;
    transform: none;
  }

  .sticky-copy-stage {
    position: relative;
    min-height: auto;
  }

  .sticky-copy-panel {
    position: relative;
    inset: auto;

    opacity: 1;
    transform: none;

    margin-bottom: 24px;
  }

  .sticky-stack-visual,
  .sticky-scroll-track {
    display: none !important;
  }

  .sticky-mobile-lottie {
    display: block;
    width: 100%;
    margin-bottom: 72px;
  }
}/* End custom CSS */