{"version":3,"file":"script_main.CDf0KPLv.mjs","names":["x","d","debounce","className","useRef","_Fragment","Children","mask","SVG","getProps","Icon","className","getProps","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transition2","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","HoverText","Hamburger","CopyrightTextFonts","serializationHash","variantClassNames","animation","animation1","animation2","React.useContext","React.useMemo","matchVariant","humanReadableVariantMap","React.Fragment","getProps","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","FullCustom","FullWhite","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","NavigationBar","Lenis","Vector","Vector1","Vector2","Cursor","Component","useRef","React.useId","className","PropertyOverrides","React.createElement","HeaderFooter","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/unpkg.com/lenis@1.3.19/dist/lenis.mjs","https:/unpkg.com/lenis@1.3.19/dist/lenis-snap.mjs","https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/qosszBZXoEqfEMp4XhZk/Lenis.js","https:/framerusercontent.com/modules/Q8sxmTkcG0TlWSYtaQCy/kuBVWw6wxOXdIUg8nFux/SmartCopyright.js","https:/framerusercontent.com/modules/1TEsWHnehb9nbTtaAKQR/63YnWhJeli3outvqDZzU/Bj6x3iuTk.js","https:/framerusercontent.com/modules/J0Zyt8a74XVcnaEnxazv/DNW8J3GnPvz6IomxMtPN/nXmpQe8Pp.js","https:/framerusercontent.com/modules/rkf8MUxenkTiPajSwmTq/bziGhKq9sdHmg45EZW9r/K99UTH7P9.js","https:/framerusercontent.com/modules/8hwqREKJeExiDMppD7G4/4GKfYtn5brd8KaSoKBTz/KtpduPimO.js","https:/framerusercontent.com/modules/5FbovMih5qrtLAOvUR8Q/SCGEZsRtIuQ2MmaxlsuT/B5zRZN3BY.js","framer:toplevel/main"],"sourcesContent":["// package.json\nvar version = \"1.3.19\";\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    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(this, 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);\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);\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    const 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    if (this.events[event]) {\n      this.events[event].push(cb);\n    } else {\n      this.events[event] = [cb];\n    }\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 };\nfunction getDeltaMultiplier(deltaMode, size) {\n  if (deltaMode === 1) return LINE_HEIGHT;\n  if (deltaMode === 2) return size;\n  return 1;\n}\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);\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);\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 = getDeltaMultiplier(deltaMode, this.window.width);\n    const multiplierY = getDeltaMultiplier(deltaMode, this.window.height);\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 - 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    __experimental__naiveDimensions = false,\n    naiveDimensions = __experimental__naiveDimensions,\n    stopInertiaOnNavigate = false\n  } = {}) {\n    window.lenisVersion = version;\n    if (!window.lenis) {\n      window.lenis = {};\n    }\n    window.lenis.version = version;\n    if (orientation === \"horizontal\") {\n      window.lenis.horizontal = true;\n    }\n    if (syncTouch === true) {\n      window.lenis.touch = true;\n    }\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);\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      );\n    }\n    this.options.wrapper.addEventListener(\n      \"pointerdown\",\n      this.onPointerDown\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    }\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(\"scroll\", this.onNativeScroll);\n    this.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    this.options.wrapper.removeEventListener(\n      \"pointerdown\",\n      this.onPointerDown\n    );\n    if (this.options.anchors || this.options.stopInertiaOnNavigate) {\n      this.options.wrapper.removeEventListener(\n        \"click\",\n        this.onClick\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 linkElements = path.filter(\n      (node) => node instanceof HTMLAnchorElement && node.href\n    );\n    const linkElementsUrls = linkElements.map(\n      (element) => new URL(element.href)\n    );\n    const currentUrl = new URL(window.location.href);\n    if (this.options.anchors) {\n      const anchorElementUrl = linkElementsUrls.find(\n        (targetUrl) => currentUrl.host === targetUrl.host && currentUrl.pathname === targetUrl.pathname && targetUrl.hash\n      );\n      if (anchorElementUrl) {\n        const options = typeof this.options.anchors === \"object\" && this.options.anchors ? this.options.anchors : void 0;\n        const target = `#${anchorElementUrl.hash.split(\"#\")[1]}`;\n        this.scrollTo(target, options);\n        return;\n      }\n    }\n    if (this.options.stopInertiaOnNavigate) {\n      const hasPageLinkElementUrl = linkElementsUrls.some(\n        (targetUrl) => currentUrl.host === targetUrl.host && currentUrl.pathname !== targetUrl.pathname\n      );\n      if (hasPageLinkElementUrl) {\n        this.reset();\n        return;\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    const gestureOrientation = Math.abs(deltaX) >= Math.abs(deltaY) ? \"horizontal\" : \"vertical\";\n    if (composedPath.find(\n      (node) => node instanceof HTMLElement && (typeof prevent === \"function\" && prevent?.(node) || node.hasAttribute?.(\"data-lenis-prevent\") || gestureOrientation === \"vertical\" && node.hasAttribute?.(\"data-lenis-prevent-vertical\") || gestureOrientation === \"horizontal\" && node.hasAttribute?.(\"data-lenis-prevent-horizontal\") || isTouch && node.hasAttribute?.(\"data-lenis-prevent-touch\") || isWheel && node.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.hasNestedScroll(node, {\n        deltaX,\n        deltaY\n      }))\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.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    let target = _target;\n    let adjustedOffset = offset;\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 = null;\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          adjustedOffset -= 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 += adjustedOffset;\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 -= this.limit;\n        } else if (distance < -this.limit / 2) {\n          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  hasNestedScroll(node, { deltaX, deltaY }) {\n    const time = Date.now();\n    if (!node._lenis) node._lenis = {};\n    const cache = node._lenis;\n    let hasOverflowX;\n    let hasOverflowY;\n    let isScrollableX;\n    let isScrollableY;\n    let hasOverscrollBehaviorX;\n    let hasOverscrollBehaviorY;\n    let scrollWidth;\n    let scrollHeight;\n    let clientWidth;\n    let clientHeight;\n    if (time - (cache.time ?? 0) > 2e3) {\n      cache.time = Date.now();\n      const computedStyle = window.getComputedStyle(node);\n      cache.computedStyle = computedStyle;\n      hasOverflowX = [\"auto\", \"overlay\", \"scroll\"].includes(\n        computedStyle.overflowX\n      );\n      hasOverflowY = [\"auto\", \"overlay\", \"scroll\"].includes(\n        computedStyle.overflowY\n      );\n      hasOverscrollBehaviorX = [\"auto\"].includes(\n        computedStyle.overscrollBehaviorX\n      );\n      hasOverscrollBehaviorY = [\"auto\"].includes(\n        computedStyle.overscrollBehaviorY\n      );\n      cache.hasOverflowX = hasOverflowX;\n      cache.hasOverflowY = hasOverflowY;\n      if (!(hasOverflowX || hasOverflowY)) 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      cache.hasOverscrollBehaviorX = hasOverscrollBehaviorX;\n      cache.hasOverscrollBehaviorY = hasOverscrollBehaviorY;\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      hasOverscrollBehaviorX = cache.hasOverscrollBehaviorX;\n      hasOverscrollBehaviorY = cache.hasOverscrollBehaviorY;\n    }\n    if (!(hasOverflowX && isScrollableX || hasOverflowY && isScrollableY)) {\n      return false;\n    }\n    const orientation = Math.abs(deltaX) >= Math.abs(deltaY) ? \"horizontal\" : \"vertical\";\n    let scroll;\n    let maxScroll;\n    let delta;\n    let hasOverflow;\n    let isScrollable;\n    let hasOverscrollBehavior;\n    if (orientation === \"horizontal\") {\n      scroll = Math.round(node.scrollLeft);\n      maxScroll = scrollWidth - clientWidth;\n      delta = deltaX;\n      hasOverflow = hasOverflowX;\n      isScrollable = isScrollableX;\n      hasOverscrollBehavior = hasOverscrollBehaviorX;\n    } else if (orientation === \"vertical\") {\n      scroll = Math.round(node.scrollTop);\n      maxScroll = scrollHeight - clientHeight;\n      delta = deltaY;\n      hasOverflow = hasOverflowY;\n      isScrollable = isScrollableY;\n      hasOverscrollBehavior = hasOverscrollBehaviorY;\n    } else {\n      return false;\n    }\n    if (!hasOverscrollBehavior && (scroll >= maxScroll || scroll <= 0)) {\n      return true;\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      }\n      return this.rootElement.scrollHeight - this.rootElement.clientHeight;\n    }\n    return this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\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    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(this, 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-expect-error\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;\n    let 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    if (!window.lenis) {\n      window.lenis = {};\n    }\n    window.lenis.snap = true;\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);\n    this.onSnapDebounced = debounce(\n      this.onSnap,\n      this.options.debounce\n    );\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);\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 = Number.POSITIVE_INFINITY;\n    if (this.options.type === \"mandatory\") return Number.POSITIVE_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) : Number.POSITIVE_INFINITY;\n      const nextSnap = snaps[nextSnapIndex];\n      const distanceToNextSnap = nextSnap ? Math.abs(scroll - nextSnap.value) : Number.POSITIVE_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) => {\n      element.onWrapperResize();\n    });\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.19/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.19/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\",stopInertiaOnNavigate:true});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(() => {\n//     function onClick(event: PointerEvent | MouseEvent) {\n//         const path = event.composedPath()\n//         const pageLink = path.find(\n//             (node) =>\n//                 node instanceof HTMLAnchorElement &&\n//                 (node.getAttribute(\"href\")?.startsWith(\"./\") ||\n//                     node.getAttribute(\"href\")?.startsWith(\"../\"))\n//         ) as HTMLAnchorElement | undefined\n//         if (pageLink) {\n//             if (lenisRef.current) {\n//                 lenisRef.current.reset()\n//             }\n//         }\n//     }\n//     window.addEventListener(\"click\", onClick)\n//     return () => {\n//         window.removeEventListener(\"click\", onClick)\n//     }\n// }, [])\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.19/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\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","// Autocopyright text layer with automatic year and editable name/company\nimport{jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Autocopyright\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */export default function CopyrightText(props){const{name,prefix,suffix,color,font,style,showIcon,showName}=props;const year=typeof window!==\"undefined\"?new Date().getFullYear():2024;return /*#__PURE__*/_jsxs(\"span\",{style:{color,...font,...style,width:\"max-content\",minWidth:\"max-content\",display:\"inline-block\"},\"aria-label\":`Copyright ${year} ${name}`,children:[prefix,prefix&&\" \",showIcon&&\"\\xa9\",\" \",year,\" \",showName&&name,suffix&&\" \",suffix]});}addPropertyControls(CopyrightText,{name:{type:ControlType.String,title:\"Name\",defaultValue:\"ACME\",placeholder:\"Company or Name\"},showIcon:{type:ControlType.Boolean,title:\"Show \\xa9\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showName:{type:ControlType.Boolean,title:\"Show Name\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\",placeholder:\"Prefix (optional)\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\",placeholder:\"Suffix (optional)\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CopyrightText\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmartCopyright.map","// Generated by Framer (07ac007)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 232 31\" xmlns=\"http://www.w3.org/2000/svg\"><g d=\"M 24.974 19.573 L 33.95 19.573 L 39.068 31 L 48.082 31 L 42.343 18.185 C 44.998 16.474 46.776 13.354 46.776 9.788 C 46.776 4.382 42.696 0 37.664 0 L 0 0 L 0 31 L 36.404 31 L 32.269 22.045 L 7.952 22.045 L 7.952 19.573 L 19.761 19.573 L 19.761 11.094 L 7.952 11.094 L 7.952 8.48 L 22.604 8.48 L 22.604 19.574 L 24.974 19.574 Z M 30.557 8.479 L 36.107 8.479 C 36.917 8.479 37.575 9.065 37.575 9.786 C 37.575 10.507 36.916 11.094 36.107 11.094 L 30.557 11.094 L 30.557 8.48 Z M 56.034 22.045 L 56.034 0 L 48.082 0 L 48.082 31 L 56.034 31 Z M 77.934 20.834 C 76.568 22.2 74.681 23.046 72.599 23.046 C 68.438 23.046 65.051 19.66 65.051 15.498 C 65.051 11.337 68.438 7.951 72.599 7.951 C 74.681 7.951 76.568 8.797 77.934 10.163 L 83.559 4.539 C 80.755 1.735 76.88 0 72.599 0 C 64.039 0 57.101 6.94 57.101 15.5 C 57.101 24.06 64.041 31 72.601 31 C 76.882 31 80.757 29.265 83.561 26.46 L 77.936 20.835 Z M 126.008 22.045 L 126.008 0 L 118.056 0 L 118.056 31 L 126.008 31 Z M 112.316 18.183 C 114.971 16.473 116.749 13.352 116.749 9.786 C 116.749 4.382 112.669 0 107.637 0 L 92.578 0 L 92.578 31 L 100.53 31 L 100.53 19.573 L 103.924 19.573 L 109.042 31 L 118.056 31 L 112.316 18.185 Z M 106.081 11.094 L 100.53 11.094 L 100.53 8.48 L 106.081 8.48 C 106.891 8.48 107.548 9.067 107.548 9.788 C 107.548 10.509 106.889 11.096 106.081 11.096 Z M 170.587 20.834 C 169.221 22.2 167.334 23.046 165.252 23.046 C 161.091 23.046 157.704 19.66 157.704 15.498 C 157.704 11.337 161.091 7.951 165.252 7.951 C 167.334 7.951 169.221 8.797 170.587 10.163 L 176.212 4.539 C 173.407 1.735 169.533 0 165.252 0 C 156.692 0 149.752 6.94 149.752 15.5 C 149.752 24.06 156.692 31 165.252 31 C 169.533 31 173.408 29.265 176.212 26.46 L 170.587 20.835 Z M 172.803 15.5 C 172.803 17.432 172.067 19.366 170.597 20.837 C 167.654 23.779 162.865 23.779 159.922 20.837 C 156.979 17.894 156.979 13.105 159.922 10.162 C 161.394 8.69 163.326 7.955 165.258 7.955 L 165.258 0 C 161.291 0 157.324 1.513 154.299 4.54 C 148.246 10.593 148.246 20.407 154.299 26.46 C 160.352 32.513 170.165 32.513 176.218 26.46 C 179.244 23.434 180.758 19.467 180.758 15.5 Z M 135.636 8.479 L 135.636 11.093 L 147.445 11.093 L 147.445 19.573 L 135.636 19.573 L 135.636 22.045 L 150.288 22.045 L 150.288 30.998 L 127.683 30.998 L 127.683 0 L 150.288 0 L 150.288 8.479 Z M 225.565 18.183 C 228.219 16.473 229.998 13.352 229.998 9.786 C 229.998 4.382 225.917 0 220.886 0 L 205.826 0 L 205.826 31 L 213.778 31 L 213.778 19.573 L 217.172 19.573 L 222.29 31 L 231.304 31 L 225.565 18.185 Z M 219.329 11.094 L 213.778 11.094 L 213.778 8.48 L 219.329 8.48 C 220.139 8.48 220.797 9.067 220.797 9.788 C 220.797 10.509 220.137 11.096 219.329 11.096 Z M 189.49 8.479 L 189.49 11.093 L 201.299 11.093 L 201.299 19.573 L 189.49 19.573 L 189.49 22.045 L 204.143 22.045 L 204.143 30.998 L 181.538 30.998 L 181.538 0 L 204.143 0 L 204.143 8.479 Z M 165.245 12.05 L 180.745 12.05 L 180.745 15.58 C 180.745 18.02 178.763 20.001 176.324 20.001 L 165.246 20.001 L 165.246 12.049 Z\" fill=\"transparent\" height=\"31px\" id=\"Wy1mhnwB4\" width=\"231.30388032253177px\"><path d=\"M 24.974 19.573 L 33.95 19.573 L 39.068 31 L 48.082 31 L 42.343 18.185 C 44.998 16.474 46.776 13.354 46.776 9.788 C 46.776 4.382 42.696 0 37.664 0 L 0 0 L 0 31 L 36.404 31 L 32.269 22.045 L 7.952 22.045 L 7.952 19.573 L 19.761 19.573 L 19.761 11.094 L 7.952 11.094 L 7.952 8.48 L 22.604 8.48 L 22.604 19.574 L 24.974 19.574 Z M 30.557 8.479 L 36.107 8.479 C 36.917 8.479 37.575 9.065 37.575 9.786 C 37.575 10.507 36.916 11.094 36.107 11.094 L 30.557 11.094 L 30.557 8.48 Z M 56.034 22.045 L 56.034 0 L 48.082 0 L 48.082 31 L 56.034 31 Z M 77.934 20.834 C 76.568 22.2 74.681 23.046 72.599 23.046 C 68.438 23.046 65.051 19.66 65.051 15.498 C 65.051 11.337 68.438 7.951 72.599 7.951 C 74.681 7.951 76.568 8.797 77.934 10.163 L 83.559 4.539 C 80.755 1.735 76.88 0 72.599 0 C 64.039 0 57.101 6.94 57.101 15.5 C 57.101 24.06 64.041 31 72.601 31 C 76.882 31 80.757 29.265 83.561 26.46 L 77.936 20.835 Z M 126.008 22.045 L 126.008 0 L 118.056 0 L 118.056 31 L 126.008 31 Z M 112.316 18.183 C 114.971 16.473 116.749 13.352 116.749 9.786 C 116.749 4.382 112.669 0 107.637 0 L 92.578 0 L 92.578 31 L 100.53 31 L 100.53 19.573 L 103.924 19.573 L 109.042 31 L 118.056 31 L 112.316 18.185 Z M 106.081 11.094 L 100.53 11.094 L 100.53 8.48 L 106.081 8.48 C 106.891 8.48 107.548 9.067 107.548 9.788 C 107.548 10.509 106.889 11.096 106.081 11.096 Z M 170.587 20.834 C 169.221 22.2 167.334 23.046 165.252 23.046 C 161.091 23.046 157.704 19.66 157.704 15.498 C 157.704 11.337 161.091 7.951 165.252 7.951 C 167.334 7.951 169.221 8.797 170.587 10.163 L 176.212 4.539 C 173.407 1.735 169.533 0 165.252 0 C 156.692 0 149.752 6.94 149.752 15.5 C 149.752 24.06 156.692 31 165.252 31 C 169.533 31 173.408 29.265 176.212 26.46 L 170.587 20.835 Z\" fill=\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\" height=\"31px\" id=\"vZGWKKuC0\" width=\"176.21217437660982px\"/><path d=\"M 23.044 15.5 C 23.044 17.432 22.308 19.366 20.838 20.837 C 17.895 23.779 13.106 23.779 10.163 20.837 C 7.22 17.894 7.22 13.105 10.163 10.162 C 11.635 8.69 13.567 7.955 15.5 7.955 L 15.5 0 C 11.533 0 7.566 1.513 4.54 4.54 C -1.513 10.593 -1.513 20.407 4.54 26.46 C 10.593 32.513 20.406 32.513 26.459 26.46 C 29.485 23.434 31 19.467 31 15.5 Z\" fill=\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\" height=\"30.999622907746197px\" id=\"pf1Ifb3zx\" transform=\"translate(149.759 0)\" width=\"30.99962290774613px\"/><path d=\"M 7.952 8.479 L 7.952 11.093 L 19.761 11.093 L 19.761 19.573 L 7.952 19.573 L 7.952 22.045 L 22.604 22.045 L 22.604 30.998 L 0 30.998 L 0 0 L 22.604 0 L 22.604 8.479 Z M 97.881 18.183 C 100.536 16.473 102.314 13.352 102.314 9.786 C 102.314 4.382 98.234 0 93.202 0 L 78.143 0 L 78.143 31 L 86.095 31 L 86.095 19.573 L 89.489 19.573 L 94.606 31 L 103.62 31 L 97.881 18.185 Z M 91.646 11.094 L 86.095 11.094 L 86.095 8.48 L 91.646 8.48 C 92.455 8.48 93.113 9.067 93.113 9.788 C 93.113 10.509 92.454 11.096 91.646 11.096 Z M 61.807 8.479 L 61.807 11.093 L 73.616 11.093 L 73.616 19.573 L 61.807 19.573 L 61.807 22.045 L 76.459 22.045 L 76.459 30.998 L 53.855 30.998 L 53.855 0 L 76.459 0 L 76.459 8.479 Z M 37.561 12.05 L 53.061 12.05 L 53.061 15.58 C 53.061 18.02 51.079 20.001 48.64 20.001 L 37.563 20.001 L 37.563 12.049 Z\" fill=\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\" height=\"31px\" id=\"z9P6A8cW7\" transform=\"translate(127.683 0)\" width=\"103.62042390163333px\"/></g></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fillColour,height,id,width,...props})=>{return{...props,ebrCsBv0q:fillColour??props.ebrCsBv0q??\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ebrCsBv0q,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-OFWRH\",className),layoutId:layoutId,ref:ref,style:{...style}});});const css=[`.framer-OFWRH { -webkit-mask: ${mask}; aspect-ratio: 7.483870967741935; background-color: var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, #ffffff); mask: ${mask}; width: 232px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 232\n * @framerIntrinsicHeight 31\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ebrCsBv0q\":\"fillColour\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Full White\",\"color\":{\"type\":\"static\",\"value\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},\"set\":{\"localId\":\"vectorSet/Cuz0DVhNU\",\"id\":\"Cuz0DVhNU\",\"moduleId\":\"asa68FhxEaSUARDyM7Lk\"}}\n */const Icon=withCSS(Component,css,\"framer-OFWRH\");Icon.displayName=\"Full White\";export default Icon;addPropertyControls(Icon,{ebrCsBv0q:{defaultValue:'var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) /* {\"name\":\"Pure Black\"} */',hidden:true,title:\"Fill Colour\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"31\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ebrCsBv0q\\\":\\\"fillColour\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"Full White\\\",\\\"color\\\":{\\\"type\\\":\\\"static\\\",\\\"value\\\":\\\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/Cuz0DVhNU\\\",\\\"id\\\":\\\"Cuz0DVhNU\\\",\\\"moduleId\\\":\\\"asa68FhxEaSUARDyM7Lk\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"232\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (07ac007)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const ebrCsBv0q=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 232 31\" xmlns=\"http://www.w3.org/2000/svg\"><g d=\"M 24.974 19.573 L 33.95 19.573 L 39.068 31 L 48.082 31 L 42.343 18.185 C 44.998 16.474 46.776 13.354 46.776 9.788 C 46.776 4.382 42.696 0 37.664 0 L 0 0 L 0 31 L 36.404 31 L 32.269 22.045 L 7.952 22.045 L 7.952 19.573 L 19.761 19.573 L 19.761 11.094 L 7.952 11.094 L 7.952 8.48 L 22.604 8.48 L 22.604 19.574 L 24.974 19.574 Z M 30.557 8.479 L 36.107 8.479 C 36.917 8.479 37.575 9.065 37.575 9.786 C 37.575 10.507 36.916 11.094 36.107 11.094 L 30.557 11.094 L 30.557 8.48 Z M 56.034 22.045 L 56.034 0 L 48.082 0 L 48.082 31 L 56.034 31 Z M 77.934 20.834 C 76.568 22.2 74.681 23.046 72.599 23.046 C 68.438 23.046 65.051 19.66 65.051 15.498 C 65.051 11.337 68.438 7.951 72.599 7.951 C 74.681 7.951 76.568 8.797 77.934 10.163 L 83.559 4.539 C 80.755 1.735 76.88 0 72.599 0 C 64.039 0 57.101 6.94 57.101 15.5 C 57.101 24.06 64.041 31 72.601 31 C 76.882 31 80.757 29.265 83.561 26.46 L 77.936 20.835 Z M 126.008 22.045 L 126.008 0 L 118.056 0 L 118.056 31 L 126.008 31 Z M 112.316 18.183 C 114.971 16.473 116.749 13.352 116.749 9.786 C 116.749 4.382 112.669 0 107.637 0 L 92.578 0 L 92.578 31 L 100.53 31 L 100.53 19.573 L 103.924 19.573 L 109.042 31 L 118.056 31 L 112.316 18.185 Z M 106.081 11.094 L 100.53 11.094 L 100.53 8.48 L 106.081 8.48 C 106.891 8.48 107.548 9.067 107.548 9.788 C 107.548 10.509 106.889 11.096 106.081 11.096 Z M 170.587 20.834 C 169.221 22.2 167.334 23.046 165.252 23.046 C 161.091 23.046 157.704 19.66 157.704 15.498 C 157.704 11.337 161.091 7.951 165.252 7.951 C 167.334 7.951 169.221 8.797 170.587 10.163 L 176.212 4.539 C 173.407 1.735 169.533 0 165.252 0 C 156.692 0 149.752 6.94 149.752 15.5 C 149.752 24.06 156.692 31 165.252 31 C 169.533 31 173.408 29.265 176.212 26.46 L 170.587 20.835 Z M 172.803 15.5 C 172.803 17.432 172.067 19.366 170.597 20.837 C 167.654 23.779 162.865 23.779 159.922 20.837 C 156.979 17.894 156.979 13.105 159.922 10.162 C 161.394 8.69 163.326 7.955 165.258 7.955 L 165.258 0 C 161.291 0 157.324 1.513 154.299 4.54 C 148.246 10.593 148.246 20.407 154.299 26.46 C 160.352 32.513 170.165 32.513 176.218 26.46 C 179.244 23.434 180.758 19.467 180.758 15.5 Z M 135.636 8.479 L 135.636 11.093 L 147.445 11.093 L 147.445 19.573 L 135.636 19.573 L 135.636 22.045 L 150.288 22.045 L 150.288 30.998 L 127.683 30.998 L 127.683 0 L 150.288 0 L 150.288 8.479 Z M 225.565 18.183 C 228.219 16.473 229.998 13.352 229.998 9.786 C 229.998 4.382 225.917 0 220.886 0 L 205.826 0 L 205.826 31 L 213.778 31 L 213.778 19.573 L 217.172 19.573 L 222.29 31 L 231.304 31 L 225.565 18.185 Z M 219.329 11.094 L 213.778 11.094 L 213.778 8.48 L 219.329 8.48 C 220.139 8.48 220.797 9.067 220.797 9.788 C 220.797 10.509 220.137 11.096 219.329 11.096 Z M 189.49 8.479 L 189.49 11.093 L 201.299 11.093 L 201.299 19.573 L 189.49 19.573 L 189.49 22.045 L 204.143 22.045 L 204.143 30.998 L 181.538 30.998 L 181.538 0 L 204.143 0 L 204.143 8.479 Z M 165.245 12.05 L 180.745 12.05 L 180.745 15.58 C 180.745 18.02 178.763 20.001 176.324 20.001 L 165.246 20.001 L 165.246 12.049 Z\" fill=\"transparent\" height=\"31px\" id=\"xseyXJquU\" width=\"231.30388032253177px\"><path d=\"M 24.974 19.573 L 33.95 19.573 L 39.068 31 L 48.082 31 L 42.343 18.185 C 44.998 16.474 46.776 13.354 46.776 9.788 C 46.776 4.382 42.696 0 37.664 0 L 0 0 L 0 31 L 36.404 31 L 32.269 22.045 L 7.952 22.045 L 7.952 19.573 L 19.761 19.573 L 19.761 11.094 L 7.952 11.094 L 7.952 8.48 L 22.604 8.48 L 22.604 19.574 L 24.974 19.574 Z M 30.557 8.479 L 36.107 8.479 C 36.917 8.479 37.575 9.065 37.575 9.786 C 37.575 10.507 36.916 11.094 36.107 11.094 L 30.557 11.094 L 30.557 8.48 Z M 56.034 22.045 L 56.034 0 L 48.082 0 L 48.082 31 L 56.034 31 Z M 77.934 20.834 C 76.568 22.2 74.681 23.046 72.599 23.046 C 68.438 23.046 65.051 19.66 65.051 15.498 C 65.051 11.337 68.438 7.951 72.599 7.951 C 74.681 7.951 76.568 8.797 77.934 10.163 L 83.559 4.539 C 80.755 1.735 76.88 0 72.599 0 C 64.039 0 57.101 6.94 57.101 15.5 C 57.101 24.06 64.041 31 72.601 31 C 76.882 31 80.757 29.265 83.561 26.46 L 77.936 20.835 Z M 126.008 22.045 L 126.008 0 L 118.056 0 L 118.056 31 L 126.008 31 Z M 112.316 18.183 C 114.971 16.473 116.749 13.352 116.749 9.786 C 116.749 4.382 112.669 0 107.637 0 L 92.578 0 L 92.578 31 L 100.53 31 L 100.53 19.573 L 103.924 19.573 L 109.042 31 L 118.056 31 L 112.316 18.185 Z M 106.081 11.094 L 100.53 11.094 L 100.53 8.48 L 106.081 8.48 C 106.891 8.48 107.548 9.067 107.548 9.788 C 107.548 10.509 106.889 11.096 106.081 11.096 Z M 170.587 20.834 C 169.221 22.2 167.334 23.046 165.252 23.046 C 161.091 23.046 157.704 19.66 157.704 15.498 C 157.704 11.337 161.091 7.951 165.252 7.951 C 167.334 7.951 169.221 8.797 170.587 10.163 L 176.212 4.539 C 173.407 1.735 169.533 0 165.252 0 C 156.692 0 149.752 6.94 149.752 15.5 C 149.752 24.06 156.692 31 165.252 31 C 169.533 31 173.408 29.265 176.212 26.46 L 170.587 20.835 Z\" fill=\"var(--11vqbow, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)))\" height=\"31px\" id=\"tkDSAfD_F\" width=\"176.21217437660982px\"/><path d=\"M 23.044 15.5 C 23.044 17.432 22.308 19.366 20.838 20.837 C 17.895 23.779 13.106 23.779 10.163 20.837 C 7.22 17.894 7.22 13.105 10.163 10.162 C 11.635 8.69 13.567 7.955 15.5 7.955 L 15.5 0 C 11.533 0 7.566 1.513 4.54 4.54 C -1.513 10.593 -1.513 20.407 4.54 26.46 C 10.593 32.513 20.406 32.513 26.459 26.46 C 29.485 23.434 31 19.467 31 15.5 Z\" fill=\"var(--11vqbow, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)))\" height=\"30.999622907746197px\" id=\"dmf8xFoB3\" transform=\"translate(149.759 0)\" width=\"30.99962290774613px\"/><path d=\"M 7.952 8.479 L 7.952 11.093 L 19.761 11.093 L 19.761 19.573 L 7.952 19.573 L 7.952 22.045 L 22.604 22.045 L 22.604 30.998 L 0 30.998 L 0 0 L 22.604 0 L 22.604 8.479 Z M 97.881 18.183 C 100.536 16.473 102.314 13.352 102.314 9.786 C 102.314 4.382 98.234 0 93.202 0 L 78.143 0 L 78.143 31 L 86.095 31 L 86.095 19.573 L 89.489 19.573 L 94.606 31 L 103.62 31 L 97.881 18.185 Z M 91.646 11.094 L 86.095 11.094 L 86.095 8.48 L 91.646 8.48 C 92.455 8.48 93.113 9.067 93.113 9.788 C 93.113 10.509 92.454 11.096 91.646 11.096 Z M 61.807 8.479 L 61.807 11.093 L 73.616 11.093 L 73.616 19.573 L 61.807 19.573 L 61.807 22.045 L 76.459 22.045 L 76.459 30.998 L 53.855 30.998 L 53.855 0 L 76.459 0 L 76.459 8.479 Z M 37.561 12.05 L 53.061 12.05 L 53.061 15.58 C 53.061 18.02 51.079 20.001 48.64 20.001 L 37.563 20.001 L 37.563 12.049 Z\" fill=\"var(--11vqbow, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)))\" height=\"31px\" id=\"FOaKeqBPe\" transform=\"translate(127.683 0)\" width=\"103.62042390163333px\"/></g></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fillColour,height,id,width,...props})=>{return{...props,ebrCsBv0q:fillColour??props.ebrCsBv0q??\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ebrCsBv0q,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-cgZHH\",className),layoutId:layoutId,ref:ref,style:{\"--11vqbow\":ebrCsBv0q,...style}});});const css=[`.framer-cgZHH { -webkit-mask: ${mask}; aspect-ratio: 7.483870967741935; background-color: var(--11vqbow); mask: ${mask}; width: 232px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 232\n * @framerIntrinsicHeight 31\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ebrCsBv0q\":\"fillColour\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Full Custom\",\"color\":{\"type\":\"variable\",\"value\":\"11vqbow\"},\"set\":{\"localId\":\"vectorSet/Cuz0DVhNU\",\"id\":\"Cuz0DVhNU\",\"moduleId\":\"asa68FhxEaSUARDyM7Lk\"}}\n */const Icon=withCSS(Component,css,\"framer-cgZHH\");Icon.displayName=\"Full Custom\";export default Icon;addPropertyControls(Icon,{ebrCsBv0q:{defaultValue:'var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) /* {\"name\":\"Pure Black\"} */',hidden:false,title:\"Fill Colour\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"31\",\"framerVector\":\"{\\\"name\\\":\\\"Full Custom\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"11vqbow\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/Cuz0DVhNU\\\",\\\"id\\\":\\\"Cuz0DVhNU\\\",\\\"moduleId\\\":\\\"asa68FhxEaSUARDyM7Lk\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"232\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"ebrCsBv0q\\\":\\\"fillColour\\\"}\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (07ac007)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"hdz26G33u\",\"K7l06LBpS\",\"pqvU5khGG\"];const serializationHash=\"framer-Ajc9R\";const variantClassNames={hdz26G33u:\"framer-v-zg2046\",K7l06LBpS:\"framer-v-ovz2qz\",pqvU5khGG:\"framer-v-b5u0of\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const Wt2MHfd4t=undefined;const transition1={delay:0,duration:.1,ease:[.44,0,.56,1],type:\"tween\"};const transition2={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};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 humanReadableVariantMap={\"X button\":\"pqvU5khGG\",Animation:\"K7l06LBpS\",Default:\"hdz26G33u\"};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"hdz26G33u\",Wt2MHfd4t:click??props.Wt2MHfd4t};};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,Wt2MHfd4t,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"hdz26G33u\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1jctqc3=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(Wt2MHfd4t){const res=await Wt2MHfd4t(...args);if(res===false)return false;}setVariant(\"K7l06LBpS\");});const onTap1ofqiax=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(Wt2MHfd4t){const res=await Wt2MHfd4t(...args);if(res===false)return false;}});const onAppears8082r=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"pqvU5khGG\",true),200);});const onTap1ox98wv=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(Wt2MHfd4t){const res=await Wt2MHfd4t(...args);if(res===false)return false;}setVariant(\"hdz26G33u\");});useOnVariantChange(baseVariant,{K7l06LBpS:onAppears8082r});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-zg2046\",className,classNames),\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"hdz26G33u\",onTap:onTap1jctqc3,ref:refBinding,style:{...style},...addPropertyOverrides({K7l06LBpS:{\"data-framer-name\":\"Animation\",onTap:onTap1ofqiax},pqvU5khGG:{\"data-framer-name\":\"X button\",onTap:onTap1ox98wv}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-7ydv34\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"XpxR0VbJo\",style:{backgroundColor:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8}})}),/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-s2ihe2\",\"data-framer-name\":\"Middle\",layoutDependency:layoutDependency,layoutId:\"MhMLlopsv\",style:{backgroundColor:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,rotate:0},variants:{pqvU5khGG:{rotate:-45}}})}),/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1um9vyf\",\"data-framer-name\":\"Middle 2\",layoutDependency:layoutDependency,layoutId:\"UCek2svWw\",style:{backgroundColor:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,rotate:0},variants:{pqvU5khGG:{rotate:45}}})}),/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-weta9p\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"lCS3iFGVE\",style:{backgroundColor:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8}})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Ajc9R.framer-k8jt3n, .framer-Ajc9R .framer-k8jt3n { display: block; }\",\".framer-Ajc9R.framer-zg2046 { cursor: pointer; height: 32px; overflow: visible; position: relative; width: 32px; }\",\".framer-Ajc9R .framer-7ydv34 { bottom: 5px; flex: none; height: 3px; left: calc(50.00000000000002% - 26px / 2); overflow: hidden; position: absolute; width: 26px; will-change: var(--framer-will-change-override, transform); }\",\".framer-Ajc9R .framer-s2ihe2, .framer-Ajc9R .framer-1um9vyf { flex: none; height: 3px; left: calc(50.00000000000002% - 26px / 2); overflow: hidden; position: absolute; top: calc(50.00000000000002% - 3px / 2); width: 26px; will-change: var(--framer-will-change-override, transform); }\",\".framer-Ajc9R .framer-weta9p { flex: none; height: 3px; left: calc(50.00000000000002% - 26px / 2); overflow: hidden; position: absolute; top: 5px; width: 26px; will-change: var(--framer-will-change-override, transform); }\",\".framer-Ajc9R.framer-v-ovz2qz .framer-7ydv34, .framer-Ajc9R.framer-v-ovz2qz .framer-weta9p { left: calc(50.00000000000002% - 1px / 2); width: 1px; }\",\".framer-Ajc9R.framer-v-b5u0of .framer-7ydv34, .framer-Ajc9R.framer-v-b5u0of .framer-weta9p { left: calc(50.00000000000002% - 0% / 2); width: 0%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 32\n * @framerIntrinsicWidth 32\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"K7l06LBpS\":{\"layout\":[\"fixed\",\"fixed\"]},\"pqvU5khGG\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"Wt2MHfd4t\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerK99UTH7P9=withCSS(Component,css,\"framer-Ajc9R\");export default FramerK99UTH7P9;FramerK99UTH7P9.displayName=\"Hamburger\";FramerK99UTH7P9.defaultProps={height:32,width:32};addPropertyControls(FramerK99UTH7P9,{variant:{options:[\"hdz26G33u\",\"K7l06LBpS\",\"pqvU5khGG\"],optionTitles:[\"Default\",\"Animation\",\"X button\"],title:\"Variant\",type:ControlType.Enum},Wt2MHfd4t:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerK99UTH7P9,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerK99UTH7P9\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"K7l06LBpS\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"pqvU5khGG\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"32\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"32\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"Wt2MHfd4t\\\":\\\"click\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./K99UTH7P9.map","// Generated by Framer (0ea0c8c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,Instance,Link,ResolveLinks,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useRouter,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import CopyrightText from\"https://framerusercontent.com/modules/Q8sxmTkcG0TlWSYtaQCy/kuBVWw6wxOXdIUg8nFux/SmartCopyright.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/uadJrxYGkPoW3We5krt3/PBfrP1ixMmZ3sPHyfmBd/aeia6EfXe.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/qJkROjhJ6rE2FDG3gXD1/pYeRcA8YVsb2g82oZGqo/kqeVIxQw1.js\";import FullWhite from\"https://framerusercontent.com/modules/1TEsWHnehb9nbTtaAKQR/63YnWhJeli3outvqDZzU/Bj6x3iuTk.js\";import FullCustom from\"https://framerusercontent.com/modules/J0Zyt8a74XVcnaEnxazv/DNW8J3GnPvz6IomxMtPN/nXmpQe8Pp.js\";import HoverText from\"https://framerusercontent.com/modules/SQnbl5UZ1bQyrEtehHl1/c0QTZnEJSxRhZc5x4rr3/a_I9bZcsR.js\";import Hamburger from\"https://framerusercontent.com/modules/rkf8MUxenkTiPajSwmTq/bziGhKq9sdHmg45EZW9r/K99UTH7P9.js\";const InstanceWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(Instance));const RichTextWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(RichText));const HoverTextFonts=getFonts(HoverText);const SmartComponentScopedContainerWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(SmartComponentScopedContainer));const HamburgerFonts=getFonts(Hamburger);const CopyrightTextFonts=getFonts(CopyrightText);const cycleOrder=[\"pxPudaAdV\",\"bRDdJyl9p\",\"zyOY2J7d2\",\"COW_fdeHw\"];const serializationHash=\"framer-3VYdV\";const variantClassNames={bRDdJyl9p:\"framer-v-1fs706k\",COW_fdeHw:\"framer-v-1fg5ael\",pxPudaAdV:\"framer-v-65lbjp\",zyOY2J7d2:\"framer-v-1j8jv28\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:0,delay:0,duration:2,type:\"spring\"};const transition2={bounce:0,delay:0,duration:3,type:\"spring\"};const transition3={bounce:0,delay:0,duration:1,type:\"spring\"};const transition4={bounce:0,delay:0,duration:.4,type:\"spring\"};const animation={opacity:.8,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition4,y:-2};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition4,x:0,y:0};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-200,y:0};const transition5={bounce:.2,delay:0,duration:.4,type:\"spring\"};const animation3={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition5,x:0,y:0};const animation4={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition6={bounce:0,delay:.25,duration:.4,type:\"spring\"};const animation5={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition6,x:0,y:0};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 transition7={bounce:0,delay:.25,duration:.6,type:\"spring\"};const animation6={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition7,x:0,y:0};const animation7={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:70};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const animation8={opacity:1,rotate:0,rotateX:0,rotateY:-180,scale:1,skewX:0,skewY:0,x:0,y:0};const transition8={bounce:0,delay:.5,duration:.6,type:\"spring\"};const animation9={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition8,x:0,y:0};const transition9={bounce:0,delay:.75,duration:.6,type:\"spring\"};const animation10={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition9,x:0,y:0};const transition10={bounce:0,delay:1,duration:.6,type:\"spring\"};const animation11={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition10,x:0,y:0};const humanReadableVariantMap={\"Mobile Closed\":\"COW_fdeHw\",\"Mobile Open\":\"zyOY2J7d2\",Desktop:\"pxPudaAdV\",Variant:\"bRDdJyl9p\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"pxPudaAdV\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"pxPudaAdV\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppear1ftudmk=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"pxPudaAdV\",true),1e3);});const onTap1pgsd6a=activeVariantCallback(async(...args)=>{setVariant(\"COW_fdeHw\");});const Wt2MHfd4t1pgsd6a=activeVariantCallback(async(...args)=>{setVariant(\"COW_fdeHw\");});const Wt2MHfd4tv8ctnt=activeVariantCallback(async(...args)=>{setVariant(\"zyOY2J7d2\");});useOnVariantChange(baseVariant,{bRDdJyl9p:onAppear1ftudmk});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"zyOY2J7d2\",\"COW_fdeHw\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if([\"bRDdJyl9p\",\"zyOY2J7d2\",\"COW_fdeHw\"].includes(baseVariant))return false;return true;};const router=useRouter();const isDisplayed2=()=>{if([\"zyOY2J7d2\",\"COW_fdeHw\"].includes(baseVariant))return true;return false;};const isDisplayed3=()=>{if(baseVariant===\"COW_fdeHw\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({bRDdJyl9p:{value:transition2},COW_fdeHw:{value:transition3},zyOY2J7d2:{value:transition3}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-65lbjp\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"pxPudaAdV\",ref:refBinding,style:{backgroundColor:\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\",...style},variants:{COW_fdeHw:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},...addPropertyOverrides({bRDdJyl9p:{\"data-framer-name\":undefined,\"data-highlight\":true},COW_fdeHw:{\"data-framer-name\":\"Mobile Closed\"},zyOY2J7d2:{\"data-framer-name\":\"Mobile Open\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-v32l6q\",layoutDependency:layoutDependency,layoutId:\"ukAY9_3JK\",style:{backgroundColor:\"rgba(0, 0, 0, 0)\"},variants:{COW_fdeHw:{backgroundColor:\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\"},zyOY2J7d2:{backgroundColor:\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\"}},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-19dfi6q\",layoutDependency:layoutDependency,layoutId:\"Ha0WoCC7J\",children:[/*#__PURE__*/_jsx(Transition,{value:transition4,children:/*#__PURE__*/_jsx(Link,{href:{hash:\":F8NF86HkK\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"INQhs9Smn\",openInNewTab:false,scopeId:\"KtpduPimO\",smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-134wra8 framer-16b5qxe\",layoutDependency:layoutDependency,layoutId:\"INQhs9Smn\",whileHover:animation,...addPropertyOverrides({COW_fdeHw:{\"data-highlight\":true,onTap:onTap1pgsd6a},zyOY2J7d2:{\"data-highlight\":true,onTap:onTap1pgsd6a}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(InstanceWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,animated:true,className:\"framer-1f0jux1\",Component:FullCustom,\"data-framer-appear-id\":\"1f0jux1\",initial:animation2,layoutDependency:layoutDependency,layoutId:\"XSlWpy9bd\",optimized:true,style:{\"--11vqbow\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},...addPropertyOverrides({bRDdJyl9p:{animate:animation3,initial:animation4},COW_fdeHw:{Component:FullWhite},zyOY2J7d2:{Component:FullWhite}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation5,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UmVkIEhhdCBEaXNwbGF5LXJlZ3VsYXI=\",\"--framer-font-family\":'\"Red Hat Display\", \"Red Hat Display Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on\",\"--framer-font-size\":\"300px\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"0.8em\",\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:\"GRAPHIC DESIGNER\"})}),className:\"framer-me2nbg\",\"data-framer-appear-id\":\"me2nbg\",fonts:[\"FS;Red Hat Display-regular\"],initial:animation2,layoutDependency:layoutDependency,layoutId:\"NmZHtPxLh\",optimized:true,style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",viewBox:\"0 0 2788 240\",withExternalLayout:true,...addPropertyOverrides({bRDdJyl9p:{animate:animation3,initial:animation4}},baseVariant,gestureVariant)})]})})}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1l7d83w\",layoutDependency:layoutDependency,layoutId:\"f3JohKWWv\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":F8NF86HkK\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,y:(componentViewport?.y||0)+0+0+30+0+6,children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation6,className:\"framer-1dx0sjo-container\",\"data-framer-appear-id\":\"1dx0sjo\",initial:animation7,layoutDependency:layoutDependency,layoutId:\"M3zrQ5rfC-container\",nodeId:\"M3zrQ5rfC\",optimized:true,rendersWithMotion:true,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(HoverText,{ApFTTENyu:\"HOME\",GBBt6k6a5:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",height:\"100%\",id:\"M3zrQ5rfC\",layoutId:\"M3zrQ5rfC\",Q1Z4uPuzm:14,variant:matchVariant(\"JfMX_eL0_\"),width:\"100%\",XWh9jJEig:resolvedLinks[0]})})})}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation3,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1ajoe9w\",\"data-styles-preset\":\"kqeVIxQw1\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:\"/\"})}),className:\"framer-f25pbh\",\"data-framer-appear-id\":\"f25pbh\",fonts:[\"Inter\"],initial:animation8,layoutDependency:layoutDependency,layoutId:\"y55glN6xO\",optimized:true,style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":Qj0rc4ZRz\",webPageId:\"ii1_kwtAR\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,y:(componentViewport?.y||0)+0+0+30+0+6,children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation9,className:\"framer-jy3pd1-container\",\"data-framer-appear-id\":\"jy3pd1\",initial:animation7,layoutDependency:layoutDependency,layoutId:\"HqSvxDiUt-container\",nodeId:\"HqSvxDiUt\",optimized:true,rendersWithMotion:true,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(HoverText,{ApFTTENyu:\"WORK\",GBBt6k6a5:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",height:\"100%\",id:\"HqSvxDiUt\",layoutId:\"HqSvxDiUt\",Q1Z4uPuzm:14,variant:matchVariant(\"JfMX_eL0_\"),width:\"100%\",XWh9jJEig:resolvedLinks1[0]})})})}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation3,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1ajoe9w\",\"data-styles-preset\":\"kqeVIxQw1\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:\"/\"})}),className:\"framer-195yijl\",\"data-framer-appear-id\":\"195yijl\",fonts:[\"Inter\"],initial:animation8,layoutDependency:layoutDependency,layoutId:\"DZlwG8O16\",optimized:true,style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":Vspu2htge\",webPageId:\"v8KTaUsEa\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,y:(componentViewport?.y||0)+0+0+30+0+6,children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation10,className:\"framer-h0amk0-container\",\"data-framer-appear-id\":\"h0amk0\",initial:animation7,layoutDependency:layoutDependency,layoutId:\"CPg8oFaSe-container\",nodeId:\"CPg8oFaSe\",optimized:true,rendersWithMotion:true,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(HoverText,{ApFTTENyu:\"ABOUT\",GBBt6k6a5:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",height:\"100%\",id:\"CPg8oFaSe\",layoutId:\"CPg8oFaSe\",Q1Z4uPuzm:14,variant:matchVariant(\"JfMX_eL0_\"),width:\"100%\",XWh9jJEig:resolvedLinks2[0]})})})}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation3,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1ajoe9w\",\"data-styles-preset\":\"kqeVIxQw1\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:\"/\"})}),className:\"framer-l81x0r\",\"data-framer-appear-id\":\"l81x0r\",fonts:[\"Inter\"],initial:animation8,layoutDependency:layoutDependency,layoutId:\"UWOioW4Nn\",optimized:true,style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"AbRMaxAll\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:14,y:(componentViewport?.y||0)+0+0+30+0+6,children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation11,className:\"framer-6zp1n1-container\",\"data-framer-appear-id\":\"6zp1n1\",initial:animation7,layoutDependency:layoutDependency,layoutId:\"cVbOrTWzp-container\",nodeId:\"cVbOrTWzp\",optimized:true,rendersWithMotion:true,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(HoverText,{ApFTTENyu:\"CONTACT\",GBBt6k6a5:\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",height:\"100%\",id:\"cVbOrTWzp\",layoutId:\"cVbOrTWzp\",Q1Z4uPuzm:14,variant:matchVariant(\"JfMX_eL0_\"),width:\"100%\",XWh9jJEig:resolvedLinks3[0]})})})})]})]}),isDisplayed2()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({COW_fdeHw:{height:32,width:\"32px\",y:(componentViewport?.y||0)+0+0+(20+(Math.max(0,((componentViewport?.height||85)-0-1)/1)*1-40-32)/2)},zyOY2J7d2:{height:32,width:\"32px\",y:(componentViewport?.y||0)+0+0+26.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-8ilyrt-container\",layoutDependency:layoutDependency,layoutId:\"CyvieeRCg-container\",nodeId:\"CyvieeRCg\",rendersWithMotion:true,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(Hamburger,{height:\"100%\",id:\"CyvieeRCg\",layoutId:\"CyvieeRCg\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"hdz26G33u\"),width:\"100%\",...addPropertyOverrides({COW_fdeHw:{Wt2MHfd4t:Wt2MHfd4tv8ctnt},zyOY2J7d2:{variant:matchVariant(\"K7l06LBpS\"),Wt2MHfd4t:Wt2MHfd4t1pgsd6a}},baseVariant,gestureVariant)})})})]}),isDisplayed2()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-19j0cg3\",layoutDependency:layoutDependency,layoutId:\"SRjUwP517\",style:{backdropFilter:\"blur(10px)\",background:\"linear-gradient(180deg, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) 52.9420045045045%, rgba(255, 255, 255, 0) 100%)\",backgroundColor:\"rgba(0, 0, 0, 0)\",WebkitBackdropFilter:\"blur(10px)\"},variants:{COW_fdeHw:{background:\"linear-gradient(180deg, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) 0%, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) 100%)\",backgroundColor:\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\"},zyOY2J7d2:{background:\"linear-gradient(180deg, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) 0%, var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)) 100%)\",backgroundColor:\"var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0))\"}},...addPropertyOverrides({zyOY2J7d2:{\"data-highlight\":true,onTap:onTap1pgsd6a}},baseVariant,gestureVariant),children:isDisplayed3()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1l4vmh0\",layoutDependency:layoutDependency,layoutId:\"pLc39_NoB\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-103wmuz\",layoutDependency:layoutDependency,layoutId:\"zSWFZ3om4\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":F8NF86HkK\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"jfX56eKtQ\",openInNewTab:false,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-tnbvmz framer-16b5qxe\",\"data-border\":true,layoutDependency:layoutDependency,layoutId:\"jfX56eKtQ\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UmVkIEhhdCBEaXNwbGF5LXJlZ3VsYXI=\",\"--framer-font-family\":'\"Red Hat Display\", \"Red Hat Display Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on\",\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"gemdBHcCw\",openInNewTab:false,relValues:[],scopeId:\"KtpduPimO\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qgw5ru\",\"data-styles-preset\":\"aeia6EfXe\",children:\"HOME\"})})})}),className:\"framer-ck3ul5\",fonts:[\"FS;Red Hat Display-regular\"],layoutDependency:layoutDependency,layoutId:\"gemdBHcCw\",style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ii1_kwtAR\"},motionChild:true,nodeId:\"Sm3wzMwXT\",openInNewTab:false,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-wnq1x8 framer-16b5qxe\",\"data-border\":true,layoutDependency:layoutDependency,layoutId:\"Sm3wzMwXT\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UmVkIEhhdCBEaXNwbGF5LXJlZ3VsYXI=\",\"--framer-font-family\":'\"Red Hat Display\", \"Red Hat Display Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on\",\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ii1_kwtAR\"},motionChild:true,nodeId:\"naLcO3WZy\",openInNewTab:false,relValues:[],scopeId:\"KtpduPimO\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qgw5ru\",\"data-styles-preset\":\"aeia6EfXe\",children:\"WORKS\"})})})}),className:\"framer-o8fr6e\",fonts:[\"FS;Red Hat Display-regular\"],layoutDependency:layoutDependency,layoutId:\"naLcO3WZy\",style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"v8KTaUsEa\"},motionChild:true,nodeId:\"bhmF22X5a\",openInNewTab:false,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1kichv3 framer-16b5qxe\",\"data-border\":true,layoutDependency:layoutDependency,layoutId:\"bhmF22X5a\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UmVkIEhhdCBEaXNwbGF5LXJlZ3VsYXI=\",\"--framer-font-family\":'\"Red Hat Display\", \"Red Hat Display Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on\",\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"v8KTaUsEa\"},motionChild:true,nodeId:\"mnb5lJ47Z\",openInNewTab:false,relValues:[],scopeId:\"KtpduPimO\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qgw5ru\",\"data-styles-preset\":\"aeia6EfXe\",children:\"ABOUT\"})})})}),className:\"framer-1intsde\",fonts:[\"FS;Red Hat Display-regular\"],layoutDependency:layoutDependency,layoutId:\"mnb5lJ47Z\",style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"AbRMaxAll\"},motionChild:true,nodeId:\"Gbfheiwba\",openInNewTab:false,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-10u2ghz framer-16b5qxe\",\"data-border\":true,layoutDependency:layoutDependency,layoutId:\"Gbfheiwba\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:999,borderBottomRightRadius:999,borderTopLeftRadius:999,borderTopRightRadius:999},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UmVkIEhhdCBEaXNwbGF5LXJlZ3VsYXI=\",\"--framer-font-family\":'\"Red Hat Display\", \"Red Hat Display Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on\",\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"AbRMaxAll\"},motionChild:true,nodeId:\"xMJ7Vmy_I\",openInNewTab:false,relValues:[],scopeId:\"KtpduPimO\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1qgw5ru\",\"data-styles-preset\":\"aeia6EfXe\",children:\"CONTACT\"})})})}),className:\"framer-5fm38e\",fonts:[\"FS;Red Hat Display-regular\"],layoutDependency:layoutDependency,layoutId:\"xMJ7Vmy_I\",style:{\"--extracted-1eung3n\":\"var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true})})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-2t7tlh-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"FNMsS3Y6f-container\",nodeId:\"FNMsS3Y6f\",rendersWithMotion:true,scopeId:\"KtpduPimO\",children:/*#__PURE__*/_jsx(CopyrightText,{color:\"rgb(255, 255, 255)\",font:{fontFamily:'\"Red Hat Display\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:900,letterSpacing:\"0.02em\",lineHeight:\"1em\"},height:\"100%\",id:\"FNMsS3Y6f\",layoutId:\"FNMsS3Y6f\",name:\"ERIC RIEGER\",prefix:\"\",showIcon:true,showName:true,suffix:\"\",width:\"100%\"})})})]})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-3VYdV.framer-16b5qxe, .framer-3VYdV .framer-16b5qxe { display: block; }\",\".framer-3VYdV.framer-65lbjp { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1200px; }\",\".framer-3VYdV .framer-v32l6q { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 30px 40px 20px 40px; position: relative; width: 100%; }\",\".framer-3VYdV .framer-19dfi6q { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-3VYdV .framer-134wra8 { align-content: flex-start; align-items: flex-start; align-self: stretch; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 6px; height: auto; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-3VYdV .framer-1f0jux1 { flex: none; height: var(--framer-aspect-ratio-supported, 18px); position: relative; width: 133px; }\",\".framer-3VYdV .framer-me2nbg { flex: none; height: auto; position: relative; white-space: pre; width: 133px; }\",\".framer-3VYdV .framer-1l7d83w { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 6px 0px 6px 0px; position: relative; width: min-content; }\",\".framer-3VYdV .framer-1dx0sjo-container, .framer-3VYdV .framer-jy3pd1-container, .framer-3VYdV .framer-h0amk0-container, .framer-3VYdV .framer-6zp1n1-container, .framer-3VYdV .framer-2t7tlh-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-3VYdV .framer-f25pbh, .framer-3VYdV .framer-195yijl, .framer-3VYdV .framer-l81x0r, .framer-3VYdV .framer-ck3ul5, .framer-3VYdV .framer-o8fr6e, .framer-3VYdV .framer-1intsde, .framer-3VYdV .framer-5fm38e { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-3VYdV .framer-8ilyrt-container { flex: none; height: 32px; position: relative; width: 32px; z-index: 1; }\",\".framer-3VYdV .framer-19j0cg3 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 300px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-3VYdV .framer-1l4vmh0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; height: calc(var(--framer-viewport-height, 100vh) * 0.86); justify-content: space-between; overflow: hidden; padding: 20px; position: relative; width: 100%; }\",\".framer-3VYdV .framer-103wmuz { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-3VYdV .framer-tnbvmz, .framer-3VYdV .framer-wnq1x8, .framer-3VYdV .framer-1kichv3, .framer-3VYdV .framer-10u2ghz { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 10px; position: relative; text-decoration: none; width: 100%; }\",\".framer-3VYdV.framer-v-1fs706k.framer-65lbjp { min-height: calc(var(--framer-viewport-height, 100vh) * 1); }\",\".framer-3VYdV.framer-v-1fs706k .framer-v32l6q { height: calc(var(--framer-viewport-height, 100vh) * 1); }\",\".framer-3VYdV.framer-v-1fs706k .framer-19dfi6q { flex-direction: column; }\",\".framer-3VYdV.framer-v-1fs706k .framer-134wra8 { align-self: unset; height: 160px; order: 0; }\",\".framer-3VYdV.framer-v-1fs706k .framer-1f0jux1 { height: var(--framer-aspect-ratio-supported, 200px); order: 0; width: 700px; }\",\".framer-3VYdV.framer-v-1fs706k .framer-me2nbg { order: 1; width: 700px; }\",\".framer-3VYdV.framer-v-1j8jv28.framer-65lbjp { gap: 0px; height: 85px; overflow: visible; width: 390px; }\",\".framer-3VYdV.framer-v-1j8jv28 .framer-v32l6q { height: 85px; padding: 20px; }\",\".framer-3VYdV.framer-v-1j8jv28 .framer-134wra8, .framer-3VYdV.framer-v-1fg5ael .framer-134wra8 { cursor: pointer; }\",\".framer-3VYdV.framer-v-1j8jv28 .framer-1f0jux1, .framer-3VYdV.framer-v-1fg5ael .framer-1f0jux1 { height: var(--framer-aspect-ratio-supported, 20px); width: 150px; }\",\".framer-3VYdV.framer-v-1j8jv28 .framer-19j0cg3 { cursor: pointer; height: min-content; justify-content: flex-start; }\",\".framer-3VYdV.framer-v-1j8jv28 .framer-1l4vmh0 { order: 0; }\",\".framer-3VYdV.framer-v-1j8jv28 .framer-103wmuz { height: 220px; }\",\".framer-3VYdV.framer-v-1fg5ael.framer-65lbjp { align-content: flex-end; align-items: flex-end; gap: 0px; height: 85px; width: 390px; }\",\".framer-3VYdV.framer-v-1fg5ael .framer-v32l6q { flex: 1 0 0px; height: 1px; padding: 20px; }\",\".framer-3VYdV.framer-v-1fg5ael .framer-19j0cg3 { height: 1px; justify-content: flex-start; }\",...sharedStyle.css,...sharedStyle1.css,'.framer-3VYdV[data-border=\"true\"]::after, .framer-3VYdV [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 85\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"bRDdJyl9p\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"zyOY2J7d2\":{\"layout\":[\"fixed\",\"fixed\"]},\"COW_fdeHw\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerKtpduPimO=withCSS(Component,css,\"framer-3VYdV\");export default FramerKtpduPimO;FramerKtpduPimO.displayName=\"Navigation Bar\";FramerKtpduPimO.defaultProps={height:85,width:1200};addPropertyControls(FramerKtpduPimO,{variant:{options:[\"pxPudaAdV\",\"bRDdJyl9p\",\"zyOY2J7d2\",\"COW_fdeHw\"],optionTitles:[\"Desktop\",\"Variant\",\"Mobile Open\",\"Mobile Closed\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerKtpduPimO,[{explicitInter:true,fonts:[{cssFamilyName:\"Red Hat Display\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Red Hat Display\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/E52PJYVTUVBJ4GPMC3ESVCHLHEZ27YKB/NFMP7Q5STQUP55VX2D3PLPQGFPMHPMT6/DKDC2XHYR66B5ZTKT2XG7XDSMKXEZIVO.woff2\",weight:\"400\"},{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\"},{cssFamilyName:\"Red Hat Display\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Red Hat Display\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/ZSCEK7S4VBCWIURNDFQ4JMFGVSANTY3E/NU7JB62SOLQOUPO3QU2C52CLGXBBG2WE/EHWSSXP2VWBWZLNGMJRPPQDBKQGP7BTU.woff2\",weight:\"900\"}]},...HoverTextFonts,...HamburgerFonts,...CopyrightTextFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});FramerKtpduPimO.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(HoverText,{},context),forwardLoader(Hamburger,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerKtpduPimO\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"bRDdJyl9p\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"zyOY2J7d2\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"COW_fdeHw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"85\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"1200\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./KtpduPimO.map","// Generated by Framer (0ea0c8c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,Link,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Lenis from\"https://framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/qosszBZXoEqfEMp4XhZk/Lenis.js\";import CopyrightText from\"https://framerusercontent.com/modules/Q8sxmTkcG0TlWSYtaQCy/kuBVWw6wxOXdIUg8nFux/SmartCopyright.js\";import NavigationBar from\"#framer/local/canvasComponent/KtpduPimO/KtpduPimO.js\";import Cursor from\"#framer/local/canvasComponent/oJcmQ5JDT/oJcmQ5JDT.js\";import Vector2 from\"#framer/local/vector/g2kamjH5y/g2kamjH5y.js\";import Vector from\"#framer/local/vector/GS4nFG3iZ/GS4nFG3iZ.js\";import Vector1 from\"#framer/local/vector/z5ij9IZNp/z5ij9IZNp.js\";const NavigationBarFonts=getFonts(NavigationBar);const ContainerWithOptimizedAppearEffect=withOptimizedAppearEffect(Container);const LenisFonts=getFonts(Lenis);const CopyrightTextFonts=getFonts(CopyrightText);const VectorFonts=getFonts(Vector);const Vector1Fonts=getFonts(Vector1);const Vector2Fonts=getFonts(Vector2);const CursorFonts=getFonts(Cursor);const breakpoints={eEXFE83tM:\"(min-width: 810px) and (max-width: 1199.98px)\",Hpf_XVmoi:\"(min-width: 1200px)\",Hq1UPGsI_:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-STkk5\";const variantClassNames={eEXFE83tM:\"framer-v-1cxuqe6\",Hpf_XVmoi:\"framer-v-1109yc0\",Hq1UPGsI_:\"framer-v-xvpvdx\"};const transition1={bounce:0,delay:.5,duration:1,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-85};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={bounce:.2,delay:0,duration:.4,type:\"spring\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,y:-2};const breakpointRules={Hq1UPGsI_:[\".framer-STkk5 .framer-iqyzji { padding: 20px; }\",\".framer-STkk5 .framer-15wok0v { gap: 30px; padding: 0px; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={Hq1UPGsI_:\".framer-xvpvdx-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-STkk5.framer-1v9q72b, .framer-STkk5 .framer-1v9q72b { display: block; }\",\".framer-STkk5.framer-1109yc0 { align-content: center; align-items: center; background-color: var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, #000000); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-STkk5 .framer-hnkmkd-container { flex: none; height: auto; order: -1000; position: sticky; top: 0px; view-transition-name: framer-STkk5-hnkmkd-exclude; width: 100%; will-change: var(--framer-will-change-effect-override, transform); z-index: 5; }\",\"::view-transition-group(framer-STkk5-hnkmkd-exclude), ::view-transition-new(framer-STkk5-hnkmkd-exclude), ::view-transition-old(framer-STkk5-hnkmkd-exclude) { animation: none !important; }\",\".framer-STkk5 .framer-1523242 { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-STkk5 .framer-1xmx43q-container { flex: none; height: auto; order: 1002; position: relative; width: auto; }\",\".framer-STkk5 .framer-iqyzji { align-content: center; align-items: center; background-color: var(--token-3bb6fa5f-2da0-4502-8d21-b4ffd89137d5, #ffffff); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; order: 1003; overflow: visible; padding: 20px 40px 20px 40px; position: relative; width: 100%; z-index: 1; }\",\".framer-STkk5 .framer-1h9lk5a-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-STkk5 .framer-15wok0v { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: 32px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 6px; position: relative; width: min-content; }\",\".framer-STkk5 .framer-1f18zsw, .framer-STkk5 .framer-8l2x3r, .framer-STkk5 .framer-1gtyxsg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 1px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-STkk5 .framer-1izan9y, .framer-STkk5 .framer-1ck307f, .framer-STkk5 .framer-jupw52 { --1xe801h: var(--token-c935d70b-e091-4377-86e9-c1b27057b9b6, #ffffff); aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 18px); position: relative; width: 18px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={eEXFE83tM:\"(min-width: 810px) and (max-width: 1199.98px)\",Hpf_XVmoi:\"(min-width: 1200px)\",Hq1UPGsI_:\"(max-width: 809.98px)\"};const humanReadableVariantMap={Desktop:\"Hpf_XVmoi\",Phone:\"Hq1UPGsI_\",Tablet:\"eEXFE83tM\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"Hpf_XVmoi\"};};const cursor={component:Cursor,variant:\"yQtdsta1t\"};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({cry82f:cursor});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"Hpf_XVmoi\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-150c6e04-d0e6-4cc6-81ec-7c2024369a3b, rgb(0, 0, 0)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1109yc0\",className),\"data-framer-cursor\":\"cry82f\",\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:85,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(ContainerWithOptimizedAppearEffect,{animate:animation,className:\"framer-hnkmkd-container\",\"data-framer-appear-id\":\"hnkmkd\",\"data-framer-cursor\":\"cry82f\",initial:animation1,nodeId:\"t4LDY0mHz\",optimized:true,rendersWithMotion:true,scopeId:\"B5zRZN3BY\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eEXFE83tM:{variant:matchVariant(\"COW_fdeHw\")},Hq1UPGsI_:{variant:matchVariant(\"COW_fdeHw\")}},children:/*#__PURE__*/_jsx(NavigationBar,{height:\"100%\",id:\"t4LDY0mHz\",layoutId:\"t4LDY0mHz\",style:{width:\"100%\"},variant:matchVariant(\"pxPudaAdV\"),width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1523242\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1xmx43q-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"HeDAmG04V\",scopeId:\"B5zRZN3BY\",children:/*#__PURE__*/_jsx(Lenis,{height:\"100%\",id:\"HeDAmG04V\",infinite:false,intensity:12,layoutId:\"HeDAmG04V\",orientation:\"vertical\",smooth:true,width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-iqyzji\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1h9lk5a-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"noJMqeks6\",scopeId:\"B5zRZN3BY\",children:/*#__PURE__*/_jsx(CopyrightText,{color:\"rgb(255, 255, 255)\",font:{fontFamily:'\"Red Hat Display\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:900,letterSpacing:\"0.02em\",lineHeight:\"1em\"},height:\"100%\",id:\"noJMqeks6\",layoutId:\"noJMqeks6\",name:\"ERIC RIEGER\",prefix:\"\",showIcon:true,showName:true,suffix:\"\",width:\"100%\"})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-15wok0v\",children:[/*#__PURE__*/_jsx(Link,{href:\"mailto:ericrieger2001@gmail.com\",motionChild:true,nodeId:\"ac0qusViZ\",openInNewTab:true,relValues:[],scopeId:\"B5zRZN3BY\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1f18zsw framer-1v9q72b\",\"data-framer-name\":\"Hover Reveal\",whileHover:animation2,children:/*#__PURE__*/_jsx(Vector,{animated:false,className:\"framer-1izan9y\",layoutId:\"ZhtLTqb1t\",Yh7ouGOou:true})})}),/*#__PURE__*/_jsx(Link,{href:\"www.linkedin.com/in/eric-rieger/\",motionChild:true,nodeId:\"Sy0ORZveg\",openInNewTab:true,scopeId:\"B5zRZN3BY\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-8l2x3r framer-1v9q72b\",\"data-framer-name\":\"Hover Reveal\",whileHover:animation2,children:/*#__PURE__*/_jsx(Vector1,{animated:false,className:\"framer-1ck307f\",layoutId:\"wj0mXcwqb\",Yh7ouGOou:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.instagram.com/er.graphicdesign/\",motionChild:true,nodeId:\"vrZp_yASC\",openInNewTab:true,scopeId:\"B5zRZN3BY\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1gtyxsg framer-1v9q72b\",\"data-framer-name\":\"Hover Reveal\",whileHover:animation2,children:/*#__PURE__*/_jsx(Vector2,{animated:false,className:\"framer-jupw52\",layoutId:\"fETnp66jO\",Yh7ouGOou:true})})})]})]})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"eEXFE83tM\":{\"layout\":[\"fixed\",\"fixed\"]},\"Hq1UPGsI_\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"Hpf_XVmoi\":[\".framer-hnkmkd-container\",\".framer-1xmx43q-container\",\".framer-iqyzji\"],\"eEXFE83tM\":[\".framer-hnkmkd-container\",\".framer-1xmx43q-container\",\".framer-iqyzji\"],\"Hq1UPGsI_\":[\".framer-hnkmkd-container\",\".framer-1xmx43q-container\",\".framer-iqyzji\"]}\n * @framerBreakpoints {\"Hpf_XVmoi\":{\"min\":1200,\"canvasClassName\":\"framer-1109yc0-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"eEXFE83tM\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-1cxuqe6-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"Hq1UPGsI_\":{\"max\":809,\"canvasClassName\":\"framer-xvpvdx-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant Hpf_XVmoi\n * @framerLayoutTemplate true\n */const FramerB5zRZN3BY=withCSS(Component,css,\"framer-STkk5\");export default FramerB5zRZN3BY;FramerB5zRZN3BY.displayName=\"Header + Footer\";FramerB5zRZN3BY.defaultProps={height:1e3,width:1200};addFonts(FramerB5zRZN3BY,[{explicitInter:true,fonts:[{cssFamilyName:\"Red Hat Display\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Red Hat Display\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/ZSCEK7S4VBCWIURNDFQ4JMFGVSANTY3E/NU7JB62SOLQOUPO3QU2C52CLGXBBG2WE/EHWSSXP2VWBWZLNGMJRPPQDBKQGP7BTU.woff2\",weight:\"900\"}]},...NavigationBarFonts,...LenisFonts,...CopyrightTextFonts,...VectorFonts,...Vector1Fonts,...Vector2Fonts,...CursorFonts],{supportsExplicitInterCodegen:true});FramerB5zRZN3BY.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(NavigationBar,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerB5zRZN3BY\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"1000\",\"framerBreakpoints\":\"{\\\"Hpf_XVmoi\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1109yc0-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"eEXFE83tM\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1cxuqe6-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"Hq1UPGsI_\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-xvpvdx-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerHitTargets\":\"{\\\"Hpf_XVmoi\\\":[\\\".framer-hnkmkd-container\\\",\\\".framer-1xmx43q-container\\\",\\\".framer-iqyzji\\\"],\\\"eEXFE83tM\\\":[\\\".framer-hnkmkd-container\\\",\\\".framer-1xmx43q-container\\\",\\\".framer-iqyzji\\\"],\\\"Hq1UPGsI_\\\":[\\\".framer-hnkmkd-container\\\",\\\".framer-1xmx43q-container\\\",\\\".framer-iqyzji\\\"]}\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"eEXFE83tM\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Hq1UPGsI_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDefaultVariant\":\"Hpf_XVmoi\",\"framerLayoutTemplate\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport HeaderFooter from \"https://framerusercontent.com/modules/5FbovMih5qrtLAOvUR8Q/SCGEZsRtIuQ2MmaxlsuT/B5zRZN3BY.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {F8NF86HkK: \"home-page\", p4X78tQo9: \"about\", Xz3jCQ1RA: \"project\", YKygOa44S: \"info\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9DFvwCx6aeHMKlq5zh0N/i9UoLlrWz1RJai7PefGA/augiA20Il.js\")), path: \"/\"}, AbRMaxAll: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/f2McYxhXJroKOG4IunyF/G1pqj6zsMItQMiRbQHwN/AbRMaxAll.js\")), path: \"/contact\"}, v8KTaUsEa: {elements: {Vspu2htge: \"who-am i\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/092c6O6RuSVlAd3TPr9G/bE4PdwzqS2taVSSYXPLX/v8KTaUsEa.js\")), path: \"/about-me\"}, ii1_kwtAR: {elements: {Qj0rc4ZRz: \"works\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bG0ZnNlYOQKKb7q2Mgps/PZrcxyxRp8Su1ZeaxtNM/ii1_kwtAR.js\")), path: \"/projects\"}, S5BatvXMz: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/SA7uzIGUyVuOpQyWdEEd/8uZkPtPOPcpZ4stTSoCk/S5BatvXMz.js\")), path: \"/404\"}, rTdoODMlx: {collectionId: \"FyFeW_NtL\", elements: {m_LdZRmv5: \"top\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/KA0WZb2XTeHdviE2QycY/6N65SiqFoEpRO4S4qdMV/rTdoODMlx.js\")), path: \"/projects/:nD1o3qv6B\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {FyFeW_NtL: async () => (await import(\"https://framerusercontent.com/modules/sFgEY19Ek7yqDZ8pBF5Y/QVVwV7Kemw0dFGGIsnEU/FyFeW_NtL.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"02960c9c4325267b1b943d140590f8b90140306371c8c5efb226fce028e9b3d8\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"FhUlYMr8W\":\r\ncase \"AbRMaxAll\":\r\ncase \"v8KTaUsEa\":\r\ncase \"ii1_kwtAR\":\r\ncase \"S5BatvXMz\":\r\ncase \"rTdoODMlx\":\r\nreturn React.createElement(HeaderFooter, {...props, key: \"HeaderFooter\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"FhUlYMr8W\":\r\ncase \"AbRMaxAll\":\r\ncase \"v8KTaUsEa\":\r\ncase \"ii1_kwtAR\":\r\ncase \"S5BatvXMz\":\r\ncase \"rTdoODMlx\":\r\nreturn [{hash: \"1109yc0\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"1cxuqe6\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"xvpvdx\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/SA7uzIGUyVuOpQyWdEEd/8uZkPtPOPcpZ4stTSoCk/S5BatvXMz.js\")),\r\n\t\t\t\t\tisReducedMotion: true,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://ergraphicdesign.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/vADckUNqa41vkQuh2iPt/QNnzPNu3ftVQ7Gx6CQcR/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {global: {enter: {mask: {angle: 270, type: \"wipe\", width: \"5%\"}, opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {bounce: 0, damping: 30, delay: 1, duration: 1, durationBasedSpring: true, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"spring\"}, x: \"0px\", y: \"50px\"}, exit: {mask: {angle: 270, type: \"wipe\", width: \"5%\"}, opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {bounce: 0, damping: 30, delay: 0, duration: 1, durationBasedSpring: true, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"spring\"}, x: \"0px\", y: \"0px\"}}, routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}