{"version":3,"file":"shared-lib.D2o0DWof.mjs","names":["debounce","Component","useRef","_Fragment","Children","fonts","css","className","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","css","sharedStyle.css","sharedStyle.fonts","p","P","r","n","s","a","o","u","c","d","g","y","p","n","r","t","o","t","a","l","i","__esmMin","oe","ie","z$1","init_ssg_sandbox_shims","x$1","window","j$1","de","l$1","H$1","pe","p$2","K$1","c$2","J$1","init_jsx_runtime","init_npm_react_18_3_1","ce","motion","MotionConfigContext","LayoutGroup","init_framer_motion_DhsWWWsN","addPropertyControls","fontStore","getFontsFromSharedStyle","addFonts","cx","init_framer_B6PCHH0A","RichText","useLocaleInfo","Link","withCSS","ControlType","useVariantState","ComponentPresetsConsumer","AutoBreakpointVariant","useComponentViewport","QueryEngine","clamp","min","input","max","lerp","t","x","y","damp","lambda","deltaTime","modulo","n","d","debounce$1","timer","args","context","callback","delay","version","Animate","Dimensions","Emitter","LINE_HEIGHT","listenerOptions","VirtualScroll","defaultEasing","Lenis","init_lenis","completed","linearProgress","easedProgress","lerp2","from","to","duration","easing","onStart","onUpdate","debounceValue","wrapper","content","autoResize","callbacks","event","i","length","cb","element","options","clientX","clientY","deltaX","deltaY","multiplierX","deltaMode","multiplierY","orientation","__experimental__naiveDimensions","eventsTarget","property","scroll","anchorElements","node","anchor","href","target","data","isTouch","isWheel","isClickOrTap","isUnknownGesture","composedPath","prevent","delta","isSyncTouch","hasTouchInertia","lastScroll","time","programmatic","force","wrapperRect","rect","offset","distance","onComplete","userData","immediate","lock","value","cache","hasOverflowX","hasOverflowY","isScrollableX","isScrollableY","scrollWidth","scrollHeight","clientWidth","clientHeight","gestureOrientation","computedStyle","overflowXString","overflowYString","isScrollingX","isScrollingY","maxScroll","hasOverflow","isScrollable","className","debounce","removeParentSticky","addParentSticky","offsetTop","top","accumulator","offsetLeft","left","scrollTop","scrollLeft","uid","SnapElement","index","Snap","init_lenis_snap","align","width","height","entry","debounceDelay","lenis","id","map","elements","remove","snaps","align2","isHorizontal","a","b","index2","currentSnap","distanceThreshold","axis","snapIndex","prevSnapIndex","nextSnapIndex","prevSnap","distanceToPrevSnap","nextSnap","snap","Component$1","wrapperRef","contentRef","lenisRef","children","smooth","infinite","lenisSnap","item","intensity","onClick","child","init_Lenis","props","fonts$1","css$2","className$1","init_NKyJKkcwN","serializationHash","variantClassNames","transition1","Transition","Variants","getProps","createLayoutDependency","Component","css$1","Framerp7KCEOxDZ","init_p7KCEOxDZ","config","transition","contextValue","title","variants","fallbackRef","refBinding","ref","defaultLayoutId","restProps","layoutDependency","scopingClassNames","layoutId","gestureHandlers","classNames","style","qPtsd1EZT","fonts","css","init_XhU34vrQd","metadata","init_siteMetadata","p$1","I","e","N","A","R","q","r","_","D","s","j","C","J","V","W","$","z","G","K","H","X","Q","Y","Z","tt","te","tr","tn","ti","ts","ta","tu","tl","u","l","h","c","th","tc","tf","td","tg","ty","tp","tv","tm","tw","tI","tb","tE","tk","tM","tx","o","tB","tT","tF","r$1","n$1","s$1","a$1","o$1","u$1","c$1","d$1","g$1","y$1","k","L","B","O","tS","tL","tA","tO","tP","init_k8T9cvmvu_0","m","g","f","p","init_k8T9cvmvu_1","enumToDisplayNameFunctions","utils","__FramerMetadata__","init_k8T9cvmvu","\"exports\"","\"enumToDisplayNameFunctions\"","\"type\"","\"annotations\"","\"framerContractVersion\"","\"default\"","\"name\"","\"framerRecordIdKey\"","\"framerCollectionUtils\"","\"framerData\"","\"framerColorSyntax\"","\"framerCollectionId\"","\"framerSlug\"","\"framerAutoSizeImages\"","\"framerEnumToDisplayNameUtils\"","\"utils\"","\"__FramerMetadata__\""],"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/MjfyoLuGFdSaCDoRy5dQ/UHROc1Gu4q5a328pOovE/NKyJKkcwN.js","https:/framerusercontent.com/modules/PkjeCWxy1anRFive6yRZ/raUp21DoYaRfjhL5QttC/p7KCEOxDZ.js","https:/framerusercontent.com/modules/8yHjRRpYLaHYbgPeVVqK/wIoZ4LoND4EbGjoOOW8w/XhU34vrQd.js","https:/framerusercontent.com/modules/cobrWRBnc14wz28tV8OQ/y8i4FClQgY78Z84dwwKx/siteMetadata.js","https:/framerusercontent.com/modules/oynmfWfTttjV4i5za2R8/s10m9BoWACfDv3qnXsm3/k8T9cvmvu-0.js","https:/framerusercontent.com/modules/oynmfWfTttjV4i5za2R8/s10m9BoWACfDv3qnXsm3/k8T9cvmvu-1.js","https:/framerusercontent.com/modules/oynmfWfTttjV4i5za2R8/s10m9BoWACfDv3qnXsm3/k8T9cvmvu.js"],"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 (08b35c4)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Geist-500\",\"GF;Geist-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Geist\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Geist\",url:\"https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RruM4mJPby1QNtA.woff2\",weight:\"500\"},{cssFamilyName:\"Geist\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Geist\",url:\"https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_Re-Q4mJPby1QNtA.woff2\",weight:\"700\"}]}];export const css=[\".framer-Q6Zvc .framer-styles-preset-rwyaj6:not(.rich-text-wrapper), .framer-Q6Zvc .framer-styles-preset-rwyaj6.rich-text-wrapper h3 { --framer-font-family: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-bcba5efc-bee6-451c-be3f-baba53671aa4, #141414); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\"];export const className=\"framer-Q6Zvc\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f21d278)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/MjfyoLuGFdSaCDoRy5dQ/UHROc1Gu4q5a328pOovE/NKyJKkcwN.js\";const serializationHash=\"framer-iNYib\";const variantClassNames={Ol3KdGDoh:\"framer-v-12i9i2\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const qPtsd1EZT=undefined;const transition1={bounce:.1,delay:0,duration:.5,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 getProps=({height,id,title,width,...props})=>{return{...props,qPtsd1EZT:title??props.qPtsd1EZT??\"Section Title\"};};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,qPtsd1EZT,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Ol3KdGDoh\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];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-12i9i2\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"Ol3KdGDoh\",ref:refBinding,style:{backgroundColor:\"var(--token-06a74556-2b99-40e1-b42e-a322937a5603, rgb(240, 240, 240))\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,...style},children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-u7sh4w\",\"data-framer-name\":\"Wrapper\",layoutDependency:layoutDependency,layoutId:\"qm6KNNMds\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-rwyaj6\",\"data-styles-preset\":\"NKyJKkcwN\",children:\"Section Title\"})}),className:\"framer-cwux9y\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"euxRwdXZQ\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:qPtsd1EZT,verticalAlignment:\"top\",withExternalLayout:true})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-iNYib.framer-zc4p76, .framer-iNYib .framer-zc4p76 { display: block; }\",\".framer-iNYib.framer-12i9i2 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 10px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-iNYib .framer-u7sh4w { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-iNYib .framer-cwux9y { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 37\n * @framerIntrinsicWidth 102\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"qPtsd1EZT\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerp7KCEOxDZ=withCSS(Component,css,\"framer-iNYib\");export default Framerp7KCEOxDZ;Framerp7KCEOxDZ.displayName=\"Section Tag\";Framerp7KCEOxDZ.defaultProps={height:37,width:102};addPropertyControls(Framerp7KCEOxDZ,{qPtsd1EZT:{defaultValue:\"Section Title\",description:\"\",displayTextArea:false,title:\"Title\",type:ControlType.String}});addFonts(Framerp7KCEOxDZ,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerp7KCEOxDZ\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"102\",\"framerIntrinsicHeight\":\"37\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"qPtsd1EZT\\\":\\\"title\\\"}\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./p7KCEOxDZ.map","// Generated by Framer (8e1ebfe)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Geist-regular\",\"GF;Geist-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Geist\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Geist\",url:\"https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RnOM4mJPby1QNtA.woff2\",weight:\"400\"},{cssFamilyName:\"Geist\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Geist\",url:\"https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_Re-Q4mJPby1QNtA.woff2\",weight:\"700\"}]}];export const css=[\".framer-dltmj .framer-styles-preset-q5tuh:not(.rich-text-wrapper), .framer-dltmj .framer-styles-preset-q5tuh.rich-text-wrapper h1 { --framer-font-family: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 46px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.02em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-bcba5efc-bee6-451c-be3f-baba53671aa4, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\",\"@media (max-width: 1199px) and (min-width: 810px) { .framer-dltmj .framer-styles-preset-q5tuh:not(.rich-text-wrapper), .framer-dltmj .framer-styles-preset-q5tuh.rich-text-wrapper h1 { --framer-font-family: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 46px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.02em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-bcba5efc-bee6-451c-be3f-baba53671aa4, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\",\"@media (max-width: 809px) and (min-width: 0px) { .framer-dltmj .framer-styles-preset-q5tuh:not(.rich-text-wrapper), .framer-dltmj .framer-styles-preset-q5tuh.rich-text-wrapper h1 { --framer-font-family: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"Geist\\\", \\\"Geist Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.02em; --framer-line-height: 1.1em; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-bcba5efc-bee6-451c-be3f-baba53671aa4, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\"];export const className=\"framer-dltmj\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b58c572)\nexport default function metadata(params,activeLocale){return{description:\"Ankon's Portfolio - specialize in user-centric design and compelling visuals. Proficient in Figma, Adobe suite, and After Effects, I excel in crafting impactful marketing campaigns and driving brand objectives.\",favicon:\"https://framerusercontent.com/assets/zyA7MNZ80Cla4e9XUQ7nNnt5QI.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/2wuonBM7eJbErOIIjvx7X89IPg.png\",title:\"Ankon X Design\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","var t,e=Object.create,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(t,e,n)=>e in t?r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,u=(t,e)=>function(){try{return e||(0,t[i(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},l=(t,e,s,o)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let u of i(e))a.call(t,u)||u===s||r(t,u,{get:()=>e[u],enumerable:!(o=n(e,u))||o.enumerable});return t;},h=(t,n,i)=>(i=null!=t?e(s(t)):{},l(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !n&&t&&t.__esModule?i:r(i,\"default\",{value:t,enumerable:!0}),t)),c=(t,e,r)=>o(t,\"symbol\"!=typeof e?e+\"\":e,r),f=u({\"../../../node_modules/dataloader/index.js\"(t,e){var r,n=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return i;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){a(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!o(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));a(e);for(var r=0;r<e.callbacks.length;r++){var n=t[r];n instanceof Error?e.callbacks[r].reject(n):e.callbacks[r].resolve(n);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,n=this._cacheKeyFn(t);if(r){var i=r.get(n);if(i){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(i);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(n,l),l;},e.loadMany=function(t){if(!o(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var n,i=this._cacheKeyFn(t);void 0===r.get(i)&&(e instanceof Error?(n=Promise.reject(e)).catch(function(){}):n=Promise.resolve(e),r.set(i,n));}return this;},t;}(),i=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){a(e);for(var n=0;n<e.keys.length;n++)t.clear(e.keys[n]),e.callbacks[n].reject(r);}function a(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function o(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=n;}}),d=h(f(),1),g={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},y=class{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=g.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=g.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=g.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=g.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=g.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=g.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=g.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=g.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=g.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=g.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,n=this.bytes.subarray(e,r);return this.offset=r,n;}readString(){let t=this.readUint32(),e=this.readBytes(t);return this.decoder.decode(e);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(t){c(this,\"bytes\",t),c(this,\"offset\",0),c(this,\"view\"),c(this,\"decoder\",new TextDecoder),this.view=p(this.bytes);}};function p(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as v}from\"framer\";// ../../library/src/utils/utils.ts\nvar m=\"undefined\"!=typeof window,w=m&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction I(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function b(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar U=1024,S=1.5,k=t=>2**t-1,L=t=>-(2**(t-1)),B=t=>2**(t-1)-1,E={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:L(8),Int16:L(16),Int32:L(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},M={Uint8:k(8),Uint16:k(16),Uint32:k(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:B(8),Int16:B(16),Int32:B(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function T(t,e,r,n){I(t>=e,t,\"outside lower bound for\",n),I(t<=r,t,\"outside upper bound for\",n);}var F=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*S)+t);r.set(this.bytes),this.bytes=r,this.view=p(r);}writeUint8(t){T(t,E.Uint8,M.Uint8,\"Uint8\");let e=g.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){T(t,E.Uint16,M.Uint16,\"Uint16\");let e=g.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){T(t,E.Uint32,M.Uint32,\"Uint32\");let e=g.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){T(t,E.Uint64,M.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){T(t,E.BigUint64,M.BigUint64,\"BigUint64\");let e=g.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){T(t,E.Int8,M.Int8,\"Int8\");let e=g.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){T(t,E.Int16,M.Int16,\"Int16\");let e=g.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){T(t,E.Int32,M.Int32,\"Int32\");let e=g.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){T(t,E.Int64,M.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){T(t,E.BigInt64,M.BigInt64,\"BigInt64\");let e=g.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=g.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=g.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){c(this,\"offset\",0),c(this,\"bytes\",new Uint8Array(U)),c(this,\"view\",p(this.bytes)),c(this,\"encoder\",new TextEncoder),c(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction x(t){return\"string\"==typeof t;}function N(t){return Number.isFinite(t);}function A(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar O=class t{static fromString(e){let[r,n,i]=e.split(\"/\").map(Number);return I(N(r),\"Invalid chunkId\"),I(N(n),\"Invalid offset\"),I(N(i),\"Invalid length\"),new t(r,n,i);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(e){let r=e.readUint16(),n=e.readUint32(),i=e.readUint32();return new t(r,n,i);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(I(this.length===t.length),0);}constructor(t,e,r){c(this,\"chunkId\",t),c(this,\"offset\",e),c(this,\"length\",r);}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nimport{ControlType as P}from\"framer\";function R(t){if(A(t))return 0/* Null */;switch(t.type){case P.Array:return 1/* Array */;case P.Boolean:return 2/* Boolean */;case P.Color:return 3/* Color */;case P.Date:return 4/* Date */;case P.Enum:return 5/* Enum */;case P.File:return 6/* File */;case P.ResponsiveImage:return 10/* ResponsiveImage */;case P.Link:return 7/* Link */;case P.Number:return 8/* Number */;case P.Object:return 9/* Object */;case P.RichText:return 11/* RichText */;case P.String:return 12/* String */;case P.VectorSetItem:return 13/* VectorSetItem */;default:b(t);}}function q(e){let r=e.readUint16(),n=[];for(let i=0;i<r;i++){let r=t.read(e);n.push(r);}return{type:P.Array,value:n};}function _(e,r){for(let n of(e.writeUint16(r.value.length),r.value))t.write(e,n);}function D(e,r,n){let i=e.value.length,s=r.value.length;if(i<s)return -1;if(i>s)return 1;for(let s=0;s<i;s++){let i=e.value[s],a=r.value[s],o=t.compare(i,a,n);if(0!==o)return o;}return 0;}function j(t){return{type:P.Boolean,value:0!==t.readUint8()};}function C(t,e){t.writeUint8(e.value?1:0);}function J(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:P.Color,value:t.readString()};}function W(t,e){t.writeString(e.value);}function $(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function z(t){let e=t.readInt64(),r=new Date(e);return{type:P.Date,value:r.toISOString()};}function G(t,e){let r=new Date(e.value),n=r.getTime();t.writeInt64(n);}function K(t,e){let r=new Date(t.value),n=new Date(e.value);return r<n?-1:r>n?1:0;}function H(t){return{type:P.Enum,value:t.readString()};}function X(t,e){t.writeString(e.value);}function Q(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Y(t){return{type:P.File,value:t.readString()};}function Z(t,e){t.writeString(e.value);}function tt(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function te(t){return{type:P.Link,value:t.readJson()};}function tr(t,e){t.writeJson(e.value);}function tn(t,e){let r=JSON.stringify(t.value),n=JSON.stringify(e.value);return r<n?-1:r>n?1:0;}function ti(t){return{type:P.Number,value:t.readFloat64()};}function ts(t,e){t.writeFloat64(e.value);}function ta(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(e){let r=e.readUint16(),n={};for(let i=0;i<r;i++){let r=e.readString();n[r]=t.read(e);}return{type:P.Object,value:n};}function tu(e,r){let n=Object.entries(r.value);for(let[r,i]of(e.writeUint16(n.length),n))e.writeString(r),t.write(e,i);}function tl(e,r,n){let i=Object.keys(e.value).sort(),s=Object.keys(r.value).sort();if(i.length<s.length)return -1;if(i.length>s.length)return 1;for(let a=0;a<i.length;a++){let o=i[a],u=s[a];if(o<u)return -1;if(o>u)return 1;let l=e.value[o]??null,h=r.value[u]??null,c=t.compare(l,h,n);if(0!==c)return c;}return 0;}function th(t){return{type:P.ResponsiveImage,value:t.readJson()};}function tc(t,e){t.writeJson(e.value);}function tf(t,e){let r=JSON.stringify(t.value),n=JSON.stringify(e.value);return r<n?-1:r>n?1:0;}function td(t){let e=t.readInt8();if(0===e)return{type:P.RichText,value:t.readUint32()};if(1===e)return{type:P.RichText,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tg(t,e){if(N(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(x(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function ty(t,e){let r=t.value,n=e.value;if(N(r)&&N(n)||x(r)&&x(n))return r<n?-1:r>n?1:0;throw Error(\"Invalid rich text pointer\");}function tp(t){return{type:P.String,value:t.readString()};}function tv(t,e){t.writeString(e.value);}function tm(t,e,r){let n=t.value,i=e.value;return(0/* CaseInsensitive */===r.type&&(n=t.value.toLowerCase(),i=e.value.toLowerCase()),n<i)?-1:n>i?1:0;}function tw(t){return{type:P.VectorSetItem,value:t.readUint32()};}function tI(t,e){t.writeUint32(e.value);}function tb(t,e){let r=t.value,n=e.value;return r<n?-1:r>n?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return q(t);case 2/* Boolean */:return j(t);case 3/* Color */:return V(t);case 4/* Date */:return z(t);case 5/* Enum */:return H(t);case 6/* File */:return Y(t);case 7/* Link */:return te(t);case 8/* Number */:return ti(t);case 9/* Object */:return to(t);case 10/* ResponsiveImage */:return th(t);case 11/* RichText */:return td(t);case 12/* String */:return tp(t);case 13/* VectorSetItem */:return tw(t);default:b(e);}},t.write=function(t,e){let r=R(e);if(t.writeUint8(r),!A(e))switch(e.type){case P.Array:return _(t,e);case P.Boolean:return C(t,e);case P.Color:return W(t,e);case P.Date:return G(t,e);case P.Enum:return X(t,e);case P.File:return Z(t,e);case P.Link:return tr(t,e);case P.Number:return ts(t,e);case P.Object:return tu(t,e);case P.ResponsiveImage:return tc(t,e);case P.RichText:return tg(t,e);case P.VectorSetItem:return tI(t,e);case P.String:return tv(t,e);default:b(e);}},t.compare=function(t,e,r){let n=R(t),i=R(e);if(n<i)return -1;if(n>i)return 1;if(A(t)||A(e))return 0;switch(t.type){case P.Array:return I(e.type===P.Array),D(t,e,r);case P.Boolean:return I(e.type===P.Boolean),J(t,e);case P.Color:return I(e.type===P.Color),$(t,e);case P.Date:return I(e.type===P.Date),K(t,e);case P.Enum:return I(e.type===P.Enum),Q(t,e);case P.File:return I(e.type===P.File),tt(t,e);case P.Link:return I(e.type===P.Link),tn(t,e);case P.Number:return I(e.type===P.Number),ta(t,e);case P.Object:return I(e.type===P.Object),tl(t,e,r);case P.ResponsiveImage:return I(e.type===P.ResponsiveImage),tf(t,e);case P.RichText:return I(e.type===P.RichText),ty(t,e);case P.VectorSetItem:return I(e.type===P.VectorSetItem),tb(t,e);case P.String:return I(e.type===P.String),tm(t,e,r);default:b(t);}};})(t||(t={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tU=class e{sortEntries(){this.entries.sort((e,r)=>{for(let n=0;n<this.fieldNames.length;n++){let i=e.values[n],s=r.values[n],a=t.compare(i,s,this.options.collation);if(0!==a)return a;}return e.pointer.compare(r.pointer);});}static deserialize(r){let n=new y(r),i=n.readJson(),s=n.readUint8(),a=[];for(let t=0;t<s;t++){let t=n.readString();a.push(t);}let o=new e(a,{collation:i}),u=n.readUint32();for(let e=0;e<u;e++){let e=[];for(let r=0;r<s;r++){let r=t.read(n);e.push(r);}let r=O.read(n);o.entries.push({values:e,pointer:r});}return o;}serialize(){let e=new F;for(let t of(e.writeJson(this.options.collation),e.writeUint8(this.fieldNames.length),this.fieldNames))e.writeString(t);for(let r of(this.sortEntries(),e.writeUint32(this.entries.length),this.entries)){let{values:n,pointer:i}=r;for(let r of n)t.write(e,r);i.write(e);}return e.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(t,e){c(this,\"fieldNames\",t),c(this,\"options\",e),c(this,\"entries\",[]);}},tS=3,tk=250,tL=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tB=async(t,e)=>{let r=0;for(;;){try{let n=await fetch(t,e);if(!tL.includes(n.status)||++r>tS)return n;}catch(t){if(e?.signal?.aborted||++r>tS)throw t;}await tE(r);}};async function tE(t){let e=Math.floor(tk*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tM(t,e){let r=tx(e),n=[],i=0;for(let t of r)n.push(`${t.from}-${t.to-1}`),i+=t.to-t.from;let s=new URL(t),a=n.join(\",\");s.searchParams.set(\"range\",a);let o=await tB(s);if(200!==o.status)throw Error(`Request failed: ${o.status} ${o.statusText}`);let u=await o.arrayBuffer(),l=new Uint8Array(u);if(l.length!==i)throw Error(\"Request failed: Unexpected response length\");let h=new tT,c=0;for(let t of r){let e=t.to-t.from,r=c+e,n=l.subarray(c,r);h.write(t.from,n),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tT=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let n=t-r.start,i=n+e;return r.data.slice(n,i);}throw Error(\"Missing data\");}write(t,e){let r=t,n=r+e.length,i=0,s=this.chunks.length;for(;i<s;i++){let t=this.chunks[i];if(I(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let n=r-t.start,i=t.data.subarray(0,n);e=tF(i,e),r=t.start;}break;}}for(;s>i;s--){let t=this.chunks[s-1];if(I(t,\"Missing chunk\"),!(n<t.start)){if(n<t.end){let r=n-t.start,i=t.data.subarray(r);e=tF(e,i),n=t.end;}break;}}let a={start:r,end:n,data:e},o=s-i;this.chunks.splice(i,o,a);}constructor(){c(this,\"chunks\",[]);}};function tF(t,e){let r=t.length+e.length,n=new Uint8Array(r);return n.set(t,0),n.set(e,t.length),n;}function tx(t){I(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,n=r[e];n&&t.from<=n.to?r[e]={from:n.from,to:Math.max(n.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar tN=class{async loadModel(){let[t]=await tM(this.options.url,[this.options.range]);return I(t,\"Failed to load model\"),tU.deserialize(t);}async getModel(){return this.modelPromise??=this.loadModel(),this.model??=await this.modelPromise,this.model;}async lookupItems(t){I(t.length===this.fields.length,\"Invalid query length\");let e=await this.getModel(),r=t.reduce((t,e,r)=>t.flatMap(t=>{switch(e.type){case\"All\"/* All */:return[t];case\"Equals\"/* Equals */:return this.queryEquals(t,e,r);case\"NotEquals\"/* NotEquals */:return this.queryNotEquals(t,e,r);case\"LessThan\"/* LessThan */:return this.queryLessThan(t,e,r);case\"GreaterThan\"/* GreaterThan */:return this.queryGreaterThan(t,e,r);case\"Contains\"/* Contains */:return this.queryContains(t,e,r);case\"StartsWith\"/* StartsWith */:return this.queryStartsWith(t,e,r);case\"EndsWith\"/* EndsWith */:return this.queryEndsWith(t,e,r);default:b(e);}}),[e.entries]),n=[];for(let t of r)for(let e of t){let t={};for(let r=0;r<this.options.fieldNames.length;r++){let n=this.options.fieldNames[r],i=e.values[r];t[n]=i;}n.push({pointer:e.pointer.toString(),data:t});}return n;}queryEquals(t,e,r){let n=this.getLeftMost(t,r,e.value),i=this.getRightMost(t,r,e.value),s=t.slice(n,i+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let n=this.getLeftMost(t,r,e.value),i=this.getRightMost(t,r,e.value),s=[],a=t.slice(0,n);a.length>0&&s.push(a);let o=t.slice(i+1);return o.length>0&&s.push(o),s;}queryLessThan(t,e,r){let n=this.getRightMost(t,r,null);if(t=t.slice(n+1),e.inclusive){let n=this.getRightMost(t,r,e.value),i=t.slice(0,n+1);return i.length>0?[i]:[];}let i=this.getLeftMost(t,r,e.value),s=t.slice(0,i);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let n=this.getRightMost(t,r,null);if(t=t.slice(n+1),e.inclusive){let n=this.getLeftMost(t,r,e.value),i=t.slice(n);return i.length>0?[i]:[];}let i=this.getRightMost(t,r,e.value),s=t.slice(i+1);return s.length>0?[s]:[];}queryContains(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==v.String||e.value?.type!==v.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.includes(n);});}queryStartsWith(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==v.String||e.value?.type!==v.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.startsWith(n);});}queryEndsWith(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==v.String||e.value?.type!==v.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.endsWith(n);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(e,r,n){let i=0,s=e.length;for(;i<s;){let a=i+s>>1,o=e[a],u=o.values[r];0>t.compare(u,n,this.collation)?i=a+1:s=a;}return i;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(e,r,n){let i=0,s=e.length;for(;i<s;){let a=i+s>>1,o=e[a],u=o.values[r];t.compare(u,n,this.collation)>0?s=a:i=a+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */findItems(t,e,r){let n=[],i=0;for(let s=0;s<t.length;s++){let a=t[s],o=a.values[e],u=r(o);if(!u){if(i<s){let e=t.slice(i,s);n.push(e);}i=s+1;}}if(i<t.length){let e=t.slice(i);n.push(e);}return n;}constructor(t){c(this,\"options\",t),c(this,\"schema\"),c(this,\"fields\"),c(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),c(this,\"modelPromise\"),c(this,\"model\"),c(this,\"collation\");let e={},r=[];for(let t of this.options.fieldNames){let n=this.options.collectionSchema[t];I(n,\"Missing definition for field\",t),e[t]=n,r.push({type:\"Identifier\",name:t});}this.schema=e,this.fields=r,this.collation=this.options.collation;}},tA=class e{static read(r){let n=new e,i=r.readUint16();for(let e=0;e<i;e++){let e=r.readString(),i=t.read(r);n.setField(e,i);}return n;}write(e){for(let[r,n]of(e.writeUint16(this.fields.size),this.fields))e.writeString(r),t.write(e,n);}getData(){let t={};for(let[e,r]of this.fields)t[e]=r;return t;}setField(t,e){this.fields.set(t,e);}getField(t){return this.fields.get(t);}constructor(){c(this,\"fields\",/* @__PURE__ */new Map);}},tO=class{scanItems(){return this.itemsPromise??=tB(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),n=new y(r),i=[],s=n.readUint32();for(let t=0;t<s;t++){let t=n.getOffset(),e=tA.read(n),r=n.getOffset()-t,s=new O(this.id,t,r),a=s.toString(),o={pointer:a,data:e.getData()};this.itemLoader.prime(a,o),i.push(o);}return i;}),this.itemsPromise;}resolveItem(t){return this.itemLoader.load(t);}constructor(t,e){c(this,\"id\",t),c(this,\"url\",e),c(this,\"itemsPromise\"),c(this,\"itemLoader\",new d.default(async t=>{let e=t.map(t=>{let e=O.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tM(this.url,e);return r.map((e,r)=>{let n=new y(e),i=tA.read(n),s=t[r];return I(s,\"Missing pointer\"),{pointer:s,data:i.getData()};});},{maxBatchSize:250}));}},tP=class{async scanItems(){let t=await Promise.all(this.chunks.map(async t=>t.scanItems()));return t.flat();}resolveItems(t){return Promise.all(t.map(t=>{let e=O.fromString(t),r=this.chunks[e.chunkId];return I(r,\"Missing chunk\"),r.resolveItem(t);}));}compareItems(t,e){let r=O.fromString(t.pointer),n=O.fromString(e.pointer);return r.compare(n);}compareValues(e,r,n){return t.compare(e,r,n);}constructor(t){c(this,\"options\",t),c(this,\"id\"),c(this,\"schema\"),c(this,\"indexes\"),c(this,\"resolveRichText\"),c(this,\"resolveVectorSetItem\"),c(this,\"chunks\"),this.chunks=this.options.chunks.map((t,e)=>new tO(e,t)),this.schema=t.schema,this.indexes=t.indexes,this.resolveRichText=t.resolveRichText,this.resolveVectorSetItem=t.resolveVectorSetItem,this.id=t.id;}};export{tP as DatabaseCollection,tN as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as t,ComponentPresetsConsumer as r,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,l=\"undefined\"!=typeof window,f=l&&\"function\"==typeof window.requestIdleCallback,u=\"preload\";function c(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&u in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as p,createElement as s}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction m(e,...t){if(!e)throw Error(\"Assertion Error\"+(t.length>0?\": \"+t.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar d=((a=d||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a);function g(i){let a=/* @__PURE__ */new Map;return l=>{let f=a.get(l);if(f)return f;let u=JSON.parse(l),d=function a(l){switch(l[0]){case 1/* Fragment */:{let[,...e]=l,t=e.map(a);return /*#__PURE__*/s(p,void 0,...t);}case 2/* Link */:{let[,e,...t]=l,r=t.map(a);return /*#__PURE__*/s(n,e,...r);}case 3/* Module */:{let[,n,o,f,u]=l;for(let e of f){let t=o[e];t&&(o[e]=a(t));}for(let e of u){let t=o[e];if(\"string\"!=typeof t)continue;let r=i[t];r&&(c(r)&&r.preload(),o[e]=r);}let p=i[n];return m(p,\"Module not found\"),c(p)&&p.preload(),/*#__PURE__*/e(r,{componentIdentifier:n,children:r=>/*#__PURE__*/e(t,{component:p,props:{...r,...o}})});}case 4/* Tag */:{let[,e,t,...r]=l,n=r.map(a);if(\"a\"===e)return /*#__PURE__*/s(o.a,t,...n);return /*#__PURE__*/s(e,t,...n);}case 5/* Text */:{let[,e]=l;return e;}}}(u);return a.set(l,d),d;};}export{d as RichTextJsonType,g as getRichTextJsonResolver};\nexport const __FramerMetadata__ = {\"exports\":{\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (460e9f7)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as i}from\"./k8T9cvmvu-0.js\";import{getRichTextJsonResolver as a}from\"./k8T9cvmvu-1.js\";let r={ClaKTrpUX:{isNullable:!0,type:t.String},cQ7L6KvTm:{isNullable:!0,type:t.ResponsiveImage},createdAt:{isNullable:!0,type:t.Date},CTlZMEwIi:{isNullable:!0,type:t.String},F5ZJdqgII:{isNullable:!0,type:t.String},fqtbX6QOi:{isNullable:!0,type:t.String},hthy8_cy7:{isNullable:!0,type:t.ResponsiveImage},id:{isNullable:!1,type:t.String},JECFMGCx0:{isNullable:!0,type:t.String},jxR0Qg40x:{isNullable:!0,type:t.String},KB8nT9QOJ:{isNullable:!0,type:t.Link},nextItemId:{isNullable:!0,type:t.String},PaSDI3eE5:{isNullable:!0,type:t.ResponsiveImage},previousItemId:{isNullable:!0,type:t.String},TPQRJeBMG:{isNullable:!0,type:t.String},updatedAt:{isNullable:!0,type:t.Date},VI0VQUrWl:{isNullable:!0,type:t.ResponsiveImage},WP3WbXowL:{isNullable:!0,type:t.String},YtIEforyY:{isNullable:!0,type:t.ResponsiveImage}},n=[],p=e=>{let t=n[e];if(t)return t().then(e=>e.default);},u={},o=a(u),y=new l,s={collectionByLocaleId:{default:new i({chunks:[new URL(\"./k8T9cvmvu-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"efcec697-f9ad-4e54-a586-761faa661a89default\",indexes:[],resolveRichText:o,resolveVectorSetItem:p,schema:r})},displayName:\"Projects\",id:\"efcec697-f9ad-4e54-a586-761faa661a89\"};export default s;e(s,{F5ZJdqgII:{defaultValue:\"\",title:\"Title\",type:t.String},CTlZMEwIi:{preventLocalization:!0,title:\"Slug\",type:t.String},KB8nT9QOJ:{title:\"Link to Live Site\",type:t.Link},ClaKTrpUX:{defaultValue:\"\",title:\"Description\",type:t.String},fqtbX6QOi:{defaultValue:\"\",title:\"Industry\",type:t.String},TPQRJeBMG:{defaultValue:\"\",title:\"Client\",type:t.String},WP3WbXowL:{defaultValue:\"\",title:\"Year\",type:t.String},jxR0Qg40x:{defaultValue:\"\",title:\"Services\",type:t.String},cQ7L6KvTm:{title:\"Thumbnail (Main)\",type:t.ResponsiveImage},VI0VQUrWl:{title:\"Image 1\",type:t.ResponsiveImage},PaSDI3eE5:{title:\"Image 2\",type:t.ResponsiveImage},YtIEforyY:{title:\"Image 3\",type:t.ResponsiveImage},hthy8_cy7:{title:\"Image 4\",type:t.ResponsiveImage},JECFMGCx0:{dataIdentifier:\"local-module:collection/k8T9cvmvu:default\",title:\"Next Project\",type:t.CollectionReference},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/k8T9cvmvu:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/k8T9cvmvu:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await y.query({from:{data:s,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"CTlZMEwIi\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.CTlZMEwIi;},async getRecordIdBySlug(e,t){let[l]=await y.query({from:{data:s,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"CTlZMEwIi\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerRecordIdKey\":\"id\",\"framerCollectionUtils\":\"1\",\"framerData\":\"true\",\"framerColorSyntax\":\"false\",\"framerCollectionId\":\"k8T9cvmvu\",\"framerSlug\":\"CTlZMEwIi\",\"framerAutoSizeImages\":\"true\",\"framerEnumToDisplayNameUtils\":\"2\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}