{"version":3,"file":"script_main.CgO2ET_m.mjs","names":["x","d","debounce","useRef","_Fragment","Children","getProps","LenisFonts","Lenis","FullLogoFonts","FullLogo","Button","ContactFormOverlay","breakpoints","serializationHash","variantClassNames","breakpointRules","breakpointKeys","rules","mediaQueries","humanReadableVariantMap","HTMLStyle","getProps","Component","useRef","React.useId","_Fragment","PropertyOverrides","css","V1ContactFormOverlay","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","FullLogo","MenuButton","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","humanReadableVariantMap","getProps","useRef","React.useId","Lenis","Navbar","Component","useRef","React.useId","React.createElement","Default","NewMenu","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/unpkg.com/lenis@1.3.17-framer/dist/lenis.mjs","https:/unpkg.com/lenis@1.3.17-framer/dist/lenis-snap.mjs","https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/crq5K3ZDvRSa1euf8yEU/Lenis.js","https:/framerusercontent.com/modules/nVW96OP64yUiU005yNQG/fdmtsIG1p6s1WSmF7EK5/ppc7u8uAP.js","https:/framerusercontent.com/modules/cr1aXpUKSUPKRtFf7Tto/peEpT7F1EfX4EhYeto4U/eKPBd658g.js","https:/framerusercontent.com/modules/CrCklIxgo0ynSxKab53J/B7glaOBeCw4AfrHtWAXz/JeysSSH_A.js","https:/framerusercontent.com/modules/VeTjy4nFmYww6vLdwbtd/ePLbdBAre8ilYaRdAbsp/kgB2cTsjB.js","https:/framerusercontent.com/modules/dlHqjumBZBbKfgHrY2Dq/ww9aYHh5Jl6YwoS7n0nF/RQh2icmDr.js","framer:toplevel/main"],"sourcesContent":["// package.json\nvar version = \"1.3.17-framer\";\n\n// packages/core/src/maths.ts\nfunction clamp(min, input, max) {\n  return Math.max(min, Math.min(input, max));\n}\nfunction lerp(x, y, t) {\n  return (1 - t) * x + t * y;\n}\nfunction damp(x, y, lambda, deltaTime) {\n  return lerp(x, y, 1 - Math.exp(-lambda * deltaTime));\n}\nfunction modulo(n, d) {\n  return (n % d + d) % d;\n}\n\n// packages/core/src/animate.ts\nvar Animate = class {\n  isRunning = false;\n  value = 0;\n  from = 0;\n  to = 0;\n  currentTime = 0;\n  // These are instanciated in the fromTo method\n  lerp;\n  duration;\n  easing;\n  onUpdate;\n  /**\n   * Advance the animation by the given delta time\n   *\n   * @param deltaTime - The time in seconds to advance the animation\n   */\n  advance(deltaTime) {\n    if (!this.isRunning) return;\n    let completed = false;\n    if (this.duration && this.easing) {\n      this.currentTime += deltaTime;\n      const linearProgress = clamp(0, this.currentTime / this.duration, 1);\n      completed = linearProgress >= 1;\n      const easedProgress = completed ? 1 : this.easing(linearProgress);\n      this.value = this.from + (this.to - this.from) * easedProgress;\n    } else if (this.lerp) {\n      this.value = damp(this.value, this.to, this.lerp * 60, deltaTime);\n      if (Math.round(this.value) === this.to) {\n        this.value = this.to;\n        completed = true;\n      }\n    } else {\n      this.value = this.to;\n      completed = true;\n    }\n    if (completed) {\n      this.stop();\n    }\n    this.onUpdate?.(this.value, completed);\n  }\n  /** Stop the animation */\n  stop() {\n    this.isRunning = false;\n  }\n  /**\n   * Set up the animation from a starting value to an ending value\n   * with optional parameters for lerping, duration, easing, and onUpdate callback\n   *\n   * @param from - The starting value\n   * @param to - The ending value\n   * @param options - Options for the animation\n   */\n  fromTo(from, to, { lerp: lerp2, duration, easing, onStart, onUpdate }) {\n    this.from = this.value = from;\n    this.to = to;\n    this.lerp = lerp2;\n    this.duration = duration;\n    this.easing = easing;\n    this.currentTime = 0;\n    this.isRunning = true;\n    onStart?.();\n    this.onUpdate = onUpdate;\n  }\n};\n\n// packages/core/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    let context = this;\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(context, args);\n    }, delay);\n  };\n}\n\n// packages/core/src/dimensions.ts\nvar Dimensions = class {\n  constructor(wrapper, content, { autoResize = true, debounce: debounceValue = 250 } = {}) {\n    this.wrapper = wrapper;\n    this.content = content;\n    if (autoResize) {\n      this.debouncedResize = debounce(this.resize, debounceValue);\n      if (this.wrapper instanceof Window) {\n        window.addEventListener(\"resize\", this.debouncedResize, false);\n      } else {\n        this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize);\n        this.wrapperResizeObserver.observe(this.wrapper);\n      }\n      this.contentResizeObserver = new ResizeObserver(this.debouncedResize);\n      this.contentResizeObserver.observe(this.content);\n    }\n    this.resize();\n  }\n  width = 0;\n  height = 0;\n  scrollHeight = 0;\n  scrollWidth = 0;\n  // These are instanciated in the constructor as they need information from the options\n  debouncedResize;\n  wrapperResizeObserver;\n  contentResizeObserver;\n  destroy() {\n    this.wrapperResizeObserver?.disconnect();\n    this.contentResizeObserver?.disconnect();\n    if (this.wrapper === window && this.debouncedResize) {\n      window.removeEventListener(\"resize\", this.debouncedResize, false);\n    }\n  }\n  resize = () => {\n    this.onWrapperResize();\n    this.onContentResize();\n  };\n  onWrapperResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.width = window.innerWidth;\n      this.height = window.innerHeight;\n    } else {\n      this.width = this.wrapper.clientWidth;\n      this.height = this.wrapper.clientHeight;\n    }\n  };\n  onContentResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.scrollHeight = this.content.scrollHeight;\n      this.scrollWidth = this.content.scrollWidth;\n    } else {\n      this.scrollHeight = this.wrapper.scrollHeight;\n      this.scrollWidth = this.wrapper.scrollWidth;\n    }\n  };\n  get limit() {\n    return {\n      x: this.scrollWidth - this.width,\n      y: this.scrollHeight - this.height\n    };\n  }\n};\n\n// packages/core/src/emitter.ts\nvar Emitter = class {\n  events = {};\n  /**\n   * Emit an event with the given data\n   * @param event Event name\n   * @param args Data to pass to the event handlers\n   */\n  emit(event, ...args) {\n    let callbacks = this.events[event] || [];\n    for (let i = 0, length = callbacks.length; i < length; i++) {\n      callbacks[i]?.(...args);\n    }\n  }\n  /**\n   * Add a callback to the event\n   * @param event Event name\n   * @param cb Callback function\n   * @returns Unsubscribe function\n   */\n  on(event, cb) {\n    this.events[event]?.push(cb) || (this.events[event] = [cb]);\n    return () => {\n      this.events[event] = this.events[event]?.filter((i) => cb !== i);\n    };\n  }\n  /**\n   * Remove a callback from the event\n   * @param event Event name\n   * @param callback Callback function\n   */\n  off(event, callback) {\n    this.events[event] = this.events[event]?.filter((i) => callback !== i);\n  }\n  /**\n   * Remove all event listeners and clean up\n   */\n  destroy() {\n    this.events = {};\n  }\n};\n\n// packages/core/src/virtual-scroll.ts\nvar LINE_HEIGHT = 100 / 6;\nvar listenerOptions = { passive: false };\nvar VirtualScroll = class {\n  constructor(element, options = { wheelMultiplier: 1, touchMultiplier: 1 }) {\n    this.element = element;\n    this.options = options;\n    window.addEventListener(\"resize\", this.onWindowResize, false);\n    this.onWindowResize();\n    this.element.addEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.addEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.addEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.addEventListener(\"touchend\", this.onTouchEnd, listenerOptions);\n  }\n  touchStart = {\n    x: 0,\n    y: 0\n  };\n  lastDelta = {\n    x: 0,\n    y: 0\n  };\n  window = {\n    width: 0,\n    height: 0\n  };\n  emitter = new Emitter();\n  /**\n   * Add an event listener for the given event and callback\n   *\n   * @param event Event name\n   * @param callback Callback function\n   */\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  /** Remove all event listeners and clean up */\n  destroy() {\n    this.emitter.destroy();\n    window.removeEventListener(\"resize\", this.onWindowResize, false);\n    this.element.removeEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.removeEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchend\",\n      this.onTouchEnd,\n      listenerOptions\n    );\n  }\n  /**\n   * Event handler for 'touchstart' event\n   *\n   * @param event Touch event\n   */\n  onTouchStart = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: 0,\n      y: 0\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX: 0,\n      deltaY: 0,\n      event\n    });\n  };\n  /** Event handler for 'touchmove' event */\n  onTouchMove = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    const deltaX = -(clientX - this.touchStart.x) * this.options.touchMultiplier;\n    const deltaY = -(clientY - this.touchStart.y) * this.options.touchMultiplier;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: deltaX,\n      y: deltaY\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX,\n      deltaY,\n      event\n    });\n  };\n  onTouchEnd = (event) => {\n    this.emitter.emit(\"scroll\", {\n      deltaX: this.lastDelta.x,\n      deltaY: this.lastDelta.y,\n      event\n    });\n  };\n  /** Event handler for 'wheel' event */\n  onWheel = (event) => {\n    let { deltaX, deltaY, deltaMode } = event;\n    const multiplierX = deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.window.width : 1;\n    const multiplierY = deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.window.height : 1;\n    deltaX *= multiplierX;\n    deltaY *= multiplierY;\n    deltaX *= this.options.wheelMultiplier;\n    deltaY *= this.options.wheelMultiplier;\n    this.emitter.emit(\"scroll\", { deltaX, deltaY, event });\n  };\n  onWindowResize = () => {\n    this.window = {\n      width: window.innerWidth,\n      height: window.innerHeight\n    };\n  };\n};\n\n// packages/core/src/lenis.ts\nvar defaultEasing = (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t));\nvar Lenis = class {\n  _isScrolling = false;\n  // true when scroll is animating\n  _isStopped = false;\n  // true if user should not be able to scroll - enable/disable programmatically\n  _isLocked = false;\n  // same as isStopped but enabled/disabled when scroll reaches target\n  _preventNextNativeScrollEvent = false;\n  _resetVelocityTimeout = null;\n  _rafId = null;\n  /**\n   * Whether or not the user is touching the screen\n   */\n  isTouching;\n  /**\n   * The time in ms since the lenis instance was created\n   */\n  time = 0;\n  /**\n   * User data that will be forwarded through the scroll event\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   userData: {\n   *     foo: 'bar'\n   *   }\n   * })\n   */\n  userData = {};\n  /**\n   * The last velocity of the scroll\n   */\n  lastVelocity = 0;\n  /**\n   * The current velocity of the scroll\n   */\n  velocity = 0;\n  /**\n   * The direction of the scroll\n   */\n  direction = 0;\n  /**\n   * The options passed to the lenis instance\n   */\n  options;\n  /**\n   * The target scroll value\n   */\n  targetScroll;\n  /**\n   * The animated scroll value\n   */\n  animatedScroll;\n  // These are instanciated here as they don't need information from the options\n  animate = new Animate();\n  emitter = new Emitter();\n  // These are instanciated in the constructor as they need information from the options\n  dimensions;\n  // This is not private because it's used in the Snap class\n  virtualScroll;\n  constructor({\n    wrapper = window,\n    content = document.documentElement,\n    eventsTarget = wrapper,\n    smoothWheel = true,\n    syncTouch = false,\n    syncTouchLerp = 0.075,\n    touchInertiaExponent = 1.7,\n    duration,\n    // in seconds\n    easing,\n    lerp: lerp2 = 0.1,\n    infinite = false,\n    orientation = \"vertical\",\n    // vertical, horizontal\n    gestureOrientation = orientation === \"horizontal\" ? \"both\" : \"vertical\",\n    // vertical, horizontal, both\n    touchMultiplier = 1,\n    wheelMultiplier = 1,\n    autoResize = true,\n    prevent,\n    virtualScroll,\n    overscroll = true,\n    autoRaf = false,\n    anchors = false,\n    autoToggle = false,\n    // https://caniuse.com/?search=transition-behavior\n    allowNestedScroll = false,\n    // @ts-ignore: this will be deprecated in the future\n    __experimental__naiveDimensions = false,\n    naiveDimensions = __experimental__naiveDimensions,\n    stopInertiaOnNavigate = false\n  } = {}) {\n    window.lenisVersion = version;\n    if (!wrapper || wrapper === document.documentElement) {\n      wrapper = window;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.options = {\n      wrapper,\n      content,\n      eventsTarget,\n      smoothWheel,\n      syncTouch,\n      syncTouchLerp,\n      touchInertiaExponent,\n      duration,\n      easing,\n      lerp: lerp2,\n      infinite,\n      gestureOrientation,\n      orientation,\n      touchMultiplier,\n      wheelMultiplier,\n      autoResize,\n      prevent,\n      virtualScroll,\n      overscroll,\n      autoRaf,\n      anchors,\n      autoToggle,\n      allowNestedScroll,\n      naiveDimensions,\n      stopInertiaOnNavigate\n    };\n    this.dimensions = new Dimensions(wrapper, content, { autoResize });\n    this.updateClassName();\n    this.targetScroll = this.animatedScroll = this.actualScroll;\n    this.options.wrapper.addEventListener(\"scroll\", this.onNativeScroll, false);\n    this.options.wrapper.addEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    if (this.options.anchors || this.options.stopInertiaOnNavigate) {\n      this.options.wrapper.addEventListener(\n        \"click\",\n        this.onClick,\n        false\n      );\n    }\n    this.options.wrapper.addEventListener(\n      \"pointerdown\",\n      this.onPointerDown,\n      false\n    );\n    this.virtualScroll = new VirtualScroll(eventsTarget, {\n      touchMultiplier,\n      wheelMultiplier\n    });\n    this.virtualScroll.on(\"scroll\", this.onVirtualScroll);\n    if (this.options.autoToggle) {\n      this.checkOverflow();\n      this.rootElement.addEventListener(\"transitionend\", this.onTransitionEnd, {\n        passive: true\n      });\n    }\n    if (this.options.autoRaf) {\n      this._rafId = requestAnimationFrame(this.raf);\n    }\n  }\n  /**\n   * Destroy the lenis instance, remove all event listeners and clean up the class name\n   */\n  destroy() {\n    this.emitter.destroy();\n    this.options.wrapper.removeEventListener(\n      \"scroll\",\n      this.onNativeScroll,\n      false\n    );\n    this.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    this.options.wrapper.removeEventListener(\n      \"pointerdown\",\n      this.onPointerDown,\n      false\n    );\n    if (this.options.anchors || this.options.stopInertiaOnNavigate) {\n      this.options.wrapper.removeEventListener(\n        \"click\",\n        this.onClick,\n        false\n      );\n    }\n    this.virtualScroll.destroy();\n    this.dimensions.destroy();\n    this.cleanUpClassName();\n    if (this._rafId) {\n      cancelAnimationFrame(this._rafId);\n    }\n  }\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  off(event, callback) {\n    return this.emitter.off(event, callback);\n  }\n  onScrollEnd = (e) => {\n    if (!(e instanceof CustomEvent)) {\n      if (this.isScrolling === \"smooth\" || this.isScrolling === false) {\n        e.stopPropagation();\n      }\n    }\n  };\n  dispatchScrollendEvent = () => {\n    this.options.wrapper.dispatchEvent(\n      new CustomEvent(\"scrollend\", {\n        bubbles: this.options.wrapper === window,\n        // cancelable: false,\n        detail: {\n          lenisScrollEnd: true\n        }\n      })\n    );\n  };\n  get overflow() {\n    const property = this.isHorizontal ? \"overflow-x\" : \"overflow-y\";\n    return getComputedStyle(this.rootElement)[property];\n  }\n  checkOverflow() {\n    if ([\"hidden\", \"clip\"].includes(this.overflow)) {\n      this.internalStop();\n    } else {\n      this.internalStart();\n    }\n  }\n  onTransitionEnd = (event) => {\n    if (event.propertyName.includes(\"overflow\")) {\n      this.checkOverflow();\n    }\n  };\n  setScroll(scroll) {\n    if (this.isHorizontal) {\n      this.options.wrapper.scrollTo({ left: scroll, behavior: \"instant\" });\n    } else {\n      this.options.wrapper.scrollTo({ top: scroll, behavior: \"instant\" });\n    }\n  }\n  onClick = (event) => {\n    const path = event.composedPath();\n    const anchorElements = path.filter(\n      (node) => node instanceof HTMLAnchorElement && node.getAttribute(\"href\")\n    );\n    if (this.options.anchors) {\n      const anchor = anchorElements.find(\n        (node) => node.getAttribute(\"href\")?.includes(\"#\")\n      );\n      if (anchor) {\n        const href = anchor.getAttribute(\"href\");\n        if (href) {\n          const options = typeof this.options.anchors === \"object\" && this.options.anchors ? this.options.anchors : void 0;\n          const target = `#${href.split(\"#\")[1]}`;\n          this.scrollTo(target, options);\n        }\n      }\n    }\n    if (this.options.stopInertiaOnNavigate) {\n      const internalLink = anchorElements.find(\n        (node) => node.host === window.location.host\n      );\n      if (internalLink) {\n        this.reset();\n      }\n    }\n  };\n  onPointerDown = (event) => {\n    if (event.button === 1) {\n      this.reset();\n    }\n  };\n  onVirtualScroll = (data) => {\n    if (typeof this.options.virtualScroll === \"function\" && this.options.virtualScroll(data) === false)\n      return;\n    const { deltaX, deltaY, event } = data;\n    this.emitter.emit(\"virtual-scroll\", { deltaX, deltaY, event });\n    if (event.ctrlKey) return;\n    if (event.lenisStopPropagation) return;\n    const isTouch = event.type.includes(\"touch\");\n    const isWheel = event.type.includes(\"wheel\");\n    this.isTouching = event.type === \"touchstart\" || event.type === \"touchmove\";\n    const isClickOrTap = deltaX === 0 && deltaY === 0;\n    const isTapToStop = this.options.syncTouch && isTouch && event.type === \"touchstart\" && isClickOrTap && !this.isStopped && !this.isLocked;\n    if (isTapToStop) {\n      this.reset();\n      return;\n    }\n    const isUnknownGesture = this.options.gestureOrientation === \"vertical\" && deltaY === 0 || this.options.gestureOrientation === \"horizontal\" && deltaX === 0;\n    if (isClickOrTap || isUnknownGesture) {\n      return;\n    }\n    let composedPath = event.composedPath();\n    composedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement));\n    const prevent = this.options.prevent;\n    if (!!composedPath.find(\n      (node) => node instanceof HTMLElement && (typeof prevent === \"function\" && prevent?.(node) || node.hasAttribute?.(\"data-lenis-prevent\") || isTouch && node.hasAttribute?.(\"data-lenis-prevent-touch\") || isWheel && node.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.checkNestedScroll(node, { deltaX, deltaY }))\n    ))\n      return;\n    if (this.isStopped || this.isLocked) {\n      if (event.cancelable) {\n        event.preventDefault();\n      }\n      return;\n    }\n    const isSmooth = this.options.syncTouch && isTouch || this.options.smoothWheel && isWheel;\n    if (!isSmooth) {\n      this.isScrolling = \"native\";\n      this.animate.stop();\n      event.lenisStopPropagation = true;\n      return;\n    }\n    let delta = deltaY;\n    if (this.options.gestureOrientation === \"both\") {\n      delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX;\n    } else if (this.options.gestureOrientation === \"horizontal\") {\n      delta = deltaX;\n    }\n    if (!this.options.overscroll || this.options.infinite || this.options.wrapper !== window && this.limit > 0 && (this.animatedScroll > 0 && this.animatedScroll < this.limit || this.animatedScroll === 0 && deltaY > 0 || this.animatedScroll === this.limit && deltaY < 0)) {\n      event.lenisStopPropagation = true;\n    }\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    const isSyncTouch = isTouch && this.options.syncTouch;\n    const isTouchEnd = isTouch && event.type === \"touchend\";\n    const hasTouchInertia = isTouchEnd;\n    if (hasTouchInertia) {\n      delta = Math.sign(this.velocity) * Math.pow(Math.abs(this.velocity), this.options.touchInertiaExponent);\n    }\n    this.scrollTo(this.targetScroll + delta, {\n      programmatic: false,\n      ...isSyncTouch ? {\n        lerp: hasTouchInertia ? this.options.syncTouchLerp : 1\n      } : {\n        lerp: this.options.lerp,\n        duration: this.options.duration,\n        easing: this.options.easing\n      }\n    });\n  };\n  /**\n   * Force lenis to recalculate the dimensions\n   */\n  resize() {\n    this.dimensions.resize();\n    this.animatedScroll = this.targetScroll = this.actualScroll;\n    this.emit();\n  }\n  emit() {\n    this.emitter.emit(\"scroll\", this);\n  }\n  onNativeScroll = () => {\n    if (this._resetVelocityTimeout !== null) {\n      clearTimeout(this._resetVelocityTimeout);\n      this._resetVelocityTimeout = null;\n    }\n    if (this._preventNextNativeScrollEvent) {\n      this._preventNextNativeScrollEvent = false;\n      return;\n    }\n    if (this.isScrolling === false || this.isScrolling === \"native\") {\n      const lastScroll = this.animatedScroll;\n      this.animatedScroll = this.targetScroll = this.actualScroll;\n      this.lastVelocity = this.velocity;\n      this.velocity = this.animatedScroll - lastScroll;\n      this.direction = Math.sign(\n        this.animatedScroll - lastScroll\n      );\n      if (!this.isStopped) {\n        this.isScrolling = \"native\";\n      }\n      this.emit();\n      if (this.velocity !== 0) {\n        this._resetVelocityTimeout = setTimeout(() => {\n          this.lastVelocity = this.velocity;\n          this.velocity = 0;\n          this.isScrolling = false;\n          this.emit();\n        }, 400);\n      }\n    }\n  };\n  reset() {\n    this.isLocked = false;\n    this.isScrolling = false;\n    this.animatedScroll = this.targetScroll = this.actualScroll;\n    this.lastVelocity = this.velocity = 0;\n    this.animate.stop();\n  }\n  /**\n   * Start lenis scroll after it has been stopped\n   */\n  start() {\n    if (!this.isStopped) return;\n    if (this.options.autoToggle) {\n      this.rootElement.style.removeProperty(\"overflow\");\n      return;\n    }\n    this.internalStart();\n  }\n  internalStart() {\n    if (!this.isStopped) return;\n    this.reset();\n    this.isStopped = false;\n    this.emit();\n  }\n  /**\n   * Stop lenis scroll\n   */\n  stop() {\n    if (this.isStopped) return;\n    if (this.options.autoToggle) {\n      this.rootElement.style.setProperty(\"overflow\", \"clip\");\n      return;\n    }\n    this.internalStop();\n  }\n  internalStop() {\n    if (this.isStopped) return;\n    this.reset();\n    this.isStopped = true;\n    this.emit();\n  }\n  /**\n   * RequestAnimationFrame for lenis\n   *\n   * @param time The time in ms from an external clock like `requestAnimationFrame` or Tempus\n   */\n  raf = (time) => {\n    const deltaTime = time - (this.time || time);\n    this.time = time;\n    this.animate.advance(deltaTime * 1e-3);\n    if (this.options.autoRaf) {\n      this._rafId = requestAnimationFrame(this.raf);\n    }\n  };\n  /**\n   * Scroll to a target value\n   *\n   * @param target The target value to scroll to\n   * @param options The options for the scroll\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   offset: 100,\n   *   duration: 1,\n   *   easing: (t) => 1 - Math.cos((t * Math.PI) / 2),\n   *   lerp: 0.1,\n   *   onStart: () => {\n   *     console.log('onStart')\n   *   },\n   *   onComplete: () => {\n   *     console.log('onComplete')\n   *   },\n   * })\n   */\n  scrollTo(target, {\n    offset = 0,\n    immediate = false,\n    lock = false,\n    programmatic = true,\n    // called from outside of the class\n    lerp: lerp2 = programmatic ? this.options.lerp : void 0,\n    duration = programmatic ? this.options.duration : void 0,\n    easing = programmatic ? this.options.easing : void 0,\n    onStart,\n    onComplete,\n    force = false,\n    // scroll even if stopped\n    userData\n  } = {}) {\n    if ((this.isStopped || this.isLocked) && !force) return;\n    if (typeof target === \"string\" && [\"top\", \"left\", \"start\", \"#\"].includes(target)) {\n      target = 0;\n    } else if (typeof target === \"string\" && [\"bottom\", \"right\", \"end\"].includes(target)) {\n      target = this.limit;\n    } else {\n      let node;\n      if (typeof target === \"string\") {\n        node = document.querySelector(target);\n        if (!node) {\n          if (target === \"#top\") {\n            target = 0;\n          } else {\n            console.warn(\"Lenis: Target not found\", target);\n          }\n        }\n      } else if (target instanceof HTMLElement && target?.nodeType) {\n        node = target;\n      }\n      if (node) {\n        if (this.options.wrapper !== window) {\n          const wrapperRect = this.rootElement.getBoundingClientRect();\n          offset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top;\n        }\n        const rect = node.getBoundingClientRect();\n        target = (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll;\n      }\n    }\n    if (typeof target !== \"number\") return;\n    target += offset;\n    target = Math.round(target);\n    if (this.options.infinite) {\n      if (programmatic) {\n        this.targetScroll = this.animatedScroll = this.scroll;\n        const distance = target - this.animatedScroll;\n        if (distance > this.limit / 2) {\n          target = target - this.limit;\n        } else if (distance < -this.limit / 2) {\n          target = target + this.limit;\n        }\n      }\n    } else {\n      target = clamp(0, target, this.limit);\n    }\n    if (target === this.targetScroll) {\n      onStart?.(this);\n      onComplete?.(this);\n      return;\n    }\n    this.userData = userData ?? {};\n    if (immediate) {\n      this.animatedScroll = this.targetScroll = target;\n      this.setScroll(this.scroll);\n      this.reset();\n      this.preventNextNativeScrollEvent();\n      this.emit();\n      onComplete?.(this);\n      this.userData = {};\n      requestAnimationFrame(() => {\n        this.dispatchScrollendEvent();\n      });\n      return;\n    }\n    if (!programmatic) {\n      this.targetScroll = target;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.animate.fromTo(this.animatedScroll, target, {\n      duration,\n      easing,\n      lerp: lerp2,\n      onStart: () => {\n        if (lock) this.isLocked = true;\n        this.isScrolling = \"smooth\";\n        onStart?.(this);\n      },\n      onUpdate: (value, completed) => {\n        this.isScrolling = \"smooth\";\n        this.lastVelocity = this.velocity;\n        this.velocity = value - this.animatedScroll;\n        this.direction = Math.sign(this.velocity);\n        this.animatedScroll = value;\n        this.setScroll(this.scroll);\n        if (programmatic) {\n          this.targetScroll = value;\n        }\n        if (!completed) this.emit();\n        if (completed) {\n          this.reset();\n          this.emit();\n          onComplete?.(this);\n          this.userData = {};\n          requestAnimationFrame(() => {\n            this.dispatchScrollendEvent();\n          });\n          this.preventNextNativeScrollEvent();\n        }\n      }\n    });\n  }\n  preventNextNativeScrollEvent() {\n    this._preventNextNativeScrollEvent = true;\n    requestAnimationFrame(() => {\n      this._preventNextNativeScrollEvent = false;\n    });\n  }\n  checkNestedScroll(node, { deltaX, deltaY }) {\n    const time = Date.now();\n    const cache = node._lenis ??= {};\n    let hasOverflowX, hasOverflowY, isScrollableX, isScrollableY, scrollWidth, scrollHeight, clientWidth, clientHeight;\n    const gestureOrientation = this.options.gestureOrientation;\n    if (time - (cache.time ?? 0) > 2e3) {\n      cache.time = Date.now();\n      const computedStyle = window.getComputedStyle(node);\n      cache.computedStyle = computedStyle;\n      const overflowXString = computedStyle.overflowX;\n      const overflowYString = computedStyle.overflowY;\n      hasOverflowX = [\"auto\", \"overlay\", \"scroll\"].includes(overflowXString);\n      hasOverflowY = [\"auto\", \"overlay\", \"scroll\"].includes(overflowYString);\n      cache.hasOverflowX = hasOverflowX;\n      cache.hasOverflowY = hasOverflowY;\n      if (!hasOverflowX && !hasOverflowY) return false;\n      if (gestureOrientation === \"vertical\" && !hasOverflowY) return false;\n      if (gestureOrientation === \"horizontal\" && !hasOverflowX) return false;\n      scrollWidth = node.scrollWidth;\n      scrollHeight = node.scrollHeight;\n      clientWidth = node.clientWidth;\n      clientHeight = node.clientHeight;\n      isScrollableX = scrollWidth > clientWidth;\n      isScrollableY = scrollHeight > clientHeight;\n      cache.isScrollableX = isScrollableX;\n      cache.isScrollableY = isScrollableY;\n      cache.scrollWidth = scrollWidth;\n      cache.scrollHeight = scrollHeight;\n      cache.clientWidth = clientWidth;\n      cache.clientHeight = clientHeight;\n    } else {\n      isScrollableX = cache.isScrollableX;\n      isScrollableY = cache.isScrollableY;\n      hasOverflowX = cache.hasOverflowX;\n      hasOverflowY = cache.hasOverflowY;\n      scrollWidth = cache.scrollWidth;\n      scrollHeight = cache.scrollHeight;\n      clientWidth = cache.clientWidth;\n      clientHeight = cache.clientHeight;\n    }\n    if (!hasOverflowX && !hasOverflowY || !isScrollableX && !isScrollableY) {\n      return false;\n    }\n    if (gestureOrientation === \"vertical\" && (!hasOverflowY || !isScrollableY))\n      return false;\n    if (gestureOrientation === \"horizontal\" && (!hasOverflowX || !isScrollableX))\n      return false;\n    let orientation;\n    if (gestureOrientation === \"horizontal\") {\n      orientation = \"x\";\n    } else if (gestureOrientation === \"vertical\") {\n      orientation = \"y\";\n    } else {\n      const isScrollingX = deltaX !== 0;\n      const isScrollingY = deltaY !== 0;\n      if (isScrollingX && hasOverflowX && isScrollableX) {\n        orientation = \"x\";\n      }\n      if (isScrollingY && hasOverflowY && isScrollableY) {\n        orientation = \"y\";\n      }\n    }\n    if (!orientation) return false;\n    let scroll, maxScroll, delta, hasOverflow, isScrollable;\n    if (orientation === \"x\") {\n      scroll = node.scrollLeft;\n      maxScroll = scrollWidth - clientWidth;\n      delta = deltaX;\n      hasOverflow = hasOverflowX;\n      isScrollable = isScrollableX;\n    } else if (orientation === \"y\") {\n      scroll = node.scrollTop;\n      maxScroll = scrollHeight - clientHeight;\n      delta = deltaY;\n      hasOverflow = hasOverflowY;\n      isScrollable = isScrollableY;\n    } else {\n      return false;\n    }\n    const willScroll = delta > 0 ? scroll < maxScroll : scroll > 0;\n    return willScroll && hasOverflow && isScrollable;\n  }\n  /**\n   * The root element on which lenis is instanced\n   */\n  get rootElement() {\n    return this.options.wrapper === window ? document.documentElement : this.options.wrapper;\n  }\n  /**\n   * The limit which is the maximum scroll value\n   */\n  get limit() {\n    if (this.options.naiveDimensions) {\n      if (this.isHorizontal) {\n        return this.rootElement.scrollWidth - this.rootElement.clientWidth;\n      } else {\n        return this.rootElement.scrollHeight - this.rootElement.clientHeight;\n      }\n    } else {\n      return this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\n    }\n  }\n  /**\n   * Whether or not the scroll is horizontal\n   */\n  get isHorizontal() {\n    return this.options.orientation === \"horizontal\";\n  }\n  /**\n   * The actual scroll value\n   */\n  get actualScroll() {\n    const wrapper = this.options.wrapper;\n    return this.isHorizontal ? wrapper.scrollX ?? wrapper.scrollLeft : wrapper.scrollY ?? wrapper.scrollTop;\n  }\n  /**\n   * The current scroll value\n   */\n  get scroll() {\n    return this.options.infinite ? modulo(this.animatedScroll, this.limit) : this.animatedScroll;\n  }\n  /**\n   * The progress of the scroll relative to the limit\n   */\n  get progress() {\n    return this.limit === 0 ? 1 : this.scroll / this.limit;\n  }\n  /**\n   * Current scroll state\n   */\n  get isScrolling() {\n    return this._isScrolling;\n  }\n  set isScrolling(value) {\n    if (this._isScrolling !== value) {\n      this._isScrolling = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is stopped\n   */\n  get isStopped() {\n    return this._isStopped;\n  }\n  set isStopped(value) {\n    if (this._isStopped !== value) {\n      this._isStopped = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is locked\n   */\n  get isLocked() {\n    return this._isLocked;\n  }\n  set isLocked(value) {\n    if (this._isLocked !== value) {\n      this._isLocked = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is smooth scrolling\n   */\n  get isSmooth() {\n    return this.isScrolling === \"smooth\";\n  }\n  /**\n   * The class name applied to the wrapper element\n   */\n  get className() {\n    let className = \"lenis\";\n    if (this.options.autoToggle) className += \" lenis-autoToggle\";\n    if (this.isStopped) className += \" lenis-stopped\";\n    if (this.isLocked) className += \" lenis-locked\";\n    if (this.isScrolling) className += \" lenis-scrolling\";\n    if (this.isScrolling === \"smooth\") className += \" lenis-smooth\";\n    return className;\n  }\n  updateClassName() {\n    this.cleanUpClassName();\n    this.rootElement.className = `${this.rootElement.className} ${this.className}`.trim();\n  }\n  cleanUpClassName() {\n    this.rootElement.className = this.rootElement.className.replace(/lenis(-\\w+)?/g, \"\").trim();\n  }\n};\nexport {\n  Lenis as default\n};\n//# sourceMappingURL=lenis.mjs.map","// packages/snap/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    let context = this;\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(context, args);\n    }, delay);\n  };\n}\n\n// packages/snap/src/element.ts\nfunction removeParentSticky(element) {\n  const position = getComputedStyle(element).position;\n  const isSticky = position === \"sticky\";\n  if (isSticky) {\n    element.style.setProperty(\"position\", \"static\");\n    element.dataset.sticky = \"true\";\n  }\n  if (element.offsetParent) {\n    removeParentSticky(element.offsetParent);\n  }\n}\nfunction addParentSticky(element) {\n  if (element?.dataset?.sticky === \"true\") {\n    element.style.removeProperty(\"position\");\n    delete element.dataset.sticky;\n  }\n  if (element.offsetParent) {\n    addParentSticky(element.offsetParent);\n  }\n}\nfunction offsetTop(element, accumulator = 0) {\n  const top = accumulator + element.offsetTop;\n  if (element.offsetParent) {\n    return offsetTop(element.offsetParent, top);\n  }\n  return top;\n}\nfunction offsetLeft(element, accumulator = 0) {\n  const left = accumulator + element.offsetLeft;\n  if (element.offsetParent) {\n    return offsetLeft(element.offsetParent, left);\n  }\n  return left;\n}\nfunction scrollTop(element, accumulator = 0) {\n  const top = accumulator + element.scrollTop;\n  if (element.offsetParent) {\n    return scrollTop(element.offsetParent, top);\n  }\n  return top + window.scrollY;\n}\nfunction scrollLeft(element, accumulator = 0) {\n  const left = accumulator + element.scrollLeft;\n  if (element.offsetParent) {\n    return scrollLeft(element.offsetParent, left);\n  }\n  return left + window.scrollX;\n}\nvar SnapElement = class {\n  element;\n  options;\n  align;\n  // @ts-ignore\n  rect = {};\n  wrapperResizeObserver;\n  resizeObserver;\n  debouncedWrapperResize;\n  constructor(element, {\n    align = [\"start\"],\n    ignoreSticky = true,\n    ignoreTransform = false\n  } = {}) {\n    this.element = element;\n    this.options = { align, ignoreSticky, ignoreTransform };\n    this.align = [align].flat();\n    this.debouncedWrapperResize = debounce(this.onWrapperResize, 500);\n    this.wrapperResizeObserver = new ResizeObserver(this.debouncedWrapperResize);\n    this.wrapperResizeObserver.observe(document.body);\n    this.onWrapperResize();\n    this.resizeObserver = new ResizeObserver(this.onResize);\n    this.resizeObserver.observe(this.element);\n    this.setRect({\n      width: this.element.offsetWidth,\n      height: this.element.offsetHeight\n    });\n  }\n  destroy() {\n    this.wrapperResizeObserver.disconnect();\n    this.resizeObserver.disconnect();\n  }\n  setRect({\n    top,\n    left,\n    width,\n    height,\n    element\n  } = {}) {\n    top = top ?? this.rect.top;\n    left = left ?? this.rect.left;\n    width = width ?? this.rect.width;\n    height = height ?? this.rect.height;\n    element = element ?? this.rect.element;\n    if (top === this.rect.top && left === this.rect.left && width === this.rect.width && height === this.rect.height && element === this.rect.element)\n      return;\n    this.rect.top = top;\n    this.rect.y = top;\n    this.rect.width = width;\n    this.rect.height = height;\n    this.rect.left = left;\n    this.rect.x = left;\n    this.rect.bottom = top + height;\n    this.rect.right = left + width;\n  }\n  onWrapperResize = () => {\n    let top, left;\n    if (this.options.ignoreSticky) removeParentSticky(this.element);\n    if (this.options.ignoreTransform) {\n      top = offsetTop(this.element);\n      left = offsetLeft(this.element);\n    } else {\n      const rect = this.element.getBoundingClientRect();\n      top = rect.top + scrollTop(this.element);\n      left = rect.left + scrollLeft(this.element);\n    }\n    if (this.options.ignoreSticky) addParentSticky(this.element);\n    this.setRect({ top, left });\n  };\n  onResize = ([entry]) => {\n    if (!entry?.borderBoxSize[0]) return;\n    const width = entry.borderBoxSize[0].inlineSize;\n    const height = entry.borderBoxSize[0].blockSize;\n    this.setRect({ width, height });\n  };\n};\n\n// packages/snap/src/uid.ts\nvar index = 0;\nfunction uid() {\n  return index++;\n}\n\n// packages/snap/src/snap.ts\nvar Snap = class {\n  constructor(lenis, {\n    type = \"proximity\",\n    lerp,\n    easing,\n    duration,\n    distanceThreshold = \"50%\",\n    // useless when type is \"mandatory\"\n    debounce: debounceDelay = 500,\n    onSnapStart,\n    onSnapComplete\n  } = {}) {\n    this.lenis = lenis;\n    this.options = {\n      type,\n      lerp,\n      easing,\n      duration,\n      distanceThreshold,\n      debounce: debounceDelay,\n      onSnapStart,\n      onSnapComplete\n    };\n    this.onWindowResize();\n    window.addEventListener(\"resize\", this.onWindowResize, false);\n    this.onSnapDebounced = debounce(this.onSnap, this.options.debounce);\n    this.lenis.on(\"virtual-scroll\", this.onSnapDebounced);\n  }\n  options;\n  elements = /* @__PURE__ */ new Map();\n  snaps = /* @__PURE__ */ new Map();\n  viewport = {\n    width: window.innerWidth,\n    height: window.innerHeight\n  };\n  isStopped = false;\n  onSnapDebounced;\n  currentSnapIndex;\n  /**\n   * Destroy the snap instance\n   */\n  destroy() {\n    this.lenis.off(\"virtual-scroll\", this.onSnapDebounced);\n    window.removeEventListener(\"resize\", this.onWindowResize, false);\n    this.elements.forEach((element) => {\n      element.destroy();\n    });\n  }\n  /**\n   * Start the snap after it has been stopped\n   */\n  start() {\n    this.isStopped = false;\n  }\n  /**\n   * Stop the snap\n   */\n  stop() {\n    this.isStopped = true;\n  }\n  /**\n   * Add a snap to the snap instance\n   *\n   * @param value The value to snap to\n   * @param userData User data that will be forwarded through the snap event\n   * @returns Unsubscribe function\n   */\n  add(value) {\n    const id = uid();\n    this.snaps.set(id, { value });\n    return () => this.snaps.delete(id);\n  }\n  /**\n   * Add an element to the snap instance\n   *\n   * @param element The element to add\n   * @param options The options for the element\n   * @returns Unsubscribe function\n   */\n  addElement(element, options = {}) {\n    const id = uid();\n    this.elements.set(id, new SnapElement(element, options));\n    return () => this.elements.delete(id);\n  }\n  addElements(elements, options = {}) {\n    const map = [...elements].map(\n      (element) => this.addElement(element, options)\n    );\n    return () => {\n      map.forEach((remove) => {\n        remove();\n      });\n    };\n  }\n  onWindowResize = () => {\n    this.viewport.width = window.innerWidth;\n    this.viewport.height = window.innerHeight;\n  };\n  computeSnaps = () => {\n    const { isHorizontal } = this.lenis;\n    let snaps = [...this.snaps.values()];\n    this.elements.forEach(({ rect, align }) => {\n      let value;\n      align.forEach((align2) => {\n        if (align2 === \"start\") {\n          value = rect.top;\n        } else if (align2 === \"center\") {\n          value = isHorizontal ? rect.left + rect.width / 2 - this.viewport.width / 2 : rect.top + rect.height / 2 - this.viewport.height / 2;\n        } else if (align2 === \"end\") {\n          value = isHorizontal ? rect.left + rect.width - this.viewport.width : rect.top + rect.height - this.viewport.height;\n        }\n        if (typeof value === \"number\") {\n          snaps.push({ value: Math.ceil(value) });\n        }\n      });\n    });\n    snaps = snaps.sort((a, b) => Math.abs(a.value) - Math.abs(b.value));\n    return snaps;\n  };\n  previous() {\n    this.goTo((this.currentSnapIndex ?? 0) - 1);\n  }\n  next() {\n    this.goTo((this.currentSnapIndex ?? 0) + 1);\n  }\n  goTo(index2) {\n    const snaps = this.computeSnaps();\n    if (snaps.length === 0) return;\n    this.currentSnapIndex = Math.max(0, Math.min(index2, snaps.length - 1));\n    const currentSnap = snaps[this.currentSnapIndex];\n    if (currentSnap === void 0) return;\n    this.lenis.scrollTo(currentSnap.value, {\n      duration: this.options.duration,\n      easing: this.options.easing,\n      lerp: this.options.lerp,\n      lock: this.options.type === \"lock\",\n      userData: { initiator: \"snap\" },\n      onStart: () => {\n        this.options.onSnapStart?.({\n          index: this.currentSnapIndex,\n          ...currentSnap\n        });\n      },\n      onComplete: () => {\n        this.options.onSnapComplete?.({\n          index: this.currentSnapIndex,\n          ...currentSnap\n        });\n      }\n    });\n  }\n  get distanceThreshold() {\n    let distanceThreshold = Infinity;\n    if (this.options.type === \"mandatory\") return Infinity;\n    const { isHorizontal } = this.lenis;\n    const axis = isHorizontal ? \"width\" : \"height\";\n    if (typeof this.options.distanceThreshold === \"string\" && this.options.distanceThreshold.endsWith(\"%\")) {\n      distanceThreshold = Number(this.options.distanceThreshold.replace(\"%\", \"\")) / 100 * this.viewport[axis];\n    } else if (typeof this.options.distanceThreshold === \"number\") {\n      distanceThreshold = this.options.distanceThreshold;\n    } else {\n      distanceThreshold = this.viewport[axis];\n    }\n    return distanceThreshold;\n  }\n  onSnap = (e) => {\n    if (this.isStopped) return;\n    if (e.event.type === \"touchmove\") return;\n    if (this.options.type === \"lock\" && this.lenis.userData?.initiator === \"snap\")\n      return;\n    let { scroll, isHorizontal } = this.lenis;\n    const delta = isHorizontal ? e.deltaX : e.deltaY;\n    scroll = Math.ceil(this.lenis.scroll + delta);\n    const snaps = this.computeSnaps();\n    if (snaps.length === 0) return;\n    let snapIndex;\n    const prevSnapIndex = snaps.findLastIndex(({ value }) => value < scroll);\n    const nextSnapIndex = snaps.findIndex(({ value }) => value > scroll);\n    if (this.options.type === \"lock\") {\n      if (delta > 0) {\n        snapIndex = nextSnapIndex;\n      } else if (delta < 0) {\n        snapIndex = prevSnapIndex;\n      }\n    } else {\n      const prevSnap = snaps[prevSnapIndex];\n      const distanceToPrevSnap = prevSnap ? Math.abs(scroll - prevSnap.value) : Infinity;\n      const nextSnap = snaps[nextSnapIndex];\n      const distanceToNextSnap = nextSnap ? Math.abs(scroll - nextSnap.value) : Infinity;\n      snapIndex = distanceToPrevSnap < distanceToNextSnap ? prevSnapIndex : nextSnapIndex;\n    }\n    if (snapIndex === void 0) return;\n    if (snapIndex === -1) return;\n    snapIndex = Math.max(0, Math.min(snapIndex, snaps.length - 1));\n    const snap = snaps[snapIndex];\n    const distance = Math.abs(scroll - snap.value);\n    if (distance <= this.distanceThreshold) {\n      this.goTo(snapIndex);\n    }\n  };\n  resize() {\n    this.elements.forEach((element) => element.onWrapperResize());\n  }\n};\nexport {\n  Snap as default\n};\n//# sourceMappingURL=lenis-snap.mjs.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"https://unpkg.com/lenis@1.3.17-framer/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.17-framer/dist/lenis-snap.mjs\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,infinite,orientation,intensity,children,snap}){const wrapperRef=useRef();const contentRef=useRef();const lenisRef=useRef();useEffect(()=>{if(children&&(!wrapperRef.current||!contentRef.current))return;if(wrapperRef.current&&contentRef.current){if(orientation===\"horizontal\"){wrapperRef.current.style.setProperty(\"overflowX\",\"auto\");}else{wrapperRef.current.style.setProperty(\"overflowY\",\"auto\");}}const lenis=new Lenis({smoothWheel:smooth,// duration: intensity / 10,\ninfinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\"});lenisRef.current=lenis;let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=document.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{if(lenis)lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[smooth,infinite,orientation,intensity,children,snap]);useEffect(()=>{function onClick(event){const path=event.composedPath();const pageLink=path.find(node=>node instanceof HTMLAnchorElement&&(node.getAttribute(\"href\")?.startsWith(\"./\")||node.getAttribute(\"href\")?.startsWith(\"../\")));if(pageLink){if(lenisRef.current){lenisRef.current.reset();}}}window.addEventListener(\"click\",onClick);return()=>{window.removeEventListener(\"click\",onClick);};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.17-framer/dist/lenis.css\",rel:\"stylesheet\"}),children&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:orientation===\"horizontal\"?{overflowX:\"auto\",width:\"100%\"}:{overflowY:\"auto\",height:\"100%\"},children:/*#__PURE__*/_jsx(\"div\",{ref:contentRef,style:{width:\"100%\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}}):child)})})})]});}Component.displayName=\"Lenis\";addPropertyControls(Component,{smooth:{type:ControlType.Boolean,title:\"Smooth\",defaultValue:true},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:12,step:1,min:1,max:100,hidden(props){return props.smooth===false;},description:\"This will be ignored on mobile.\"},infinite:{type:ControlType.Boolean,title:\"Infinite\",defaultValue:false,hidden(props){return props.smooth===false;}},orientation:{type:ControlType.Enum,defaultValue:\"Vertical\",displaySegmentedControl:true,options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],hidden(props){return props.smooth===false;}},children:{type:ControlType.ComponentInstance,title:\"Content\"},snap:{type:ControlType.Object,optional:true,description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\",controls:{type:{type:ControlType.Enum,defaultValue:\"proximity\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"proximity\",\"mandatory\",\"lock\"],optionTitles:[\"Proximity\",\"Mandatory\",\"Lock\"]},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,unit:\"%\",hidden:props=>{return props.snap.type===\"mandatory\";}},snaps:{type:ControlType.Array,control:{type:ControlType.Object,controls:{target:{title:\"Target\",type:ControlType.ScrollSectionRef},align:{type:ControlType.Enum,defaultValue:\"center\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"start\",\"center\",\"end\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"]}}}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Component\",\"slots\":[\"children\"],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","// Generated by Framer (ea22747)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 197 62\" xmlns=\"http://www.w3.org/2000/svg\"><g d=\"M 20.485 19.977 C 20.788 19.675 20.959 19.264 20.959 18.836 C 20.959 18.408 20.788 17.997 20.485 17.695 C 19.851 17.062 18.836 17.062 18.203 17.695 C 17.57 18.329 17.57 19.344 18.203 19.977 C 18.505 20.281 18.915 20.452 19.344 20.452 C 19.772 20.452 20.183 20.281 20.485 19.977 Z M 28.907 17.223 C 29.742 16.389 29.742 15.032 28.907 14.197 C 28.072 13.363 26.718 13.363 25.882 14.197 C 25.047 15.033 25.047 16.387 25.882 17.223 C 26.716 18.057 28.073 18.057 28.907 17.223 Z M 33.431 14.589 C 34.536 15.695 36.325 15.695 37.431 14.589 C 38.537 13.484 38.537 11.695 37.431 10.589 C 36.325 9.483 34.536 9.483 33.431 10.589 C 32.325 11.695 32.325 13.484 33.431 14.589 Z M 27.671 4.83 C 28.777 3.724 28.777 1.935 27.671 0.829 C 26.566 -0.276 24.776 -0.276 23.671 0.829 C 22.565 1.935 22.565 3.724 23.671 4.83 C 24.776 5.935 26.566 5.935 27.671 4.83 Z M 33.561 8.699 C 34.667 7.594 34.667 5.805 33.561 4.699 C 32.456 3.593 30.666 3.593 29.561 4.699 C 28.455 5.805 28.455 7.594 29.561 8.699 C 30.666 9.805 32.456 9.805 33.561 8.699 Z M 24.023 12.338 C 24.857 11.504 24.857 10.147 24.023 9.313 C 23.187 8.478 21.833 8.478 20.997 9.313 C 20.163 10.148 20.163 11.502 20.997 12.338 C 21.831 13.172 23.188 13.172 24.023 12.338 Z M 23.389 26.862 C 22.495 26.862 21.781 27.586 21.781 28.47 C 21.781 29.355 22.505 30.078 23.389 30.078 C 24.274 30.078 24.998 29.355 24.998 28.47 C 24.998 27.586 24.274 26.862 23.389 26.862 Z M 31.29 34.099 C 32.466 34.099 33.431 33.144 33.431 31.958 C 33.431 30.772 32.476 29.817 31.29 29.817 C 30.104 29.817 29.149 30.772 29.149 31.958 C 29.149 33.144 30.104 34.099 31.29 34.099 Z M 39.18 32.601 C 37.612 32.601 36.345 33.868 36.345 35.436 C 36.345 37.004 37.612 38.27 39.18 38.27 C 40.748 38.27 42.014 37.004 42.014 35.436 C 42.014 33.868 40.748 32.601 39.18 32.601 Z M 36.345 21.625 C 36.345 23.193 37.612 24.46 39.18 24.46 C 40.748 24.46 42.014 23.193 42.014 21.625 C 42.014 20.057 40.748 18.791 39.18 18.791 C 37.612 18.791 36.345 20.057 36.345 21.625 Z M 40.607 25.696 C 39.039 25.696 37.773 26.963 37.773 28.531 C 37.773 30.099 39.039 31.365 40.607 31.365 C 42.175 31.365 43.442 30.099 43.442 28.531 C 43.442 26.963 42.175 25.696 40.607 25.696 Z M 31.29 22.912 C 30.114 22.912 29.149 23.867 29.149 25.053 C 29.149 26.239 30.104 27.194 31.29 27.194 C 32.476 27.194 33.431 26.239 33.431 25.053 C 33.431 23.867 32.476 22.912 31.29 22.912 Z M 18.293 37.004 C 17.66 37.637 17.66 38.652 18.293 39.285 C 18.927 39.919 19.942 39.919 20.575 39.285 C 20.879 38.984 21.05 38.573 21.05 38.145 C 21.05 37.716 20.879 37.306 20.575 37.004 C 20.273 36.7 19.862 36.529 19.434 36.529 C 19.006 36.529 18.595 36.7 18.293 37.004 Z M 24.063 44.683 C 23.227 43.848 21.873 43.848 21.037 44.683 C 20.203 45.519 20.203 46.873 21.037 47.708 C 21.872 48.543 23.229 48.543 24.063 47.708 C 24.897 46.874 24.897 45.517 24.063 44.683 Z M 23.671 52.231 C 22.565 53.337 22.565 55.126 23.671 56.232 C 24.776 57.338 26.566 57.338 27.671 56.232 C 28.777 55.126 28.777 53.337 27.671 52.231 C 26.566 51.126 24.776 51.126 23.671 52.231 Z M 33.441 42.462 C 32.335 43.567 32.335 45.356 33.441 46.462 C 34.546 47.568 36.335 47.568 37.441 46.462 C 38.547 45.356 38.547 43.567 37.441 42.462 C 36.335 41.356 34.546 41.356 33.441 42.462 Z M 29.561 48.362 C 28.455 49.467 28.455 51.257 29.561 52.362 C 30.666 53.468 32.456 53.468 33.561 52.362 C 34.667 51.257 34.667 49.467 33.561 48.362 C 32.456 47.256 30.666 47.256 29.561 48.362 Z M 28.948 42.823 C 29.782 41.989 29.782 40.632 28.948 39.798 C 28.112 38.963 26.758 38.963 25.922 39.798 C 25.088 40.634 25.088 41.988 25.922 42.823 C 26.757 43.658 28.113 43.658 28.948 42.823 Z M 9.79 43.798 C 10.685 43.798 11.398 43.075 11.398 42.19 C 11.398 41.306 10.674 40.582 9.79 40.582 C 8.905 40.582 8.182 41.306 8.182 42.19 C 8.182 43.075 8.905 43.798 9.79 43.798 Z M 4.161 50.091 C 4.161 48.908 5.12 47.95 6.302 47.95 C 7.485 47.95 8.443 48.908 8.443 50.091 C 8.443 51.273 7.485 52.231 6.302 52.231 C 5.12 52.231 4.161 51.273 4.161 50.091 Z M 2.834 55.146 C 1.266 55.146 0 56.413 0 57.981 C 0 59.549 1.266 60.815 2.834 60.815 C 4.402 60.815 5.669 59.549 5.669 57.981 C 5.669 56.413 4.402 55.146 2.834 55.146 Z M 16.645 55.146 C 15.077 55.146 13.81 56.413 13.81 57.981 C 13.81 59.549 15.077 60.815 16.645 60.815 C 18.213 60.815 19.479 59.549 19.479 57.981 C 19.479 56.413 18.213 55.146 16.645 55.146 Z M 9.74 56.574 C 8.172 56.574 6.905 57.84 6.905 59.408 C 6.905 60.976 8.172 62.243 9.74 62.243 C 11.308 62.243 12.574 60.976 12.574 59.408 C 12.574 57.84 11.308 56.574 9.74 56.574 Z M 11.077 50.091 C 11.077 48.908 12.035 47.95 13.217 47.95 C 14.4 47.95 15.358 48.908 15.358 50.091 C 15.358 51.273 14.4 52.231 13.217 52.231 C 12.035 52.231 11.077 51.273 11.077 50.091 Z M 188.994 23.304 L 187.225 23.304 L 187.225 22.59 L 191.537 22.59 L 191.537 23.304 L 189.788 23.304 L 189.788 27.435 L 188.994 27.435 Z M 191.859 22.59 L 192.603 22.59 L 194.311 24.972 L 196 22.59 L 196.744 22.59 L 196.744 27.435 L 195.95 27.435 L 195.95 24.028 L 194.342 26.229 L 194.261 26.229 L 192.663 23.987 L 192.663 27.435 L 191.859 27.435 Z M 54.528 43.889 L 58.117 42.2 C 59.313 44.753 61.544 46.321 64.137 46.321 C 66.318 46.321 67.846 45.246 67.846 43.557 C 67.846 41.869 66.278 41.245 64.871 40.874 L 61.363 39.878 C 57.483 38.763 55.634 36.501 55.634 33.486 C 55.634 29.485 59.011 26.802 63.594 26.802 C 67.675 26.802 71.103 28.902 72.419 32.491 L 68.831 34.179 C 67.927 32.038 65.906 30.671 63.554 30.671 C 61.494 30.671 60.217 31.707 60.217 33.265 C 60.217 34.823 61.665 35.496 63.062 35.908 L 66.69 36.984 C 70.359 38.059 72.419 40.321 72.419 43.417 C 72.419 47.377 69.082 50.101 64.127 50.101 C 59.554 50.101 55.875 47.668 54.518 43.869 Z M 73.364 41.085 L 73.364 27.314 L 78.028 27.314 L 78.028 40.673 C 78.028 43.768 80.048 45.789 82.933 45.789 C 85.818 45.789 87.919 43.728 87.919 40.471 L 87.919 27.314 L 92.542 27.314 L 92.542 49.628 L 88.13 49.628 L 88.13 46.864 C 86.893 48.965 84.582 50.121 81.777 50.121 C 76.701 50.121 73.364 46.452 73.364 41.085 Z M 99.347 46.774 L 99.347 49.618 L 94.894 49.618 L 94.894 18.399 L 99.558 18.399 L 99.558 29.867 C 101.247 27.927 103.759 26.812 106.815 26.812 C 113.167 26.812 117.992 31.847 117.992 38.441 C 117.992 45.035 113.208 50.111 106.815 50.111 C 103.719 50.111 100.995 48.915 99.347 46.774 Z M 113.157 38.441 C 113.157 34.23 110.273 31.144 106.353 31.144 C 102.433 31.144 99.548 34.24 99.548 38.441 C 99.548 42.643 102.433 45.779 106.353 45.779 C 110.273 45.779 113.157 42.683 113.157 38.441 Z M 119.269 18.399 L 123.932 18.399 L 123.932 49.618 L 119.269 49.618 Z M 125.671 22.238 C 125.671 20.67 126.988 19.354 128.556 19.354 C 130.124 19.354 131.481 20.67 131.481 22.238 C 131.481 23.806 130.164 25.163 128.556 25.163 C 126.948 25.163 125.671 23.847 125.671 22.238 Z M 126.244 49.618 L 126.244 27.304 L 130.908 27.304 L 130.908 49.618 Z M 133.25 27.314 L 137.703 27.314 L 137.703 30.078 C 138.939 27.938 141.21 26.822 143.934 26.822 C 146.95 26.822 149.583 28.269 150.9 30.621 C 152.387 28.108 154.9 26.822 157.865 26.822 C 162.529 26.822 166.158 30.29 166.158 35.195 L 166.158 49.628 L 161.494 49.628 L 161.494 36.471 C 161.494 33.174 159.594 31.154 156.79 31.154 C 153.986 31.154 152.006 33.174 152.006 36.471 L 152.006 49.628 L 147.382 49.628 L 147.382 36.471 C 147.382 33.174 145.442 31.154 142.638 31.154 C 139.833 31.154 137.894 33.174 137.894 36.471 L 137.894 49.628 L 133.23 49.628 L 133.23 27.314 Z M 167.133 38.401 C 167.133 31.717 171.877 26.812 178.149 26.812 C 184.873 26.812 188.793 31.847 188.793 37.617 C 188.793 38.321 188.753 39.145 188.582 39.798 L 172.008 39.798 C 172.299 43.547 175.063 45.99 178.561 45.99 C 181.245 45.99 183.134 44.633 184.25 42.733 L 188.049 44.593 C 186.693 47.769 183.064 50.121 178.521 50.121 C 171.837 50.121 167.143 45.005 167.143 38.411 Z M 172.088 36.089 L 183.838 36.089 C 183.677 32.913 181.285 30.732 178.149 30.732 C 175.013 30.732 172.661 32.712 172.088 36.089 Z\" fill=\"transparent\" height=\"62.24256354265947px\" id=\"xLjVI7jPA\" width=\"196.74379882841845px\"><path d=\"M 12.303 19.977 C 12.607 19.675 12.777 19.264 12.777 18.836 C 12.777 18.408 12.607 17.997 12.303 17.695 C 11.67 17.062 10.654 17.062 10.021 17.695 C 9.388 18.329 9.388 19.344 10.021 19.977 C 10.323 20.281 10.734 20.452 11.162 20.452 C 11.59 20.452 12.001 20.281 12.303 19.977 Z M 20.726 17.223 C 21.56 16.389 21.56 15.032 20.726 14.197 C 19.89 13.363 18.536 13.363 17.7 14.197 C 16.866 15.033 16.866 16.387 17.7 17.223 C 18.535 18.057 19.891 18.057 20.726 17.223 Z M 25.249 14.589 C 26.354 15.695 28.144 15.695 29.249 14.589 C 30.355 13.484 30.355 11.695 29.249 10.589 C 28.144 9.483 26.354 9.483 25.249 10.589 C 24.143 11.695 24.143 13.484 25.249 14.589 Z M 19.489 4.83 C 20.595 3.724 20.595 1.935 19.489 0.829 C 18.384 -0.276 16.595 -0.276 15.489 0.829 C 14.383 1.935 14.383 3.724 15.489 4.83 C 16.595 5.935 18.384 5.935 19.489 4.83 Z M 25.379 8.699 C 26.485 7.594 26.485 5.805 25.379 4.699 C 24.274 3.593 22.485 3.593 21.379 4.699 C 20.273 5.805 20.273 7.594 21.379 8.699 C 22.485 9.805 24.274 9.805 25.379 8.699 Z M 15.841 12.338 C 16.675 11.504 16.675 10.147 15.841 9.313 C 15.005 8.478 13.651 8.478 12.815 9.313 C 11.981 10.148 11.981 11.502 12.815 12.338 C 13.65 13.172 15.007 13.172 15.841 12.338 Z M 15.208 26.862 C 14.313 26.862 13.599 27.586 13.599 28.47 C 13.599 29.355 14.323 30.078 15.208 30.078 C 16.092 30.078 16.816 29.355 16.816 28.47 C 16.816 27.586 16.092 26.862 15.208 26.862 Z M 23.108 34.099 C 24.284 34.099 25.249 33.144 25.249 31.958 C 25.249 30.772 24.294 29.817 23.108 29.817 C 21.922 29.817 20.967 30.772 20.967 31.958 C 20.967 33.144 21.922 34.099 23.108 34.099 Z M 30.998 32.601 C 29.43 32.601 28.164 33.868 28.164 35.436 C 28.164 37.004 29.43 38.27 30.998 38.27 C 32.566 38.27 33.833 37.004 33.833 35.436 C 33.833 33.868 32.566 32.601 30.998 32.601 Z M 28.164 21.625 C 28.164 23.193 29.43 24.46 30.998 24.46 C 32.566 24.46 33.833 23.193 33.833 21.625 C 33.833 20.057 32.566 18.791 30.998 18.791 C 29.43 18.791 28.164 20.057 28.164 21.625 Z M 32.425 25.696 C 30.857 25.696 29.591 26.963 29.591 28.531 C 29.591 30.099 30.857 31.365 32.425 31.365 C 33.993 31.365 35.26 30.099 35.26 28.531 C 35.26 26.963 33.993 25.696 32.425 25.696 Z M 23.108 22.912 C 21.932 22.912 20.967 23.867 20.967 25.053 C 20.967 26.239 21.922 27.194 23.108 27.194 C 24.294 27.194 25.249 26.239 25.249 25.053 C 25.249 23.867 24.294 22.912 23.108 22.912 Z M 10.112 37.004 C 9.478 37.637 9.478 38.652 10.112 39.285 C 10.745 39.919 11.76 39.919 12.393 39.285 C 12.697 38.984 12.868 38.573 12.868 38.145 C 12.868 37.716 12.697 37.306 12.393 37.004 C 12.091 36.7 11.681 36.529 11.252 36.529 C 10.824 36.529 10.413 36.7 10.112 37.004 Z M 15.881 44.683 C 15.045 43.848 13.691 43.848 12.856 44.683 C 12.021 45.519 12.021 46.873 12.856 47.708 C 13.69 48.543 15.047 48.543 15.881 47.708 C 16.715 46.874 16.715 45.517 15.881 44.683 Z M 15.489 52.231 C 14.383 53.337 14.383 55.126 15.489 56.232 C 16.595 57.338 18.384 57.338 19.489 56.232 C 20.595 55.126 20.595 53.337 19.489 52.231 C 18.384 51.126 16.595 51.126 15.489 52.231 Z M 25.259 42.462 C 24.153 43.567 24.153 45.356 25.259 46.462 C 26.365 47.568 28.154 47.568 29.259 46.462 C 30.365 45.356 30.365 43.567 29.259 42.462 C 28.154 41.356 26.365 41.356 25.259 42.462 Z M 21.379 48.362 C 20.273 49.467 20.273 51.257 21.379 52.362 C 22.485 53.468 24.274 53.468 25.379 52.362 C 26.485 51.257 26.485 49.467 25.379 48.362 C 24.274 47.256 22.485 47.256 21.379 48.362 Z M 20.766 42.823 C 21.6 41.989 21.6 40.632 20.766 39.798 C 19.93 38.963 18.576 38.963 17.741 39.798 C 16.906 40.634 16.906 41.988 17.741 42.823 C 18.575 43.658 19.932 43.658 20.766 42.823 Z M 1.608 43.798 C 2.503 43.798 3.216 43.075 3.216 42.19 C 3.216 41.306 2.493 40.582 1.608 40.582 C 0.724 40.582 0 41.306 0 42.19 C 0 43.075 0.724 43.798 1.608 43.798 Z\" fill=\"rgb(72, 162, 63)\" height=\"57.06112780683468px\" id=\"gslaRNzf2\" transform=\"translate(8.182 0)\" width=\"35.25989788466234px\"/><path d=\"M 0 2.141 C 0 0.959 0.959 0 2.141 0 C 3.323 0 4.282 0.959 4.282 2.141 C 4.282 3.323 3.323 4.282 2.141 4.282 C 0.959 4.282 0 3.323 0 2.141 Z\" fill=\"rgb(72, 162, 63)\" height=\"4.281846153846153px\" id=\"pzDLUK75T\" transform=\"translate(4.161 47.95)\" width=\"4.281846153846151px\"/><path d=\"M 2.834 0 C 1.266 0 0 1.266 0 2.834 C 0 4.402 1.266 5.669 2.834 5.669 C 4.402 5.669 5.669 4.402 5.669 2.834 C 5.669 1.266 4.402 0 2.834 0 Z M 16.645 0 C 15.077 0 13.81 1.266 13.81 2.834 C 13.81 4.402 15.077 5.669 16.645 5.669 C 18.213 5.669 19.479 4.402 19.479 2.834 C 19.479 1.266 18.213 0 16.645 0 Z M 9.74 1.427 C 8.172 1.427 6.905 2.694 6.905 4.262 C 6.905 5.83 8.172 7.096 9.74 7.096 C 11.308 7.096 12.574 5.83 12.574 4.262 C 12.574 2.694 11.308 1.427 9.74 1.427 Z\" fill=\"rgb(72, 162, 63)\" height=\"7.096205052669234px\" id=\"WhgF0OrbA\" transform=\"translate(0 55.146)\" width=\"19.479384121234602px\"/><path d=\"M 0 2.141 C 0 0.959 0.959 0 2.141 0 C 3.323 0 4.282 0.959 4.282 2.141 C 4.282 3.323 3.323 4.282 2.141 4.282 C 0.959 4.282 0 3.323 0 2.141 Z\" fill=\"rgb(72, 162, 63)\" height=\"4.281846153846153px\" id=\"w6o4ruoH0\" transform=\"translate(11.077 47.95)\" width=\"4.281846153846155px\"/><path d=\"M 1.769 0.714 L 0 0.714 L 0 0 L 4.312 0 L 4.312 0.714 L 2.563 0.714 L 2.563 4.845 L 1.769 4.845 Z M 4.634 0 L 5.377 0 L 7.086 2.382 L 8.775 0 L 9.519 0 L 9.519 4.845 L 8.725 4.845 L 8.725 1.437 L 7.116 3.639 L 7.036 3.639 L 5.438 1.397 L 5.438 4.845 L 4.634 4.845 Z\" fill=\"rgb(72, 162, 63)\" height=\"4.844717945212352px\" id=\"OqcHKHsB0\" transform=\"translate(187.225 22.59)\" width=\"9.518563843066886px\"/><path d=\"M 0.01 25.49 L 3.598 23.801 C 4.794 26.354 7.026 27.922 9.619 27.922 C 11.8 27.922 13.328 26.847 13.328 25.158 C 13.328 23.47 11.76 22.847 10.353 22.475 L 6.845 21.48 C 2.965 20.364 1.116 18.102 1.116 15.087 C 1.116 11.087 4.493 8.403 9.076 8.403 C 13.157 8.403 16.585 10.504 17.901 14.092 L 14.313 15.781 C 13.408 13.64 11.388 12.273 9.036 12.273 C 6.976 12.273 5.699 13.308 5.699 14.866 C 5.699 16.424 7.146 17.097 8.544 17.509 L 12.172 18.585 C 15.841 19.66 17.901 21.922 17.901 25.018 C 17.901 28.978 14.564 31.702 9.609 31.702 C 5.036 31.702 1.357 29.269 0 25.47 Z M 18.846 22.686 L 18.846 8.915 L 23.51 8.915 L 23.51 22.274 C 23.51 25.369 25.53 27.39 28.415 27.39 C 31.3 27.39 33.4 25.329 33.4 22.073 L 33.4 8.915 L 38.024 8.915 L 38.024 31.229 L 33.611 31.229 L 33.611 28.465 C 32.375 30.566 30.063 31.722 27.259 31.722 C 22.183 31.722 18.846 28.053 18.846 22.686 Z M 44.829 28.375 L 44.829 31.219 L 40.376 31.219 L 40.376 0 L 45.04 0 L 45.04 11.469 C 46.728 9.529 49.241 8.413 52.297 8.413 C 58.649 8.413 63.474 13.449 63.474 20.042 C 63.474 26.636 58.689 31.712 52.297 31.712 C 49.201 31.712 46.477 30.516 44.829 28.375 Z M 58.639 20.042 C 58.639 15.831 55.754 12.745 51.834 12.745 C 47.914 12.745 45.03 15.841 45.03 20.042 C 45.03 24.244 47.914 27.38 51.834 27.38 C 55.754 27.38 58.639 24.284 58.639 20.042 Z\" fill=\"var(--token-fa02bd3a-580b-4a95-8060-d905a6e0fb59, rgb(255, 255, 255))\" height=\"31.721846263787686px\" id=\"JHFfjGV_P\" transform=\"translate(54.518 18.399)\" width=\"63.47384178983249px\"/><path d=\"M 0 0 L 4.664 0 L 4.664 31.219 L 0 31.219 Z M 6.403 3.84 C 6.403 2.272 7.719 0.955 9.287 0.955 C 10.855 0.955 12.212 2.272 12.212 3.84 C 12.212 5.408 10.896 6.765 9.287 6.765 C 7.679 6.765 6.403 5.448 6.403 3.84 Z M 6.976 31.219 L 6.976 8.905 L 11.639 8.905 L 11.639 31.219 Z M 13.981 8.915 L 18.434 8.915 L 18.434 11.68 C 19.67 9.539 21.942 8.423 24.666 8.423 C 27.681 8.423 30.315 9.87 31.631 12.222 C 33.119 9.71 35.632 8.423 38.597 8.423 C 43.261 8.423 46.889 11.891 46.889 16.796 L 46.889 31.229 L 42.225 31.229 L 42.225 18.072 C 42.225 14.775 40.326 12.755 37.521 12.755 C 34.717 12.755 32.737 14.775 32.737 18.072 L 32.737 31.229 L 28.113 31.229 L 28.113 18.072 C 28.113 14.775 26.174 12.755 23.369 12.755 C 20.565 12.755 18.625 14.775 18.625 18.072 L 18.625 31.229 L 13.961 31.229 L 13.961 8.915 Z M 47.864 20.002 C 47.864 13.318 52.608 8.413 58.88 8.413 C 65.605 8.413 69.525 13.449 69.525 19.218 C 69.525 19.922 69.485 20.746 69.314 21.399 L 52.739 21.399 C 53.031 25.148 55.795 27.591 59.293 27.591 C 61.976 27.591 63.866 26.234 64.982 24.334 L 68.781 26.194 C 67.424 29.37 63.795 31.722 59.252 31.722 C 52.568 31.722 47.874 26.606 47.874 20.012 Z M 52.819 17.69 L 64.569 17.69 C 64.409 14.514 62.016 12.333 58.88 12.333 C 55.744 12.333 53.392 14.313 52.819 17.69 Z\" fill=\"rgb(72, 162, 63)\" height=\"31.72184593611497px\" id=\"iZgvlciXV\" transform=\"translate(119.269 18.399)\" width=\"69.5247172272511px\"/></g></svg>';const getProps=({height,id,width,...props})=>{return{...props};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,...restProps}=getProps(props);const href=useSVGTemplate(\"1554412555\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-NcFV7\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{...style},viewBox:\"0 0 197 62\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-NcFV7 { -webkit-mask: ${mask}; aspect-ratio: 3.1774193548387095; display: block; mask: ${mask}; width: 197px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 197\n * @framerIntrinsicHeight 62\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Full Logo\",\"set\":{\"localId\":\"vectorSet/h2KTfKmby\",\"id\":\"h2KTfKmby\",\"moduleId\":\"MMcVuNg4uI8ZYsSLHjfm\"}}\n */const Icon=withCSS(Component,css,\"framer-NcFV7\");Icon.displayName=\"Full Logo\";export default Icon;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Full Logo\\\",\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/h2KTfKmby\\\",\\\"id\\\":\\\"h2KTfKmby\\\",\\\"moduleId\\\":\\\"MMcVuNg4uI8ZYsSLHjfm\\\"}}\",\"framerIntrinsicHeight\":\"62\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"197\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ea22747)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,InjectSelectionStyle,PropertyOverrides,RenderTarget,ResetOuterLinkContext,useActiveVariantCallback,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useOverlayState,withCSS}from\"framer\";import{AnimatePresence,LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as ReactDOM from\"react-dom\";import Lenis from\"https://framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/crq5K3ZDvRSa1euf8yEU/Lenis.js\";import ContactFormOverlay from\"#framer/local/canvasComponent/h_WRio1Oc/h_WRio1Oc.js\";import Button from\"#framer/local/canvasComponent/jwSiq8JI4/jwSiq8JI4.js\";import V1ContactFormOverlay from\"#framer/local/canvasComponent/WEPGOJAPd/WEPGOJAPd.js\";import FullLogo from\"#framer/local/vector/ppc7u8uAP/ppc7u8uAP.js\";const LenisFonts=getFonts(Lenis);const FullLogoFonts=getFonts(FullLogo);const ButtonFonts=getFonts(Button);const ContactFormOverlayFonts=getFonts(ContactFormOverlay);const breakpoints={i9kDRMZi7:\"(min-width: 1200px)\",Mk9kopbgq:\"(min-width: 810px) and (max-width: 1199.98px)\",X3tvoookL:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-yjxFM\";const variantClassNames={i9kDRMZi7:\"framer-v-185sdi\",Mk9kopbgq:\"framer-v-8k25km\",X3tvoookL:\"framer-v-zu0y71\"};const getContainer=()=>{return document.querySelector(\"#template-overlay\")??document.querySelector(\"#overlay\")??document.body;};const Overlay=({children,blockDocumentScrolling,dismissWithEsc,enabled=true})=>{const[visible,setVisible]=useOverlayState({blockDocumentScrolling,dismissWithEsc:enabled&&dismissWithEsc});return children({hide:()=>setVisible(false),show:()=>setVisible(true),toggle:()=>setVisible(!visible),visible:enabled&&visible});};const breakpointRules={X3tvoookL:[\".framer-yjxFM .framer-y0b86q { flex-direction: column; padding: 16px; }\",\".framer-yjxFM .framer-j8y8q2 { flex: none; width: 100%; }\",\".framer-yjxFM .framer-1vddf1g { height: var(--framer-aspect-ratio-supported, 39px); width: 125px; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={X3tvoookL:\".framer-zu0y71-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-yjxFM.framer-j93vbg, .framer-yjxFM .framer-j93vbg { display: block; }\",\".framer-yjxFM.framer-185sdi { align-content: center; align-items: center; background-color: var(--token-ec21b677-a5df-488e-a24f-ee41aed5669c, #0f0f0f); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-yjxFM .framer-8lhz90-container { flex: none; height: auto; order: -1000; position: relative; width: auto; }\",\".framer-yjxFM .framer-bb60hz { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-yjxFM .framer-y0b86q { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; left: 0px; order: 1004; overflow: visible; padding: 24px; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 0px; z-index: 9; }\",\".framer-yjxFM .framer-j8y8q2 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-yjxFM .framer-1vddf1g { flex: none; height: var(--framer-aspect-ratio-supported, 45px); position: relative; width: 141px; }\",\".framer-yjxFM .framer-1c91roo-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-yjxFM.framer-19k3ab1 { background-color: rgba(0, 0, 0, 0); inset: 0px; position: fixed; user-select: none; z-index: 10; }\",\".framer-yjxFM.framer-tq4mq5-container { bottom: 0px; flex: none; left: 0px; position: fixed; right: 0px; top: 0px; z-index: 10; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={i9kDRMZi7:\"(min-width: 1200px)\",Mk9kopbgq:\"(min-width: 810px) and (max-width: 1199.98px)\",X3tvoookL:\"(max-width: 809.98px)\"};const humanReadableVariantMap={Desktop:\"i9kDRMZi7\",Phone:\"X3tvoookL\",Tablet:\"Mk9kopbgq\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"i9kDRMZi7\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const{activeVariantCallback,delay}=useActiveVariantCallback(undefined);const oeDGeW5Zako9la1=({overlay})=>activeVariantCallback(async(...args)=>{overlay.toggle();});const ouIWbwzp61q29jei=({overlay})=>activeVariantCallback(async(...args)=>{overlay.hide();});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"i9kDRMZi7\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-ec21b677-a5df-488e-a24f-ee41aed5669c, rgb(15, 15, 15)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-185sdi\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-8lhz90-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"TKGWhUNfw\",scopeId:\"eKPBd658g\",children:/*#__PURE__*/_jsx(Lenis,{height:\"100%\",id:\"TKGWhUNfw\",infinite:false,intensity:12,layoutId:\"TKGWhUNfw\",orientation:\"vertical\",smooth:true,width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-bb60hz\"}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-y0b86q\",\"data-framer-name\":\"Navbar\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-j8y8q2\",children:[/*#__PURE__*/_jsx(FullLogo,{animated:false,className:\"framer-1vddf1g\",layoutId:\"yEfqx8a3f\"}),/*#__PURE__*/_jsx(Overlay,{dismissWithEsc:true,children:overlay=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{X3tvoookL:{y:16}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:39,y:26.5,children:/*#__PURE__*/_jsxs(Container,{className:\"framer-1c91roo-container\",nodeId:\"r6d3hVHvT\",scopeId:\"eKPBd658g\",children:[/*#__PURE__*/_jsx(Button,{height:\"100%\",id:\"r6d3hVHvT\",layoutId:\"r6d3hVHvT\",oeDGeW5Za:oeDGeW5Zako9la1({overlay}),width:\"100%\"}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay.visible&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(InjectSelectionStyle,{children:/*#__PURE__*/_jsxs(ResetOuterLinkContext,{children:[/*#__PURE__*/_jsx(motion.div,{animate:{opacity:1,transition:{delay:0,duration:0,ease:[.5,0,.88,.77],type:\"tween\"}},className:cx(scopingClassNames,\"framer-19k3ab1\"),exit:{opacity:0,transition:{delay:0,duration:0,ease:[.12,.23,.5,1],type:\"tween\"}},initial:{opacity:0},onTap:()=>overlay.hide()},\"l9XRf8lwO\"),/*#__PURE__*/_jsx(ComponentViewportProvider,{width:\"100vw\",children:/*#__PURE__*/_jsx(Container,{className:cx(scopingClassNames,\"framer-tq4mq5-container\"),inComponentSlot:true,nodeId:\"tVPazVs1Q\",rendersWithMotion:true,scopeId:\"eKPBd658g\",children:/*#__PURE__*/_jsx(ContactFormOverlay,{height:\"100%\",id:\"tVPazVs1Q\",layoutId:\"tVPazVs1Q\",ouIWbwzp6:ouIWbwzp61q29jei({overlay}),style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})}),getContainer())})})]})})})})})]})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Mk9kopbgq\":{\"layout\":[\"fixed\",\"fixed\"]},\"X3tvoookL\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"i9kDRMZi7\":[\".framer-8lhz90-container\",\".framer-y0b86q\"],\"Mk9kopbgq\":[\".framer-8lhz90-container\",\".framer-y0b86q\"],\"X3tvoookL\":[\".framer-8lhz90-container\",\".framer-y0b86q\"]}\n * @framerBreakpoints {\"i9kDRMZi7\":{\"min\":1200,\"canvasClassName\":\"framer-185sdi-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"Mk9kopbgq\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-8k25km-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"X3tvoookL\":{\"max\":809,\"canvasClassName\":\"framer-zu0y71-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant i9kDRMZi7\n * @framerLayoutTemplate true\n */const FramereKPBd658g=withCSS(Component,css,\"framer-yjxFM\");export default FramereKPBd658g;FramereKPBd658g.displayName=\"Default\";FramereKPBd658g.defaultProps={height:1e3,width:1200};addFonts(FramereKPBd658g,[{explicitInter:true,fonts:[]},...LenisFonts,...FullLogoFonts,...ButtonFonts,...ContactFormOverlayFonts],{supportsExplicitInterCodegen:true});FramereKPBd658g.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Button,{},context),forwardLoader(V1ContactFormOverlay,{},context),forwardLoader(ContactFormOverlay,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramereKPBd658g\",\"slots\":[],\"annotations\":{\"framerDefaultVariant\":\"i9kDRMZi7\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerBreakpoints\":\"{\\\"i9kDRMZi7\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-185sdi-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"Mk9kopbgq\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-8k25km-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"X3tvoookL\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-zu0y71-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Mk9kopbgq\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"X3tvoookL\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerHitTargets\":\"{\\\"i9kDRMZi7\\\":[\\\".framer-8lhz90-container\\\",\\\".framer-y0b86q\\\"],\\\"Mk9kopbgq\\\":[\\\".framer-8lhz90-container\\\",\\\".framer-y0b86q\\\"],\\\"X3tvoookL\\\":[\\\".framer-8lhz90-container\\\",\\\".framer-y0b86q\\\"]}\",\"framerLayoutTemplate\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"1000\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3079af2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={HmmBRfCI9:{hover:true,pressed:true},orLs69o31:{hover:true,pressed:true}};const cycleOrder=[\"orLs69o31\",\"HmmBRfCI9\"];const serializationHash=\"framer-OctpS\";const variantClassNames={HmmBRfCI9:\"framer-v-nm0jow\",orLs69o31:\"framer-v-oj5ctk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const urSd2gOHz=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Closed:\"orLs69o31\",Open:\"HmmBRfCI9\"};const getProps=({click,height,id,width,...props})=>{return{...props,urSd2gOHz:click??props.urSd2gOHz,variant:humanReadableVariantMap[props.variant]??props.variant??\"orLs69o31\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,urSd2gOHz,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"orLs69o31\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapjrvcmc=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(urSd2gOHz){const res=await urSd2gOHz(...args);if(res===false)return false;}setVariant(\"HmmBRfCI9\");});const onTap1f6fa8r=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(urSd2gOHz){const res=await urSd2gOHz(...args);if(res===false)return false;}setVariant(\"orLs69o31\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-oj5ctk\",className,classNames),\"data-framer-name\":\"Closed\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"orLs69o31\",onTap:onTapjrvcmc,ref:refBinding,style:{...style},...addPropertyOverrides({\"HmmBRfCI9-hover\":{\"data-framer-name\":undefined},\"HmmBRfCI9-pressed\":{\"data-framer-name\":undefined},\"orLs69o31-hover\":{\"data-framer-name\":undefined},\"orLs69o31-pressed\":{\"data-framer-name\":undefined},HmmBRfCI9:{\"data-framer-name\":\"Open\",onTap:onTap1f6fa8r}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1xe42ob\",layoutDependency:layoutDependency,layoutId:\"txHtKSdKF\",style:{scale:1},variants:{\"HmmBRfCI9-pressed\":{scale:.9},\"orLs69o31-pressed\":{scale:.9}},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1n061sk\",layoutDependency:layoutDependency,layoutId:\"k15rFyvRp\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-j9g3cf\",layoutDependency:layoutDependency,layoutId:\"WUT5d50gp\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-18gxuc0\",layoutDependency:layoutDependency,layoutId:\"MUdVdVwYG\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:3,borderBottomRightRadius:3,borderTopLeftRadius:3,borderTopRightRadius:3},transformTemplate:transformTemplate1}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-akl2cc\",layoutDependency:layoutDependency,layoutId:\"gqeMNPYze\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1myqbh5\",layoutDependency:layoutDependency,layoutId:\"cMnknaR9Q\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1r39smk\",layoutDependency:layoutDependency,layoutId:\"cC9XafP76\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1qletej\",layoutDependency:layoutDependency,layoutId:\"RNB0Xqzh6\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-qy4v5s\",layoutDependency:layoutDependency,layoutId:\"yyvq7Fqnf\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:3,borderBottomRightRadius:3,borderTopLeftRadius:3,borderTopRightRadius:3},transformTemplate:transformTemplate1}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1fyy8gv\",layoutDependency:layoutDependency,layoutId:\"KRnUehxKs\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-15vd6f2\",layoutDependency:layoutDependency,layoutId:\"VK9i29RxI\",style:{backgroundColor:\"var(--token-211bdfbe-2790-4562-9d07-c3c764b8a3bb, rgb(72, 162, 63))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100}})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-OctpS.framer-zt1j5m, .framer-OctpS .framer-zt1j5m { display: block; }\",\".framer-OctpS.framer-oj5ctk { cursor: pointer; height: 40px; overflow: visible; position: relative; width: 40px; }\",\".framer-OctpS .framer-1xe42ob { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\",\".framer-OctpS .framer-1n061sk { aspect-ratio: 1 / 1; bottom: 14px; flex: none; height: var(--framer-aspect-ratio-supported, 4px); overflow: visible; position: absolute; right: 4px; width: 4px; }\",\".framer-OctpS .framer-j9g3cf { aspect-ratio: 1 / 1; bottom: 14px; flex: none; height: var(--framer-aspect-ratio-supported, 4px); left: 4px; overflow: visible; position: absolute; width: 4px; }\",\".framer-OctpS .framer-18gxuc0 { aspect-ratio: 1 / 1; bottom: 14px; flex: none; height: var(--framer-aspect-ratio-supported, 4px); left: 50%; overflow: visible; position: absolute; width: 4px; }\",\".framer-OctpS .framer-akl2cc { aspect-ratio: 1 / 1; bottom: 14px; flex: none; height: var(--framer-aspect-ratio-supported, 4px); left: 11px; overflow: visible; position: absolute; width: 4px; }\",\".framer-OctpS .framer-1myqbh5 { aspect-ratio: 1 / 1; bottom: 14px; flex: none; height: var(--framer-aspect-ratio-supported, 4px); overflow: visible; position: absolute; right: 11px; width: 4px; }\",\".framer-OctpS .framer-1r39smk { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4px); overflow: visible; position: absolute; right: 4px; top: 14px; width: 4px; }\",\".framer-OctpS .framer-1qletej { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4px); left: 4px; overflow: visible; position: absolute; top: 14px; width: 4px; }\",\".framer-OctpS .framer-qy4v5s { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4px); left: 50%; overflow: visible; position: absolute; top: 14px; width: 4px; }\",\".framer-OctpS .framer-1fyy8gv { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4px); left: 11px; overflow: visible; position: absolute; top: 14px; width: 4px; }\",\".framer-OctpS .framer-15vd6f2 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4px); overflow: visible; position: absolute; right: 11px; top: 14px; width: 4px; }\",\".framer-OctpS.framer-v-nm0jow.framer-oj5ctk, .framer-OctpS.framer-v-oj5ctk.hover.framer-oj5ctk, .framer-OctpS.framer-v-oj5ctk.pressed.framer-oj5ctk { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 40px); }\",\".framer-OctpS.framer-v-nm0jow .framer-1n061sk { bottom: 8px; right: 8px; }\",\".framer-OctpS.framer-v-nm0jow .framer-j9g3cf { bottom: 8px; left: 8px; }\",\".framer-OctpS.framer-v-nm0jow .framer-18gxuc0 { bottom: 18px; }\",\".framer-OctpS.framer-v-nm0jow .framer-akl2cc { bottom: 13px; left: 13px; }\",\".framer-OctpS.framer-v-nm0jow .framer-1myqbh5 { bottom: 13px; right: 13px; }\",\".framer-OctpS.framer-v-nm0jow .framer-1r39smk { right: 8px; top: 8px; }\",\".framer-OctpS.framer-v-nm0jow .framer-1qletej { left: 8px; top: 8px; }\",\".framer-OctpS.framer-v-nm0jow .framer-qy4v5s { top: 18px; }\",\".framer-OctpS.framer-v-nm0jow .framer-1fyy8gv { left: 13px; top: 13px; }\",\".framer-OctpS.framer-v-nm0jow .framer-15vd6f2 { right: 13px; top: 13px; }\",\".framer-OctpS.framer-v-oj5ctk.hover .framer-1n061sk, .framer-OctpS.framer-v-oj5ctk.hover .framer-j9g3cf, .framer-OctpS.framer-v-oj5ctk.pressed .framer-1n061sk, .framer-OctpS.framer-v-oj5ctk.pressed .framer-j9g3cf { bottom: 12px; }\",\".framer-OctpS.framer-v-oj5ctk.hover .framer-akl2cc, .framer-OctpS.framer-v-oj5ctk.hover .framer-1myqbh5, .framer-OctpS.framer-v-oj5ctk.pressed .framer-akl2cc, .framer-OctpS.framer-v-oj5ctk.pressed .framer-1myqbh5 { bottom: 13px; }\",\".framer-OctpS.framer-v-oj5ctk.hover .framer-1r39smk, .framer-OctpS.framer-v-oj5ctk.hover .framer-1qletej, .framer-OctpS.framer-v-oj5ctk.pressed .framer-1r39smk, .framer-OctpS.framer-v-oj5ctk.pressed .framer-1qletej { top: 12px; }\",\".framer-OctpS.framer-v-oj5ctk.hover .framer-1fyy8gv, .framer-OctpS.framer-v-oj5ctk.hover .framer-15vd6f2, .framer-OctpS.framer-v-oj5ctk.pressed .framer-1fyy8gv, .framer-OctpS.framer-v-oj5ctk.pressed .framer-15vd6f2 { top: 13px; }\",\".framer-OctpS.framer-v-nm0jow.hover .framer-1n061sk, .framer-OctpS.framer-v-nm0jow.hover .framer-j9g3cf, .framer-OctpS.framer-v-nm0jow.pressed .framer-1n061sk, .framer-OctpS.framer-v-nm0jow.pressed .framer-j9g3cf { bottom: 10px; }\",\".framer-OctpS.framer-v-nm0jow.hover .framer-akl2cc, .framer-OctpS.framer-v-nm0jow.hover .framer-1myqbh5, .framer-OctpS.framer-v-nm0jow.pressed .framer-akl2cc, .framer-OctpS.framer-v-nm0jow.pressed .framer-1myqbh5 { bottom: 14px; }\",\".framer-OctpS.framer-v-nm0jow.hover .framer-1r39smk, .framer-OctpS.framer-v-nm0jow.hover .framer-1qletej, .framer-OctpS.framer-v-nm0jow.pressed .framer-1r39smk, .framer-OctpS.framer-v-nm0jow.pressed .framer-1qletej { top: 10px; }\",\".framer-OctpS.framer-v-nm0jow.hover .framer-1fyy8gv, .framer-OctpS.framer-v-nm0jow.hover .framer-15vd6f2, .framer-OctpS.framer-v-nm0jow.pressed .framer-1fyy8gv, .framer-OctpS.framer-v-nm0jow.pressed .framer-15vd6f2 { top: 14px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 40\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"HmmBRfCI9\":{\"layout\":[\"fixed\",\"fixed\"]},\"PqTigBbwK\":{\"layout\":[\"fixed\",\"fixed\"]},\"F3rHskVHn\":{\"layout\":[\"fixed\",\"fixed\"]},\"h8yuhX_Or\":{\"layout\":[\"fixed\",\"fixed\"]},\"FP9pd7hSn\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"urSd2gOHz\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerJeysSSH_A=withCSS(Component,css,\"framer-OctpS\");export default FramerJeysSSH_A;FramerJeysSSH_A.displayName=\"Menu Button\";FramerJeysSSH_A.defaultProps={height:40,width:40};addPropertyControls(FramerJeysSSH_A,{variant:{options:[\"orLs69o31\",\"HmmBRfCI9\"],optionTitles:[\"Closed\",\"Open\"],title:\"Variant\",type:ControlType.Enum},urSd2gOHz:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerJeysSSH_A,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJeysSSH_A\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"40\",\"framerIntrinsicHeight\":\"40\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"urSd2gOHz\\\":\\\"click\\\"}\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"HmmBRfCI9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PqTigBbwK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"F3rHskVHn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"h8yuhX_Or\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FP9pd7hSn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./JeysSSH_A.map","// Generated by Framer (b322937)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FullLogo from\"https://framerusercontent.com/modules/nVW96OP64yUiU005yNQG/fdmtsIG1p6s1WSmF7EK5/ppc7u8uAP.js\";import MenuButton from\"https://framerusercontent.com/modules/CrCklIxgo0ynSxKab53J/B7glaOBeCw4AfrHtWAXz/JeysSSH_A.js\";const FullLogoFonts=getFonts(FullLogo);const MenuButtonFonts=getFonts(MenuButton);const cycleOrder=[\"VmOio8Je0\",\"v9Ln2nH3F\"];const serializationHash=\"framer-xLagR\";const variantClassNames={v9Ln2nH3F:\"framer-v-1xcj01p\",VmOio8Je0:\"framer-v-16e820m\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.75,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop - Open\":\"VmOio8Je0\",\"Variant 2\":\"v9Ln2nH3F\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"VmOio8Je0\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"VmOio8Je0\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const urSd2gOHz18mhb71=activeVariantCallback(async(...args)=>{setVariant(\"v9Ln2nH3F\");});const urSd2gOHzid397p=activeVariantCallback(async(...args)=>{setVariant(\"VmOio8Je0\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-16e820m\",className,classNames),\"data-framer-name\":\"Desktop - Open\",layoutDependency:layoutDependency,layoutId:\"VmOio8Je0\",ref:refBinding,style:{...style},...addPropertyOverrides({v9Ln2nH3F:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-laacgi\",layoutDependency:layoutDependency,layoutId:\"sBBGHqWwI\",children:[/*#__PURE__*/_jsx(FullLogo,{animated:true,className:\"framer-19nv3rg\",layoutDependency:layoutDependency,layoutId:\"T8OBMVdob\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,width:\"40px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||76.5)-0-76)/2)+18,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-rs7fp5-container\",layoutDependency:layoutDependency,layoutId:\"E6ZqF21aD-container\",nodeId:\"E6ZqF21aD\",rendersWithMotion:true,scopeId:\"kgB2cTsjB\",children:/*#__PURE__*/_jsx(MenuButton,{height:\"100%\",id:\"E6ZqF21aD\",layoutId:\"E6ZqF21aD\",style:{height:\"100%\",width:\"100%\"},urSd2gOHz:urSd2gOHz18mhb71,variant:\"HmmBRfCI9\",width:\"100%\",...addPropertyOverrides({v9Ln2nH3F:{urSd2gOHz:urSd2gOHzid397p,variant:\"orLs69o31\"}},baseVariant,gestureVariant)})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-xLagR.framer-467nw7, .framer-xLagR .framer-467nw7 { display: block; }\",\".framer-xLagR.framer-16e820m { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-xLagR .framer-laacgi { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 16px; position: relative; width: 1px; }\",\".framer-xLagR .framer-19nv3rg { flex: none; height: var(--framer-aspect-ratio-supported, 45px); position: relative; width: 141px; }\",\".framer-xLagR .framer-rs7fp5-container { flex: none; height: 40px; position: relative; width: 40px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 76.5\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"v9Ln2nH3F\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerkgB2cTsjB=withCSS(Component,css,\"framer-xLagR\");export default FramerkgB2cTsjB;FramerkgB2cTsjB.displayName=\"Navbar\";FramerkgB2cTsjB.defaultProps={height:76.5,width:1200};addPropertyControls(FramerkgB2cTsjB,{variant:{options:[\"VmOio8Je0\",\"v9Ln2nH3F\"],optionTitles:[\"Desktop - Open\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerkgB2cTsjB,[{explicitInter:true,fonts:[]},...FullLogoFonts,...MenuButtonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerkgB2cTsjB\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"v9Ln2nH3F\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"76.5\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (4b28574)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Lenis from\"https://framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/crq5K3ZDvRSa1euf8yEU/Lenis.js\";import Navbar from\"#framer/local/canvasComponent/kgB2cTsjB/kgB2cTsjB.js\";const LenisFonts=getFonts(Lenis);const NavbarFonts=getFonts(Navbar);const breakpoints={aWFhaLlmn:\"(min-width: 810px) and (max-width: 1199.98px)\",CHII3wh61:\"(max-width: 809.98px)\",DUxqFhI_c:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-jn6R4\";const variantClassNames={aWFhaLlmn:\"framer-v-1cd3smf\",CHII3wh61:\"framer-v-xlg3ns\",DUxqFhI_c:\"framer-v-1nabl7v\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-jn6R4.framer-1r7nyqc, .framer-jn6R4 .framer-1r7nyqc { display: block; }\",\".framer-jn6R4.framer-1nabl7v { align-content: center; align-items: center; background-color: var(--token-5b1186d7-ca7c-41ef-bee5-a7717bbfbc9f, #141414); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-jn6R4 .framer-t44wr4-container { flex: none; height: auto; order: -1000; position: relative; width: auto; }\",\".framer-jn6R4 .framer-wi0twq { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-jn6R4 .framer-vyc6z2-container { flex: none; height: auto; left: 0px; order: 1004; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 0px; z-index: 9; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={aWFhaLlmn:\"(min-width: 810px) and (max-width: 1199.98px)\",CHII3wh61:\"(max-width: 809.98px)\",DUxqFhI_c:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"DUxqFhI_c\",Phone:\"CHII3wh61\",Tablet:\"aWFhaLlmn\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"DUxqFhI_c\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"DUxqFhI_c\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-5b1186d7-ca7c-41ef-bee5-a7717bbfbc9f, rgb(20, 20, 20)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1nabl7v\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-t44wr4-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"T_zj0qwnc\",scopeId:\"RQh2icmDr\",children:/*#__PURE__*/_jsx(Lenis,{height:\"100%\",id:\"T_zj0qwnc\",infinite:false,intensity:12,layoutId:\"T_zj0qwnc\",orientation:\"vertical\",smooth:true,width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-wi0twq\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:76,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-vyc6z2-container\",layoutScroll:true,nodeId:\"tdFiL6P6u\",scopeId:\"RQh2icmDr\",children:/*#__PURE__*/_jsx(Navbar,{height:\"100%\",id:\"tdFiL6P6u\",layoutId:\"tdFiL6P6u\",style:{width:\"100%\"},variant:matchVariant(\"v9Ln2nH3F\"),width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"aWFhaLlmn\":{\"layout\":[\"fixed\",\"fixed\"]},\"CHII3wh61\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"DUxqFhI_c\":[\".framer-t44wr4-container\",\".framer-vyc6z2-container\"],\"aWFhaLlmn\":[\".framer-t44wr4-container\",\".framer-vyc6z2-container\"],\"CHII3wh61\":[\".framer-t44wr4-container\",\".framer-vyc6z2-container\"]}\n * @framerBreakpoints {\"DUxqFhI_c\":{\"min\":1200,\"canvasClassName\":\"framer-1nabl7v-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"aWFhaLlmn\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-1cd3smf-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"CHII3wh61\":{\"max\":809,\"canvasClassName\":\"framer-xlg3ns-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant DUxqFhI_c\n * @framerLayoutTemplate true\n */const FramerRQh2icmDr=withCSS(Component,css,\"framer-jn6R4\");export default FramerRQh2icmDr;FramerRQh2icmDr.displayName=\"New Menu\";FramerRQh2icmDr.defaultProps={height:1e3,width:1200};addFonts(FramerRQh2icmDr,[{explicitInter:true,fonts:[]},...LenisFonts,...NavbarFonts],{supportsExplicitInterCodegen:true});FramerRQh2icmDr.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Navbar,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerRQh2icmDr\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1000\",\"framerAutoSizeImages\":\"true\",\"framerBreakpoints\":\"{\\\"DUxqFhI_c\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1nabl7v-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"aWFhaLlmn\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1cd3smf-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"CHII3wh61\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-xlg3ns-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerHitTargets\":\"{\\\"DUxqFhI_c\\\":[\\\".framer-t44wr4-container\\\",\\\".framer-vyc6z2-container\\\"],\\\"aWFhaLlmn\\\":[\\\".framer-t44wr4-container\\\",\\\".framer-vyc6z2-container\\\"],\\\"CHII3wh61\\\":[\\\".framer-t44wr4-container\\\",\\\".framer-vyc6z2-container\\\"]}\",\"framerLayoutTemplate\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aWFhaLlmn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"CHII3wh61\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDefaultVariant\":\"DUxqFhI_c\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Default from \"https://framerusercontent.com/modules/cr1aXpUKSUPKRtFf7Tto/peEpT7F1EfX4EhYeto4U/eKPBd658g.js\";\r\nimport NewMenu from \"https://framerusercontent.com/modules/dlHqjumBZBbKfgHrY2Dq/ww9aYHh5Jl6YwoS7n0nF/RQh2icmDr.js\";\r\n\r\n\t\tconst routes = {GpmDOEdgf: {elements: {g8ZjhcCMy: \"01-section\", qeTvglHAE: \"glow-end\", RHkGspclM: \"02-solution-1\", uSRvxgkdf: \"02 Solution\", V7wdY4cQf: \"glow-end-1\", vAQdy8jZD: \"spline-scroll-container\", zzB43ESGg: \"03-benefits\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/SHd81o96uuMgR7ZaRmff/GNAEXcA2Rjq4XJf1feQi/GpmDOEdgf.js\")), path: \"/\"}, l3xV2mT0U: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Bbw6pXcpUu13QUwHsGP5/bkJ3w149ZoxyxeB3w11z/l3xV2mT0U.js\")), path: \"/product\"}, uRWYXdU6k: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/oAw7cmXvBy16SRXGLDfc/7Yc2XtfuaIIcGnG2oCS1/uRWYXdU6k.js\")), path: \"/market\"}, Z0GnjFGac: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/RcTicd6wvrOycKBG2cCF/tDFi96s6FXQhYMR1q4fK/Z0GnjFGac.js\")), path: \"/market/industrial\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"5e644a8d79e58c9336a37facf20fc9f42f27c7d20d8149481aea470bd315e48e\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"GpmDOEdgf\":\r\ncase \"w7qopiZsL\":\r\ncase \"hXqjpy2Ja\":\r\nreturn React.createElement(Default, {...props, key: \"Default\", style}, children(true));\r\ncase \"l3xV2mT0U\":\r\ncase \"uRWYXdU6k\":\r\ncase \"Z0GnjFGac\":\r\nreturn React.createElement(NewMenu, {...props, key: \"NewMenu\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"GpmDOEdgf\":\r\ncase \"w7qopiZsL\":\r\ncase \"hXqjpy2Ja\":\r\nreturn [{hash: \"185sdi\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"8k25km\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"zu0y71\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ncase \"l3xV2mT0U\":\r\ncase \"uRWYXdU6k\":\r\ncase \"Z0GnjFGac\":\r\nreturn [{hash: \"1nabl7v\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"1cd3smf\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"xlg3ns\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://sublime.llc\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/XECiPL3wr0KEFeTGfYAd/MjCxZMy1SEC7gkF1uHKx/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}