{"version":3,"file":"script_main.D8ALdU_g.mjs","names":["_Fragment","useState","css","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transformTemplate1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","className","Image","RichText","sharedStyle.css","sharedStyle.fonts","x","d","debounce","className","Component","useRef","_Fragment","Children","useState","useRef","useId","useMemo","center","finalFontSize","textRadius","lucideScale","charAngles","index","GlobeVisual","cx","x","GlobeReal","useCallback","PageWrapperPadding","FooterLink","Lenis","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","getProps","useRef","React.useId","className","Image","Footer2","Navbar","useRef","React.useId","className","React.createElement","Main","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:/framerusercontent.com/modules/9ajhXMTvNHa3o84QkAph/PajmEC9KX2YkEmLmmwER/StopScroll_Prod.js","https:/framerusercontent.com/modules/BIHaw55VACfRKwSgwtj7/G7JGvVhzHUbk6jZsTk1B/Clock.js","https:/framerusercontent.com/modules/gIru1mqml9E1K0Wj2ksc/gUYiwoY16is1WTqmi99Z/rbICbRVFi.js","https:/framerusercontent.com/modules/iAeKfEdehSzy1V4jywpQ/Hkb58LTAFHcXM3BgCKSk/gsKOM0wdL.js","https:/unpkg.com/lenis@1.3.16-framer/dist/lenis.mjs","https:/unpkg.com/lenis@1.3.16-framer/dist/lenis-snap.mjs","https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/2izOeqbrUj0zZvyYkR7d/Lenis.js","https:/framerusercontent.com/modules/rLoX4ATJwSQocTHdOAd8/emefMjGRXdaGFfETGjXv/Arc_Globe.js","https:/framerusercontent.com/modules/YslU9S21vqxAW8PaIyP0/7xruum9fvYJ4mvIIzlgd/nC8sKh_Pw.js","https:/framerusercontent.com/modules/LR9Zgu1ALL8IIH8hVuBq/BLMgzIFIKTDu2FCSNELh/uKiF7DFvV.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function StopScroll(props){const{toggle}=props;return toggle?/*#__PURE__*/_jsx(\"style\",{\"data-frameruni-stop-scroll\":true,children:`body { overflow: hidden !important; }`}):/*#__PURE__*/_jsx(_Fragment,{});}StopScroll.displayName=\"Stop Scroll\";addPropertyControls(StopScroll,{toggle:{type:ControlType.Boolean,title:\"Block Scroll\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StopScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StopScroll_Prod.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Component made by Eleveight Supply, All rights reserved.\n/**\n\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth 100%\n * @framerSupportedLayoutHeight 100%\n */export default function Clock({timezone,is24HourFormat,showSeconds,font,fontSize,textColor,dateSettings:{showDate,dateFormat,datePosition,monthFormat},prefixSuffixSettings:{usePrefixSuffix,text:psText}}){const[currentDateTime,setCurrentDateTime]=useState(\"\");const[isValidTimezone,setIsValidTimezone]=useState(true);useEffect(()=>{function updateDateTime(){try{const now=new Date;const timeOptions={hour:\"2-digit\",minute:\"2-digit\",second:showSeconds?\"2-digit\":undefined,timeZone:timezone,hour12:!is24HourFormat};const dateOptions={year:dateFormat.includes(\"Y\")?\"numeric\":undefined,month:dateFormat.includes(\"M\")?monthFormat===\"text\"?\"long\":\"2-digit\":undefined,day:dateFormat.includes(\"D\")?\"2-digit\":undefined};const timeFormatter=new Intl.DateTimeFormat(\"en-US\",timeOptions);const dateFormatter=new Intl.DateTimeFormat(\"en-US\",dateOptions);const timeString=timeFormatter.format(now);const dateString=showDate?dateFormatter.format(now):\"\";let combinedString=dateString?`${dateString} - ${timeString}`:timeString;if(usePrefixSuffix===\"prefix\"&&psText){combinedString=`${psText} ${combinedString}`;}else if(usePrefixSuffix===\"suffix\"&&psText){combinedString=`${combinedString} ${psText}`;}setCurrentDateTime(combinedString);setIsValidTimezone(true);}catch(error){console.error(\"Error with timezone: \",error);setIsValidTimezone(false);}}updateDateTime();const intervalId=setInterval(updateDateTime,1e3);return()=>clearInterval(intervalId);},[timezone,is24HourFormat,showSeconds,showDate,dateFormat,datePosition,monthFormat,textColor,font,fontSize,usePrefixSuffix,psText]);const dynamicStyle={fontSize:`${fontSize}px`,fontFeatureSettings:\"'tnum'\",fontVariantNumeric:\"lining-nums\",color:textColor,...font};return /*#__PURE__*/_jsx(\"div\",{style:dynamicStyle,children:currentDateTime});}Clock.defaultProps={timezone:\"America/New_York\",is24HourFormat:true,showSeconds:false,dateSettings:{showDate:false,dateFormat:\"DMY\",datePosition:\"prefix\",monthFormat:\"number\"},prefixSuffixSettings:{usePrefixSuffix:\"none\",text:\"\",fontSize:16},textColor:\"#999999\",fontSize:24};addPropertyControls(Clock,{timezone:{type:ControlType.String,title:\"Timezone\",defaultValue:\"America/New_York\",description:\"Use a timezone identifier ie: 'America/Los_Angeles' [Full list here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:\"Inter\",controls:\"extended\"},textColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#999999\"},is24HourFormat:{type:ControlType.Boolean,title:\"Format\",defaultValue:true,enabledTitle:\"24h\",disabledTitle:\"12h\"},showSeconds:{type:ControlType.Boolean,title:\"Seconds\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},prefixSuffixSettings:{type:ControlType.Object,title:\"Prefix/Suffix\",controls:{usePrefixSuffix:{type:ControlType.SegmentedEnum,title:\"Use\",options:[\"none\",\"prefix\",\"suffix\"],optionTitles:[\"None\",\"Pref.\",\"Suff.\"],defaultValue:\"none\"},text:{type:ControlType.String,title:\"Text\",defaultValue:\"\",description:\"include your divider directly here, ie: - , :\"}}},dateSettings:{type:ControlType.Object,title:\"Date\",controls:{showDate:{type:ControlType.Boolean,title:\"Show Date\"},dateFormat:{type:ControlType.Enum,title:\"Format\",options:[\"D\",\"M\",\"DM\",\"DMY\"],optionTitles:[\"Only Day\",\"Only Month\",\"Day and Month\",\"Day, Month and Year\"]},datePosition:{type:ControlType.SegmentedEnum,title:\"Position\",options:[\"prefix\",\"suffix\"],optionTitles:[\"Front\",\"End\"]},monthFormat:{type:ControlType.SegmentedEnum,title:\"Month Format\",options:[\"number\",\"text\"],optionTitles:[\"Numeric\",\"Text\"]}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Clock\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"100%\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"100%\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Clock.map","// Generated by Framer (e491620)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Satoshi-regular\",\"FS;Satoshi-bold\",\"FS;Satoshi-bold italic\",\"FS;Satoshi-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/TTX2Z3BF3P6Y5BQT3IV2VNOK6FL22KUT/7QYRJOI3JIMYHGY6CH7SOIFRQLZOLNJ6/KFIAZD4RUMEZIYV6FQ3T3GP5PDBDB6JY.woff2\",weight:\"400\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LAFFD4SDUCDVQEXFPDC7C53EQ4ZELWQI/PXCT3G6LO6ICM5I3NTYENYPWJAECAWDD/GHM6WVH6MILNYOOCXHXB5GTSGNTMGXZR.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/CDEBEFT2R7XKNGXSBBLZGMY4MMHZG75P/HEVKDGQCYDZ7Z6CDVR2ZQGBCTUD6ZARH/BKWEE3VKGTFABE37K2DTH625VUSN2N35.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/MPIFA4B3XXRNY2MJDGP6GOOOAF6EOCLO/W5E4ZFYPJ3V6JKMBGHB6YMITK6EWS2XA/QOMBWPST76ICDYF6WOBS7SQ7RBT67QW2.woff2\",weight:\"400\"}]}];export const css=['.framer-C5bSz .framer-styles-preset-15hwgrk:not(.rich-text-wrapper), .framer-C5bSz .framer-styles-preset-15hwgrk.rich-text-wrapper p { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'ss07\\' on; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.04em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-412736a6-764a-4748-80bf-a9c04ad63339, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }'];export const className=\"framer-C5bSz\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e491620)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import StopScroll from\"https://framerusercontent.com/modules/9ajhXMTvNHa3o84QkAph/PajmEC9KX2YkEmLmmwER/StopScroll_Prod.js\";import Clock from\"https://framerusercontent.com/modules/BIHaw55VACfRKwSgwtj7/G7JGvVhzHUbk6jZsTk1B/Clock.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/gIru1mqml9E1K0Wj2ksc/gUYiwoY16is1WTqmi99Z/rbICbRVFi.js\";const ClockFonts=getFonts(Clock);const StopScrollFonts=getFonts(StopScroll);const cycleOrder=[\"XYyEUvm1I\",\"YDEExNB3U\",\"k90JaU_QE\",\"FXxa5zSeN\"];const serializationHash=\"framer-uXMKi\";const variantClassNames={FXxa5zSeN:\"framer-v-1p5oebw\",k90JaU_QE:\"framer-v-utjcj\",XYyEUvm1I:\"framer-v-cwkb55\",YDEExNB3U:\"framer-v-165gn3u\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:0,delay:0,duration:.8,type:\"spring\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop Transparent\":\"FXxa5zSeN\",\"Desktop With Background\":\"XYyEUvm1I\",\"Tablet / Mobile Closed\":\"k90JaU_QE\",\"Tablet / Mobile Open\":\"YDEExNB3U\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"XYyEUvm1I\"};};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:\"XYyEUvm1I\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap11jw5a5=activeVariantCallback(async(...args)=>{setVariant(\"k90JaU_QE\");});const onTap17v1fzh=activeVariantCallback(async(...args)=>{setVariant(\"YDEExNB3U\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"YDEExNB3U\",\"k90JaU_QE\"].includes(baseVariant))return true;return false;};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.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-cwkb55\",className,classNames),\"data-framer-name\":\"Desktop With Background\",layoutDependency:layoutDependency,layoutId:\"XYyEUvm1I\",ref:refBinding,style:{backgroundColor:\"var(--token-0df385c8-c6c4-40bb-a008-e6f27b304ae0, rgb(15, 15, 15))\",...style},variants:{FXxa5zSeN:{backgroundColor:\"rgba(15, 15, 15, 0)\"}},...addPropertyOverrides({FXxa5zSeN:{\"data-framer-name\":\"Desktop Transparent\"},k90JaU_QE:{\"data-framer-name\":\"Tablet / Mobile Closed\"},YDEExNB3U:{\"data-framer-name\":\"Tablet / Mobile Open\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ouh0y8\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"rH5gIQqE4\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1grl81i\",\"data-framer-name\":\"Logo & Menu Button Mobile\",layoutDependency:layoutDependency,layoutId:\"dB_rIJJtO\",children:[/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+20),pixelHeight:2307,pixelWidth:11436,sizes:\"84px\",src:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307\",srcSet:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=512&width=11436&height=2307 512w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=1024&width=11436&height=2307 1024w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=2048&width=11436&height=2307 2048w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=4096&width=11436&height=2307 4096w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307 11436w\"},className:\"framer-l1bs3v\",layoutDependency:layoutDependency,layoutId:\"lPn3AWkYZ\",...addPropertyOverrides({k90JaU_QE:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+0+21),pixelHeight:2307,pixelWidth:11436,sizes:\"84px\",src:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307\",srcSet:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=512&width=11436&height=2307 512w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=1024&width=11436&height=2307 1024w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=2048&width=11436&height=2307 2048w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=4096&width=11436&height=2307 4096w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307 11436w\"}},YDEExNB3U:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+0+21),pixelHeight:2307,pixelWidth:11436,sizes:\"84px\",src:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307\",srcSet:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=512&width=11436&height=2307 512w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=1024&width=11436&height=2307 1024w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=2048&width=11436&height=2307 2048w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=4096&width=11436&height=2307 4096w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307 11436w\"}}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-229hv\",\"data-framer-name\":\"Menu Button Mobile\",layoutDependency:layoutDependency,layoutId:\"PfaswfYxg\",...addPropertyOverrides({k90JaU_QE:{\"data-highlight\":true,onTap:onTap17v1fzh},YDEExNB3U:{\"data-highlight\":true,onTap:onTap11jw5a5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-15hwgrk\",\"data-styles-preset\":\"rbICbRVFi\",children:\"Menu\"})}),className:\"framer-1l2jmq1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"nrCKDnd8Z\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ck2oyx\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"gnh8Lrb8v\",children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+7),pixelHeight:1634,pixelWidth:1892,sizes:\"47px\",src:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634\",srcSet:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=512&width=1892&height=1634 512w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=1024&width=1892&height=1634 1024w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634 1892w\"},className:\"framer-1gjh376\",layoutDependency:layoutDependency,layoutId:\"NWxXxouv5\",transformTemplate:transformTemplate1,...addPropertyOverrides({FXxa5zSeN:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+16),pixelHeight:1634,pixelWidth:1892,sizes:\"29px\",src:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634\",srcSet:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=512&width=1892&height=1634 512w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=1024&width=1892&height=1634 1024w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634 1892w\"}},k90JaU_QE:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+58+7),pixelHeight:1634,pixelWidth:1892,sizes:\"47px\",src:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634\",srcSet:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=512&width=1892&height=1634 512w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=1024&width=1892&height=1634 1024w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634 1892w\"}},YDEExNB3U:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+58+7),pixelHeight:1634,pixelWidth:1892,sizes:\"47px\",src:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634\",srcSet:\"https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=512&width=1892&height=1634 512w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?scale-down-to=1024&width=1892&height=1634 1024w,https://framerusercontent.com/images/SXa3rV5Zi7ca9Ec4xdQuut2dOc.png?width=1892&height=1634 1892w\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1jjw1cv\",\"data-framer-name\":\"Clock\",layoutDependency:layoutDependency,layoutId:\"EeyPFz4Au\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-143656r-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"s0vwOD1rV-container\",nodeId:\"s0vwOD1rV\",rendersWithMotion:true,scopeId:\"gsKOM0wdL\",children:/*#__PURE__*/_jsx(Clock,{dateSettings:{dateFormat:\"DMY\",datePosition:\"prefix\",monthFormat:\"number\",showDate:true},font:{fontFamily:'\"Satoshi\", \"Satoshi Placeholder\", sans-serif',fontFeatureSettings:\"'ss07' on\",fontSize:\"15px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.04em\",lineHeight:\"1.2em\"},height:\"100%\",id:\"s0vwOD1rV\",is24HourFormat:true,layoutId:\"s0vwOD1rV\",prefixSuffixSettings:{text:\"CDMX\",usePrefixSuffix:\"none\"},showSeconds:false,textColor:\"rgb(228, 226, 215)\",timezone:\"Europe/Berlin\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1meuhep-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"sReqvoPEZ-container\",nodeId:\"sReqvoPEZ\",rendersWithMotion:true,scopeId:\"gsKOM0wdL\",children:/*#__PURE__*/_jsx(StopScroll,{height:\"100%\",id:\"sReqvoPEZ\",layoutId:\"sReqvoPEZ\",toggle:false,width:\"100%\",...addPropertyOverrides({YDEExNB3U:{toggle:true}},baseVariant,gestureVariant)})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-uXMKi.framer-jgxqb4, .framer-uXMKi .framer-jgxqb4 { display: block; }\",\".framer-uXMKi.framer-cwkb55 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 1200px; }\",\".framer-uXMKi .framer-ouh0y8 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; max-width: 1920px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-uXMKi .framer-1grl81i { 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: hidden; padding: 20px; position: relative; width: 1px; z-index: 2; }\",\".framer-uXMKi .framer-l1bs3v { flex: none; height: 16px; overflow: visible; position: relative; width: 84px; }\",\".framer-uXMKi .framer-229hv { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 4px; height: 18px; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-uXMKi .framer-1l2jmq1 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-uXMKi .framer-1ck2oyx { flex: none; height: 58px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 63px; }\",\".framer-uXMKi .framer-1gjh376 { aspect-ratio: 1.0681818181818181 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 44px); left: 51%; overflow: visible; position: absolute; top: 7px; width: 75%; }\",\".framer-uXMKi .framer-1jjw1cv { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-end; overflow: hidden; padding: 20px; position: relative; width: 1px; z-index: 2; }\",\".framer-uXMKi .framer-143656r-container, .framer-uXMKi .framer-1meuhep-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-uXMKi.framer-v-165gn3u.framer-cwkb55, .framer-uXMKi.framer-v-utjcj.framer-cwkb55 { align-content: flex-start; align-items: flex-start; width: 390px; }\",\".framer-uXMKi.framer-v-165gn3u .framer-ouh0y8 { flex-direction: column; min-height: calc(var(--framer-viewport-height, 100vh) * 1); }\",\".framer-uXMKi.framer-v-165gn3u .framer-1grl81i, .framer-uXMKi.framer-v-utjcj .framer-1grl81i { flex: none; width: 100%; }\",\".framer-uXMKi.framer-v-165gn3u .framer-229hv { cursor: pointer; justify-content: flex-end; }\",\".framer-uXMKi.framer-v-165gn3u .framer-1jjw1cv, .framer-uXMKi.framer-v-utjcj .framer-1jjw1cv { align-content: flex-start; align-items: flex-start; flex: none; justify-content: flex-start; width: 100%; }\",\".framer-uXMKi.framer-v-utjcj .framer-ouh0y8 { flex-direction: column; height: 58px; }\",\".framer-uXMKi.framer-v-utjcj .framer-229hv { cursor: pointer; }\",\".framer-uXMKi.framer-v-utjcj .framer-1gjh376 { height: var(--framer-aspect-ratio-supported, 187px); }\",\".framer-uXMKi.framer-v-1p5oebw .framer-1gjh376 { height: var(--framer-aspect-ratio-supported, 27px); left: 49%; top: 16px; width: 46%; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 58\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"YDEExNB3U\":{\"layout\":[\"fixed\",\"auto\"]},\"k90JaU_QE\":{\"layout\":[\"fixed\",\"auto\"]},\"FXxa5zSeN\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramergsKOM0wdL=withCSS(Component,css,\"framer-uXMKi\");export default FramergsKOM0wdL;FramergsKOM0wdL.displayName=\"Navbar\";FramergsKOM0wdL.defaultProps={height:58,width:1200};addPropertyControls(FramergsKOM0wdL,{variant:{options:[\"XYyEUvm1I\",\"YDEExNB3U\",\"k90JaU_QE\",\"FXxa5zSeN\"],optionTitles:[\"Desktop With Background\",\"Tablet / Mobile Open\",\"Tablet / Mobile Closed\",\"Desktop Transparent\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramergsKOM0wdL,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/TTX2Z3BF3P6Y5BQT3IV2VNOK6FL22KUT/7QYRJOI3JIMYHGY6CH7SOIFRQLZOLNJ6/KFIAZD4RUMEZIYV6FQ3T3GP5PDBDB6JY.woff2\",weight:\"400\"}]},...ClockFonts,...StopScrollFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramergsKOM0wdL\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"58\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"YDEExNB3U\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"k90JaU_QE\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"FXxa5zSeN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./gsKOM0wdL.map","// package.json\nvar version = \"1.3.16\";\n\n// packages/core/src/maths.ts\nfunction clamp(min, input, max) {\n  return Math.max(min, Math.min(input, max));\n}\nfunction lerp(x, y, t) {\n  return (1 - t) * x + t * y;\n}\nfunction damp(x, y, lambda, deltaTime) {\n  return lerp(x, y, 1 - Math.exp(-lambda * deltaTime));\n}\nfunction modulo(n, d) {\n  return (n % d + d) % d;\n}\n\n// packages/core/src/animate.ts\nvar Animate = class {\n  isRunning = false;\n  value = 0;\n  from = 0;\n  to = 0;\n  currentTime = 0;\n  // These are instanciated in the fromTo method\n  lerp;\n  duration;\n  easing;\n  onUpdate;\n  /**\n   * Advance the animation by the given delta time\n   *\n   * @param deltaTime - The time in seconds to advance the animation\n   */\n  advance(deltaTime) {\n    if (!this.isRunning) return;\n    let completed = false;\n    if (this.duration && this.easing) {\n      this.currentTime += deltaTime;\n      const linearProgress = clamp(0, this.currentTime / this.duration, 1);\n      completed = linearProgress >= 1;\n      const easedProgress = completed ? 1 : this.easing(linearProgress);\n      this.value = this.from + (this.to - this.from) * easedProgress;\n    } else if (this.lerp) {\n      this.value = damp(this.value, this.to, this.lerp * 60, deltaTime);\n      if (Math.round(this.value) === this.to) {\n        this.value = this.to;\n        completed = true;\n      }\n    } else {\n      this.value = this.to;\n      completed = true;\n    }\n    if (completed) {\n      this.stop();\n    }\n    this.onUpdate?.(this.value, completed);\n  }\n  /** Stop the animation */\n  stop() {\n    this.isRunning = false;\n  }\n  /**\n   * Set up the animation from a starting value to an ending value\n   * with optional parameters for lerping, duration, easing, and onUpdate callback\n   *\n   * @param from - The starting value\n   * @param to - The ending value\n   * @param options - Options for the animation\n   */\n  fromTo(from, to, { lerp: lerp2, duration, easing, onStart, onUpdate }) {\n    this.from = this.value = from;\n    this.to = to;\n    this.lerp = lerp2;\n    this.duration = duration;\n    this.easing = easing;\n    this.currentTime = 0;\n    this.isRunning = true;\n    onStart?.();\n    this.onUpdate = onUpdate;\n  }\n};\n\n// packages/core/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    let context = this;\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(context, args);\n    }, delay);\n  };\n}\n\n// packages/core/src/dimensions.ts\nvar Dimensions = class {\n  constructor(wrapper, content, { autoResize = true, debounce: debounceValue = 250 } = {}) {\n    this.wrapper = wrapper;\n    this.content = content;\n    if (autoResize) {\n      this.debouncedResize = debounce(this.resize, debounceValue);\n      if (this.wrapper instanceof Window) {\n        window.addEventListener(\"resize\", this.debouncedResize, false);\n      } else {\n        this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize);\n        this.wrapperResizeObserver.observe(this.wrapper);\n      }\n      this.contentResizeObserver = new ResizeObserver(this.debouncedResize);\n      this.contentResizeObserver.observe(this.content);\n    }\n    this.resize();\n  }\n  width = 0;\n  height = 0;\n  scrollHeight = 0;\n  scrollWidth = 0;\n  // These are instanciated in the constructor as they need information from the options\n  debouncedResize;\n  wrapperResizeObserver;\n  contentResizeObserver;\n  destroy() {\n    this.wrapperResizeObserver?.disconnect();\n    this.contentResizeObserver?.disconnect();\n    if (this.wrapper === window && this.debouncedResize) {\n      window.removeEventListener(\"resize\", this.debouncedResize, false);\n    }\n  }\n  resize = () => {\n    this.onWrapperResize();\n    this.onContentResize();\n  };\n  onWrapperResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.width = window.innerWidth;\n      this.height = window.innerHeight;\n    } else {\n      this.width = this.wrapper.clientWidth;\n      this.height = this.wrapper.clientHeight;\n    }\n  };\n  onContentResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.scrollHeight = this.content.scrollHeight;\n      this.scrollWidth = this.content.scrollWidth;\n    } else {\n      this.scrollHeight = this.wrapper.scrollHeight;\n      this.scrollWidth = this.wrapper.scrollWidth;\n    }\n  };\n  get limit() {\n    return {\n      x: this.scrollWidth - this.width,\n      y: this.scrollHeight - this.height\n    };\n  }\n};\n\n// packages/core/src/emitter.ts\nvar Emitter = class {\n  events = {};\n  /**\n   * Emit an event with the given data\n   * @param event Event name\n   * @param args Data to pass to the event handlers\n   */\n  emit(event, ...args) {\n    let callbacks = this.events[event] || [];\n    for (let i = 0, length = callbacks.length; i < length; i++) {\n      callbacks[i]?.(...args);\n    }\n  }\n  /**\n   * Add a callback to the event\n   * @param event Event name\n   * @param cb Callback function\n   * @returns Unsubscribe function\n   */\n  on(event, cb) {\n    this.events[event]?.push(cb) || (this.events[event] = [cb]);\n    return () => {\n      this.events[event] = this.events[event]?.filter((i) => cb !== i);\n    };\n  }\n  /**\n   * Remove a callback from the event\n   * @param event Event name\n   * @param callback Callback function\n   */\n  off(event, callback) {\n    this.events[event] = this.events[event]?.filter((i) => callback !== i);\n  }\n  /**\n   * Remove all event listeners and clean up\n   */\n  destroy() {\n    this.events = {};\n  }\n};\n\n// packages/core/src/virtual-scroll.ts\nvar LINE_HEIGHT = 100 / 6;\nvar listenerOptions = { passive: false };\nvar VirtualScroll = class {\n  constructor(element, options = { wheelMultiplier: 1, touchMultiplier: 1 }) {\n    this.element = element;\n    this.options = options;\n    window.addEventListener(\"resize\", this.onWindowResize, false);\n    this.onWindowResize();\n    this.element.addEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.addEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.addEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.addEventListener(\"touchend\", this.onTouchEnd, listenerOptions);\n  }\n  touchStart = {\n    x: 0,\n    y: 0\n  };\n  lastDelta = {\n    x: 0,\n    y: 0\n  };\n  window = {\n    width: 0,\n    height: 0\n  };\n  emitter = new Emitter();\n  /**\n   * Add an event listener for the given event and callback\n   *\n   * @param event Event name\n   * @param callback Callback function\n   */\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  /** Remove all event listeners and clean up */\n  destroy() {\n    this.emitter.destroy();\n    window.removeEventListener(\"resize\", this.onWindowResize, false);\n    this.element.removeEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.removeEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchend\",\n      this.onTouchEnd,\n      listenerOptions\n    );\n  }\n  /**\n   * Event handler for 'touchstart' event\n   *\n   * @param event Touch event\n   */\n  onTouchStart = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: 0,\n      y: 0\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX: 0,\n      deltaY: 0,\n      event\n    });\n  };\n  /** Event handler for 'touchmove' event */\n  onTouchMove = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    const deltaX = -(clientX - this.touchStart.x) * this.options.touchMultiplier;\n    const deltaY = -(clientY - this.touchStart.y) * this.options.touchMultiplier;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: deltaX,\n      y: deltaY\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX,\n      deltaY,\n      event\n    });\n  };\n  onTouchEnd = (event) => {\n    this.emitter.emit(\"scroll\", {\n      deltaX: this.lastDelta.x,\n      deltaY: this.lastDelta.y,\n      event\n    });\n  };\n  /** Event handler for 'wheel' event */\n  onWheel = (event) => {\n    let { deltaX, deltaY, deltaMode } = event;\n    const multiplierX = deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.window.width : 1;\n    const multiplierY = deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.window.height : 1;\n    deltaX *= multiplierX;\n    deltaY *= multiplierY;\n    deltaX *= this.options.wheelMultiplier;\n    deltaY *= this.options.wheelMultiplier;\n    this.emitter.emit(\"scroll\", { deltaX, deltaY, event });\n  };\n  onWindowResize = () => {\n    this.window = {\n      width: window.innerWidth,\n      height: window.innerHeight\n    };\n  };\n};\n\n// packages/core/src/lenis.ts\nvar defaultEasing = (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t));\nvar Lenis = class {\n  _isScrolling = false;\n  // true when scroll is animating\n  _isStopped = false;\n  // true if user should not be able to scroll - enable/disable programmatically\n  _isLocked = false;\n  // same as isStopped but enabled/disabled when scroll reaches target\n  _preventNextNativeScrollEvent = false;\n  _resetVelocityTimeout = null;\n  __rafID = null;\n  /**\n   * Whether or not the user is touching the screen\n   */\n  isTouching;\n  /**\n   * The time in ms since the lenis instance was created\n   */\n  time = 0;\n  /**\n   * User data that will be forwarded through the scroll event\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   userData: {\n   *     foo: 'bar'\n   *   }\n   * })\n   */\n  userData = {};\n  /**\n   * The last velocity of the scroll\n   */\n  lastVelocity = 0;\n  /**\n   * The current velocity of the scroll\n   */\n  velocity = 0;\n  /**\n   * The direction of the scroll\n   */\n  direction = 0;\n  /**\n   * The options passed to the lenis instance\n   */\n  options;\n  /**\n   * The target scroll value\n   */\n  targetScroll;\n  /**\n   * The animated scroll value\n   */\n  animatedScroll;\n  // These are instanciated here as they don't need information from the options\n  animate = new Animate();\n  emitter = new Emitter();\n  // These are instanciated in the constructor as they need information from the options\n  dimensions;\n  // This is not private because it's used in the Snap class\n  virtualScroll;\n  constructor({\n    wrapper = window,\n    content = document.documentElement,\n    eventsTarget = wrapper,\n    smoothWheel = true,\n    syncTouch = false,\n    syncTouchLerp = 0.075,\n    touchInertiaExponent = 1.7,\n    duration,\n    // in seconds\n    easing,\n    lerp: lerp2 = 0.1,\n    infinite = false,\n    orientation = \"vertical\",\n    // vertical, horizontal\n    gestureOrientation = orientation === \"horizontal\" ? \"both\" : \"vertical\",\n    // vertical, horizontal, both\n    touchMultiplier = 1,\n    wheelMultiplier = 1,\n    autoResize = true,\n    prevent,\n    virtualScroll,\n    overscroll = true,\n    autoRaf = false,\n    anchors = false,\n    autoToggle = false,\n    // https://caniuse.com/?search=transition-behavior\n    allowNestedScroll = false,\n    __experimental__naiveDimensions = false\n  } = {}) {\n    window.lenisVersion = version;\n    if (!wrapper || wrapper === document.documentElement) {\n      wrapper = window;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.options = {\n      wrapper,\n      content,\n      eventsTarget,\n      smoothWheel,\n      syncTouch,\n      syncTouchLerp,\n      touchInertiaExponent,\n      duration,\n      easing,\n      lerp: lerp2,\n      infinite,\n      gestureOrientation,\n      orientation,\n      touchMultiplier,\n      wheelMultiplier,\n      autoResize,\n      prevent,\n      virtualScroll,\n      overscroll,\n      autoRaf,\n      anchors,\n      autoToggle,\n      allowNestedScroll,\n      __experimental__naiveDimensions\n    };\n    this.dimensions = new Dimensions(wrapper, content, { autoResize });\n    this.updateClassName();\n    this.targetScroll = this.animatedScroll = this.actualScroll;\n    this.options.wrapper.addEventListener(\"scroll\", this.onNativeScroll, false);\n    this.options.wrapper.addEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    if (this.options.anchors && this.options.wrapper === window) {\n      this.options.wrapper.addEventListener(\n        \"click\",\n        this.onClick,\n        false\n      );\n    }\n    this.options.wrapper.addEventListener(\n      \"pointerdown\",\n      this.onPointerDown,\n      false\n    );\n    this.virtualScroll = new VirtualScroll(eventsTarget, {\n      touchMultiplier,\n      wheelMultiplier\n    });\n    this.virtualScroll.on(\"scroll\", this.onVirtualScroll);\n    if (this.options.autoToggle) {\n      this.checkOverflow();\n      this.rootElement.addEventListener(\"transitionend\", this.onTransitionEnd, {\n        passive: true\n      });\n    }\n    if (this.options.autoRaf) {\n      this.__rafID = requestAnimationFrame(this.raf);\n    }\n  }\n  /**\n   * Destroy the lenis instance, remove all event listeners and clean up the class name\n   */\n  destroy() {\n    this.emitter.destroy();\n    this.options.wrapper.removeEventListener(\n      \"scroll\",\n      this.onNativeScroll,\n      false\n    );\n    this.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    this.options.wrapper.removeEventListener(\n      \"pointerdown\",\n      this.onPointerDown,\n      false\n    );\n    if (this.options.anchors && this.options.wrapper === window) {\n      this.options.wrapper.removeEventListener(\n        \"click\",\n        this.onClick,\n        false\n      );\n    }\n    this.virtualScroll.destroy();\n    this.dimensions.destroy();\n    this.cleanUpClassName();\n    if (this.__rafID) {\n      cancelAnimationFrame(this.__rafID);\n    }\n  }\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  off(event, callback) {\n    return this.emitter.off(event, callback);\n  }\n  onScrollEnd = (e) => {\n    if (!(e instanceof CustomEvent)) {\n      if (this.isScrolling === \"smooth\" || this.isScrolling === false) {\n        e.stopPropagation();\n      }\n    }\n  };\n  dispatchScrollendEvent = () => {\n    this.options.wrapper.dispatchEvent(\n      new CustomEvent(\"scrollend\", {\n        bubbles: this.options.wrapper === window,\n        // cancelable: false,\n        detail: {\n          lenisScrollEnd: true\n        }\n      })\n    );\n  };\n  get overflow() {\n    const property = this.isHorizontal ? \"overflow-x\" : \"overflow-y\";\n    return getComputedStyle(this.rootElement)[property];\n  }\n  checkOverflow() {\n    if ([\"hidden\", \"clip\"].includes(this.overflow)) {\n      this.internalStop();\n    } else {\n      this.internalStart();\n    }\n  }\n  onTransitionEnd = (event) => {\n    if (event.propertyName.includes(\"overflow\")) {\n      this.checkOverflow();\n    }\n  };\n  setScroll(scroll) {\n    if (this.isHorizontal) {\n      this.options.wrapper.scrollTo({ left: scroll, behavior: \"instant\" });\n    } else {\n      this.options.wrapper.scrollTo({ top: scroll, behavior: \"instant\" });\n    }\n  }\n  onClick = (event) => {\n    const path = event.composedPath();\n    const anchor = path.find(\n      (node) => node instanceof HTMLAnchorElement && node.getAttribute(\"href\")?.includes(\"#\")\n    );\n    if (anchor) {\n      const href = anchor.getAttribute(\"href\");\n      if (href) {\n        const options = typeof this.options.anchors === \"object\" && this.options.anchors ? this.options.anchors : void 0;\n        const target = `#${href.split(\"#\")[1]}`;\n        this.scrollTo(target, options);\n      }\n    }\n  };\n  onPointerDown = (event) => {\n    if (event.button === 1) {\n      this.reset();\n    }\n  };\n  onVirtualScroll = (data) => {\n    if (typeof this.options.virtualScroll === \"function\" && this.options.virtualScroll(data) === false)\n      return;\n    const { deltaX, deltaY, event } = data;\n    this.emitter.emit(\"virtual-scroll\", { deltaX, deltaY, event });\n    if (event.ctrlKey) return;\n    if (event.lenisStopPropagation) return;\n    const isTouch = event.type.includes(\"touch\");\n    const isWheel = event.type.includes(\"wheel\");\n    this.isTouching = event.type === \"touchstart\" || event.type === \"touchmove\";\n    const isClickOrTap = deltaX === 0 && deltaY === 0;\n    const isTapToStop = this.options.syncTouch && isTouch && event.type === \"touchstart\" && isClickOrTap && !this.isStopped && !this.isLocked;\n    if (isTapToStop) {\n      this.reset();\n      return;\n    }\n    const isUnknownGesture = this.options.gestureOrientation === \"vertical\" && deltaY === 0 || this.options.gestureOrientation === \"horizontal\" && deltaX === 0;\n    if (isClickOrTap || isUnknownGesture) {\n      return;\n    }\n    let composedPath = event.composedPath();\n    composedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement));\n    const prevent = this.options.prevent;\n    if (!!composedPath.find(\n      (node) => node instanceof HTMLElement && (typeof prevent === \"function\" && prevent?.(node) || node.hasAttribute?.(\"data-lenis-prevent\") || isTouch && node.hasAttribute?.(\"data-lenis-prevent-touch\") || isWheel && node.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.checkNestedScroll(node, { deltaX, deltaY }))\n    ))\n      return;\n    if (this.isStopped || this.isLocked) {\n      if (event.cancelable) {\n        event.preventDefault();\n      }\n      return;\n    }\n    const isSmooth = this.options.syncTouch && isTouch || this.options.smoothWheel && isWheel;\n    if (!isSmooth) {\n      this.isScrolling = \"native\";\n      this.animate.stop();\n      event.lenisStopPropagation = true;\n      return;\n    }\n    let delta = deltaY;\n    if (this.options.gestureOrientation === \"both\") {\n      delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX;\n    } else if (this.options.gestureOrientation === \"horizontal\") {\n      delta = deltaX;\n    }\n    if (!this.options.overscroll || this.options.infinite || this.options.wrapper !== window && this.limit > 0 && (this.animatedScroll > 0 && this.animatedScroll < this.limit || this.animatedScroll === 0 && deltaY > 0 || this.animatedScroll === this.limit && deltaY < 0)) {\n      event.lenisStopPropagation = true;\n    }\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    const isSyncTouch = isTouch && this.options.syncTouch;\n    const isTouchEnd = isTouch && event.type === \"touchend\";\n    const hasTouchInertia = isTouchEnd;\n    if (hasTouchInertia) {\n      delta = Math.sign(this.velocity) * Math.pow(Math.abs(this.velocity), this.options.touchInertiaExponent);\n    }\n    this.scrollTo(this.targetScroll + delta, {\n      programmatic: false,\n      ...isSyncTouch ? {\n        lerp: hasTouchInertia ? this.options.syncTouchLerp : 1\n        // immediate: !hasTouchInertia,\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    duration = this.options.duration,\n    easing = this.options.easing,\n    lerp: lerp2 = this.options.lerp,\n    onStart,\n    onComplete,\n    force = false,\n    // scroll even if stopped\n    programmatic = true,\n    // called from outside of the class\n    userData\n  } = {}) {\n    if ((this.isStopped || this.isLocked) && !force) return;\n    if (typeof target === \"string\" && [\"top\", \"left\", \"start\", \"#\"].includes(target)) {\n      target = 0;\n    } else if (typeof target === \"string\" && [\"bottom\", \"right\", \"end\"].includes(target)) {\n      target = this.limit;\n    } else {\n      let node;\n      if (typeof target === \"string\") {\n        node = document.querySelector(target);\n        if (!node) {\n          if (target === \"#top\") {\n            target = 0;\n          } else {\n            console.warn(\"Lenis: Target not found\", target);\n          }\n        }\n      } else if (target instanceof HTMLElement && target?.nodeType) {\n        node = target;\n      }\n      if (node) {\n        if (this.options.wrapper !== window) {\n          const wrapperRect = this.rootElement.getBoundingClientRect();\n          offset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top;\n        }\n        const rect = node.getBoundingClientRect();\n        target = (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll;\n      }\n    }\n    if (typeof target !== \"number\") return;\n    target += offset;\n    target = Math.round(target);\n    if (this.options.infinite) {\n      if (programmatic) {\n        this.targetScroll = this.animatedScroll = this.scroll;\n        const distance = target - this.animatedScroll;\n        if (distance > this.limit / 2) {\n          target = target - this.limit;\n        } else if (distance < -this.limit / 2) {\n          target = target + this.limit;\n        }\n      }\n    } else {\n      target = clamp(0, target, this.limit);\n    }\n    if (target === this.targetScroll) {\n      onStart?.(this);\n      onComplete?.(this);\n      return;\n    }\n    this.userData = userData ?? {};\n    if (immediate) {\n      this.animatedScroll = this.targetScroll = target;\n      this.setScroll(this.scroll);\n      this.reset();\n      this.preventNextNativeScrollEvent();\n      this.emit();\n      onComplete?.(this);\n      this.userData = {};\n      requestAnimationFrame(() => {\n        this.dispatchScrollendEvent();\n      });\n      return;\n    }\n    if (!programmatic) {\n      this.targetScroll = target;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.animate.fromTo(this.animatedScroll, target, {\n      duration,\n      easing,\n      lerp: lerp2,\n      onStart: () => {\n        if (lock) this.isLocked = true;\n        this.isScrolling = \"smooth\";\n        onStart?.(this);\n      },\n      onUpdate: (value, completed) => {\n        this.isScrolling = \"smooth\";\n        this.lastVelocity = this.velocity;\n        this.velocity = value - this.animatedScroll;\n        this.direction = Math.sign(this.velocity);\n        this.animatedScroll = value;\n        this.setScroll(this.scroll);\n        if (programmatic) {\n          this.targetScroll = value;\n        }\n        if (!completed) this.emit();\n        if (completed) {\n          this.reset();\n          this.emit();\n          onComplete?.(this);\n          this.userData = {};\n          requestAnimationFrame(() => {\n            this.dispatchScrollendEvent();\n          });\n          this.preventNextNativeScrollEvent();\n        }\n      }\n    });\n  }\n  preventNextNativeScrollEvent() {\n    this._preventNextNativeScrollEvent = true;\n    requestAnimationFrame(() => {\n      this._preventNextNativeScrollEvent = false;\n    });\n  }\n  checkNestedScroll(node, { deltaX, deltaY }) {\n    const time = Date.now();\n    const cache = node._lenis ??= {};\n    let hasOverflowX, hasOverflowY, isScrollableX, isScrollableY, scrollWidth, scrollHeight, clientWidth, clientHeight;\n    const gestureOrientation = this.options.gestureOrientation;\n    if (time - (cache.time ?? 0) > 2e3) {\n      cache.time = Date.now();\n      const computedStyle = window.getComputedStyle(node);\n      cache.computedStyle = computedStyle;\n      const overflowXString = computedStyle.overflowX;\n      const overflowYString = computedStyle.overflowY;\n      hasOverflowX = [\"auto\", \"overlay\", \"scroll\"].includes(overflowXString);\n      hasOverflowY = [\"auto\", \"overlay\", \"scroll\"].includes(overflowYString);\n      cache.hasOverflowX = hasOverflowX;\n      cache.hasOverflowY = hasOverflowY;\n      if (!hasOverflowX && !hasOverflowY) return false;\n      if (gestureOrientation === \"vertical\" && !hasOverflowY) return false;\n      if (gestureOrientation === \"horizontal\" && !hasOverflowX) return false;\n      scrollWidth = node.scrollWidth;\n      scrollHeight = node.scrollHeight;\n      clientWidth = node.clientWidth;\n      clientHeight = node.clientHeight;\n      isScrollableX = scrollWidth > clientWidth;\n      isScrollableY = scrollHeight > clientHeight;\n      cache.isScrollableX = isScrollableX;\n      cache.isScrollableY = isScrollableY;\n      cache.scrollWidth = scrollWidth;\n      cache.scrollHeight = scrollHeight;\n      cache.clientWidth = clientWidth;\n      cache.clientHeight = clientHeight;\n    } else {\n      isScrollableX = cache.isScrollableX;\n      isScrollableY = cache.isScrollableY;\n      hasOverflowX = cache.hasOverflowX;\n      hasOverflowY = cache.hasOverflowY;\n      scrollWidth = cache.scrollWidth;\n      scrollHeight = cache.scrollHeight;\n      clientWidth = cache.clientWidth;\n      clientHeight = cache.clientHeight;\n    }\n    if (!hasOverflowX && !hasOverflowY || !isScrollableX && !isScrollableY) {\n      return false;\n    }\n    if (gestureOrientation === \"vertical\" && (!hasOverflowY || !isScrollableY))\n      return false;\n    if (gestureOrientation === \"horizontal\" && (!hasOverflowX || !isScrollableX))\n      return false;\n    let orientation;\n    if (gestureOrientation === \"horizontal\") {\n      orientation = \"x\";\n    } else if (gestureOrientation === \"vertical\") {\n      orientation = \"y\";\n    } else {\n      const isScrollingX = deltaX !== 0;\n      const isScrollingY = deltaY !== 0;\n      if (isScrollingX && hasOverflowX && isScrollableX) {\n        orientation = \"x\";\n      }\n      if (isScrollingY && hasOverflowY && isScrollableY) {\n        orientation = \"y\";\n      }\n    }\n    if (!orientation) return false;\n    let scroll, maxScroll, delta, hasOverflow, isScrollable;\n    if (orientation === \"x\") {\n      scroll = node.scrollLeft;\n      maxScroll = scrollWidth - clientWidth;\n      delta = deltaX;\n      hasOverflow = hasOverflowX;\n      isScrollable = isScrollableX;\n    } else if (orientation === \"y\") {\n      scroll = node.scrollTop;\n      maxScroll = scrollHeight - clientHeight;\n      delta = deltaY;\n      hasOverflow = hasOverflowY;\n      isScrollable = isScrollableY;\n    } else {\n      return false;\n    }\n    const willScroll = delta > 0 ? scroll < maxScroll : scroll > 0;\n    return willScroll && hasOverflow && isScrollable;\n  }\n  /**\n   * The root element on which lenis is instanced\n   */\n  get rootElement() {\n    return this.options.wrapper === window ? document.documentElement : this.options.wrapper;\n  }\n  /**\n   * The limit which is the maximum scroll value\n   */\n  get limit() {\n    if (this.options.__experimental__naiveDimensions) {\n      if (this.isHorizontal) {\n        return this.rootElement.scrollWidth - this.rootElement.clientWidth;\n      } else {\n        return this.rootElement.scrollHeight - this.rootElement.clientHeight;\n      }\n    } else {\n      return this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\n    }\n  }\n  /**\n   * Whether or not the scroll is horizontal\n   */\n  get isHorizontal() {\n    return this.options.orientation === \"horizontal\";\n  }\n  /**\n   * The actual scroll value\n   */\n  get actualScroll() {\n    const wrapper = this.options.wrapper;\n    return this.isHorizontal ? wrapper.scrollX ?? wrapper.scrollLeft : wrapper.scrollY ?? wrapper.scrollTop;\n  }\n  /**\n   * The current scroll value\n   */\n  get scroll() {\n    return this.options.infinite ? modulo(this.animatedScroll, this.limit) : this.animatedScroll;\n  }\n  /**\n   * The progress of the scroll relative to the limit\n   */\n  get progress() {\n    return this.limit === 0 ? 1 : this.scroll / this.limit;\n  }\n  /**\n   * Current scroll state\n   */\n  get isScrolling() {\n    return this._isScrolling;\n  }\n  set isScrolling(value) {\n    if (this._isScrolling !== value) {\n      this._isScrolling = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is stopped\n   */\n  get isStopped() {\n    return this._isStopped;\n  }\n  set isStopped(value) {\n    if (this._isStopped !== value) {\n      this._isStopped = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is locked\n   */\n  get isLocked() {\n    return this._isLocked;\n  }\n  set isLocked(value) {\n    if (this._isLocked !== value) {\n      this._isLocked = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is smooth scrolling\n   */\n  get isSmooth() {\n    return this.isScrolling === \"smooth\";\n  }\n  /**\n   * The class name applied to the wrapper element\n   */\n  get className() {\n    let className = \"lenis\";\n    if (this.options.autoToggle) className += \" lenis-autoToggle\";\n    if (this.isStopped) className += \" lenis-stopped\";\n    if (this.isLocked) className += \" lenis-locked\";\n    if (this.isScrolling) className += \" lenis-scrolling\";\n    if (this.isScrolling === \"smooth\") className += \" lenis-smooth\";\n    return className;\n  }\n  updateClassName() {\n    this.cleanUpClassName();\n    this.rootElement.className = `${this.rootElement.className} ${this.className}`.trim();\n  }\n  cleanUpClassName() {\n    this.rootElement.className = this.rootElement.className.replace(/lenis(-\\w+)?/g, \"\").trim();\n  }\n};\nexport {\n  Lenis as default\n};\n//# sourceMappingURL=lenis.mjs.map","// packages/snap/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    let context = this;\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(context, args);\n    }, delay);\n  };\n}\n\n// packages/snap/src/element.ts\nfunction removeParentSticky(element) {\n  const position = getComputedStyle(element).position;\n  const isSticky = position === \"sticky\";\n  if (isSticky) {\n    element.style.setProperty(\"position\", \"static\");\n    element.dataset.sticky = \"true\";\n  }\n  if (element.offsetParent) {\n    removeParentSticky(element.offsetParent);\n  }\n}\nfunction addParentSticky(element) {\n  if (element?.dataset?.sticky === \"true\") {\n    element.style.removeProperty(\"position\");\n    delete element.dataset.sticky;\n  }\n  if (element.offsetParent) {\n    addParentSticky(element.offsetParent);\n  }\n}\nfunction offsetTop(element, accumulator = 0) {\n  const top = accumulator + element.offsetTop;\n  if (element.offsetParent) {\n    return offsetTop(element.offsetParent, top);\n  }\n  return top;\n}\nfunction offsetLeft(element, accumulator = 0) {\n  const left = accumulator + element.offsetLeft;\n  if (element.offsetParent) {\n    return offsetLeft(element.offsetParent, left);\n  }\n  return left;\n}\nfunction scrollTop(element, accumulator = 0) {\n  const top = accumulator + element.scrollTop;\n  if (element.offsetParent) {\n    return scrollTop(element.offsetParent, top);\n  }\n  return top + window.scrollY;\n}\nfunction scrollLeft(element, accumulator = 0) {\n  const left = accumulator + element.scrollLeft;\n  if (element.offsetParent) {\n    return scrollLeft(element.offsetParent, left);\n  }\n  return left + window.scrollX;\n}\nvar SnapElement = class {\n  element;\n  options;\n  align;\n  // @ts-ignore\n  rect = {};\n  wrapperResizeObserver;\n  resizeObserver;\n  debouncedWrapperResize;\n  constructor(element, {\n    align = [\"start\"],\n    ignoreSticky = true,\n    ignoreTransform = false\n  } = {}) {\n    this.element = element;\n    this.options = { align, ignoreSticky, ignoreTransform };\n    this.align = [align].flat();\n    this.debouncedWrapperResize = debounce(this.onWrapperResize, 500);\n    this.wrapperResizeObserver = new ResizeObserver(this.debouncedWrapperResize);\n    this.wrapperResizeObserver.observe(document.body);\n    this.onWrapperResize();\n    this.resizeObserver = new ResizeObserver(this.onResize);\n    this.resizeObserver.observe(this.element);\n    this.setRect({\n      width: this.element.offsetWidth,\n      height: this.element.offsetHeight\n    });\n  }\n  destroy() {\n    this.wrapperResizeObserver.disconnect();\n    this.resizeObserver.disconnect();\n  }\n  setRect({\n    top,\n    left,\n    width,\n    height,\n    element\n  } = {}) {\n    top = top ?? this.rect.top;\n    left = left ?? this.rect.left;\n    width = width ?? this.rect.width;\n    height = height ?? this.rect.height;\n    element = element ?? this.rect.element;\n    if (top === this.rect.top && left === this.rect.left && width === this.rect.width && height === this.rect.height && element === this.rect.element)\n      return;\n    this.rect.top = top;\n    this.rect.y = top;\n    this.rect.width = width;\n    this.rect.height = height;\n    this.rect.left = left;\n    this.rect.x = left;\n    this.rect.bottom = top + height;\n    this.rect.right = left + width;\n  }\n  onWrapperResize = () => {\n    let top, left;\n    if (this.options.ignoreSticky) removeParentSticky(this.element);\n    if (this.options.ignoreTransform) {\n      top = offsetTop(this.element);\n      left = offsetLeft(this.element);\n    } else {\n      const rect = this.element.getBoundingClientRect();\n      top = rect.top + scrollTop(this.element);\n      left = rect.left + scrollLeft(this.element);\n    }\n    if (this.options.ignoreSticky) addParentSticky(this.element);\n    this.setRect({ top, left });\n  };\n  onResize = ([entry]) => {\n    if (!entry?.borderBoxSize[0]) return;\n    const width = entry.borderBoxSize[0].inlineSize;\n    const height = entry.borderBoxSize[0].blockSize;\n    this.setRect({ width, height });\n  };\n};\n\n// packages/snap/src/uid.ts\nvar index = 0;\nfunction uid() {\n  return index++;\n}\n\n// packages/snap/src/snap.ts\nvar Snap = class {\n  constructor(lenis, {\n    type = \"proximity\",\n    lerp,\n    easing,\n    duration,\n    distanceThreshold = \"50%\",\n    // useless when type is \"mandatory\"\n    debounce: debounceDelay = 500,\n    onSnapStart,\n    onSnapComplete\n  } = {}) {\n    this.lenis = lenis;\n    this.options = {\n      type,\n      lerp,\n      easing,\n      duration,\n      distanceThreshold,\n      debounce: debounceDelay,\n      onSnapStart,\n      onSnapComplete\n    };\n    this.onWindowResize();\n    window.addEventListener(\"resize\", this.onWindowResize, false);\n    this.onSnapDebounced = debounce(this.onSnap, this.options.debounce);\n    this.lenis.on(\"virtual-scroll\", this.onSnapDebounced);\n  }\n  options;\n  elements = /* @__PURE__ */ new Map();\n  snaps = /* @__PURE__ */ new Map();\n  viewport = {\n    width: window.innerWidth,\n    height: window.innerHeight\n  };\n  isStopped = false;\n  onSnapDebounced;\n  currentSnapIndex;\n  /**\n   * Destroy the snap instance\n   */\n  destroy() {\n    this.lenis.off(\"virtual-scroll\", this.onSnapDebounced);\n    window.removeEventListener(\"resize\", this.onWindowResize, false);\n    this.elements.forEach((element) => {\n      element.destroy();\n    });\n  }\n  /**\n   * Start the snap after it has been stopped\n   */\n  start() {\n    this.isStopped = false;\n  }\n  /**\n   * Stop the snap\n   */\n  stop() {\n    this.isStopped = true;\n  }\n  /**\n   * Add a snap to the snap instance\n   *\n   * @param value The value to snap to\n   * @param userData User data that will be forwarded through the snap event\n   * @returns Unsubscribe function\n   */\n  add(value) {\n    const id = uid();\n    this.snaps.set(id, { value });\n    return () => this.snaps.delete(id);\n  }\n  /**\n   * Add an element to the snap instance\n   *\n   * @param element The element to add\n   * @param options The options for the element\n   * @returns Unsubscribe function\n   */\n  addElement(element, options = {}) {\n    const id = uid();\n    this.elements.set(id, new SnapElement(element, options));\n    return () => this.elements.delete(id);\n  }\n  addElements(elements, options = {}) {\n    const map = [...elements].map(\n      (element) => this.addElement(element, options)\n    );\n    return () => {\n      map.forEach((remove) => {\n        remove();\n      });\n    };\n  }\n  onWindowResize = () => {\n    this.viewport.width = window.innerWidth;\n    this.viewport.height = window.innerHeight;\n  };\n  computeSnaps = () => {\n    const { isHorizontal } = this.lenis;\n    let snaps = [...this.snaps.values()];\n    this.elements.forEach(({ rect, align }) => {\n      let value;\n      align.forEach((align2) => {\n        if (align2 === \"start\") {\n          value = rect.top;\n        } else if (align2 === \"center\") {\n          value = isHorizontal ? rect.left + rect.width / 2 - this.viewport.width / 2 : rect.top + rect.height / 2 - this.viewport.height / 2;\n        } else if (align2 === \"end\") {\n          value = isHorizontal ? rect.left + rect.width - this.viewport.width : rect.top + rect.height - this.viewport.height;\n        }\n        if (typeof value === \"number\") {\n          snaps.push({ value: Math.ceil(value) });\n        }\n      });\n    });\n    snaps = snaps.sort((a, b) => Math.abs(a.value) - Math.abs(b.value));\n    return snaps;\n  };\n  previous() {\n    this.goTo((this.currentSnapIndex ?? 0) - 1);\n  }\n  next() {\n    this.goTo((this.currentSnapIndex ?? 0) + 1);\n  }\n  goTo(index2) {\n    const snaps = this.computeSnaps();\n    if (snaps.length === 0) return;\n    this.currentSnapIndex = Math.max(0, Math.min(index2, snaps.length - 1));\n    const currentSnap = snaps[this.currentSnapIndex];\n    if (currentSnap === void 0) return;\n    this.lenis.scrollTo(currentSnap.value, {\n      duration: this.options.duration,\n      easing: this.options.easing,\n      lerp: this.options.lerp,\n      lock: this.options.type === \"lock\",\n      userData: { initiator: \"snap\" },\n      onStart: () => {\n        this.options.onSnapStart?.({\n          index: this.currentSnapIndex,\n          ...currentSnap\n        });\n      },\n      onComplete: () => {\n        this.options.onSnapComplete?.({\n          index: this.currentSnapIndex,\n          ...currentSnap\n        });\n      }\n    });\n  }\n  get distanceThreshold() {\n    let distanceThreshold = Infinity;\n    if (this.options.type === \"mandatory\") return Infinity;\n    const { isHorizontal } = this.lenis;\n    const axis = isHorizontal ? \"width\" : \"height\";\n    if (typeof this.options.distanceThreshold === \"string\" && this.options.distanceThreshold.endsWith(\"%\")) {\n      distanceThreshold = Number(this.options.distanceThreshold.replace(\"%\", \"\")) / 100 * this.viewport[axis];\n    } else if (typeof this.options.distanceThreshold === \"number\") {\n      distanceThreshold = this.options.distanceThreshold;\n    } else {\n      distanceThreshold = this.viewport[axis];\n    }\n    return distanceThreshold;\n  }\n  onSnap = (e) => {\n    if (this.isStopped) return;\n    if (e.event.type === \"touchmove\") return;\n    if (this.options.type === \"lock\" && this.lenis.userData?.initiator === \"snap\")\n      return;\n    let { scroll, isHorizontal } = this.lenis;\n    const delta = isHorizontal ? e.deltaX : e.deltaY;\n    scroll = Math.ceil(this.lenis.scroll + delta);\n    const snaps = this.computeSnaps();\n    if (snaps.length === 0) return;\n    let snapIndex;\n    const prevSnapIndex = snaps.findLastIndex(({ value }) => value < scroll);\n    const nextSnapIndex = snaps.findIndex(({ value }) => value > scroll);\n    if (this.options.type === \"lock\") {\n      if (delta > 0) {\n        snapIndex = nextSnapIndex;\n      } else if (delta < 0) {\n        snapIndex = prevSnapIndex;\n      }\n    } else {\n      const prevSnap = snaps[prevSnapIndex];\n      const distanceToPrevSnap = prevSnap ? Math.abs(scroll - prevSnap.value) : Infinity;\n      const nextSnap = snaps[nextSnapIndex];\n      const distanceToNextSnap = nextSnap ? Math.abs(scroll - nextSnap.value) : Infinity;\n      snapIndex = distanceToPrevSnap < distanceToNextSnap ? prevSnapIndex : nextSnapIndex;\n    }\n    if (snapIndex === void 0) return;\n    if (snapIndex === -1) return;\n    snapIndex = Math.max(0, Math.min(snapIndex, snaps.length - 1));\n    const snap = snaps[snapIndex];\n    const distance = Math.abs(scroll - snap.value);\n    if (distance <= this.distanceThreshold) {\n      this.goTo(snapIndex);\n    }\n  };\n  resize() {\n    this.elements.forEach((element) => element.onWrapperResize());\n  }\n};\nexport {\n  Snap as default\n};\n//# sourceMappingURL=lenis-snap.mjs.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"https://unpkg.com/lenis@1.3.16-framer/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.16-framer/dist/lenis-snap.mjs\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,easing,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,infinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\"});lenisRef.current=lenis;let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=document.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[children]);useEffect(()=>{function onClick(event){// if (event.defaultPrevented) {\n//     console.log(\"default prevented\")\n//     return\n// }\nconst path=event.composedPath();const pageLink=path.find(node=>node instanceof HTMLAnchorElement&&node.getAttribute(\"href\")?.startsWith(\"./\"));if(pageLink){if(lenisRef.current){lenisRef.current.reset();}}}window.addEventListener(\"click\",onClick);return()=>{window.removeEventListener(\"click\",onClick);};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.15-framer.0/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;}},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\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useRef,useState,useEffect,useMemo,useCallback,memo,useId}from\"react\";// ========== CONSTANTS ==========\n// Size and scaling\nconst DEFAULT_SIZE=128;const CONTAINER_PADDING=4;const MIN_GLOBE_SCALE=.1;const GLOBE_RADIUS_DIVISOR=10;const FONT_SIZE_SCALE_FACTOR=.8;// Angles and conversion\nconst DEGREES_TO_RADIANS=Math.PI/180;const RADIANS_TO_DEGREES=180/Math.PI;const FULL_CIRCLE=360;const HALF_CIRCLE=180;const QUARTER_CIRCLE=90;// Animation\nconst MAX_ROTATION_SPEED=500// degrees per second\n;const TIME_SCALE=.001// milliseconds to seconds\n;// Globe rendering\nconst GLOBE_SAMPLES=100;const LATITUDE_MIN=-90;const LATITUDE_MAX=90;const LONGITUDE_MIN=-180;const LONGITUDE_MAX=180;const MERIDIAN_RANGE=180;const PARALLEL_RANGE=180;const MIN_PARALLEL_WIDTH=2;// Visual mode coordinates\nconst VISUAL_COORDINATE_RANGE=2;const VISUAL_COORDINATE_MIN=-1;const VISUAL_COORDINATE_MAX=1;// ========== UTILITIES ==========\n// Angle conversion helpers\nconst degreesToRadians=degrees=>degrees*DEGREES_TO_RADIANS;const radiansToDegrees=radians=>radians*RADIANS_TO_DEGREES;// Angle normalization - ensures angle is within 0-360 range\nconst normalizeAngle=angle=>(angle+FULL_CIRCLE)%FULL_CIRCLE;// Speed calculation from percentage (0-100) to degrees per second (0-MAX_ROTATION_SPEED)\nconst calculateSpeed=percentage=>percentage/100*MAX_ROTATION_SPEED;/**\n * Hook for smooth rotation animation using requestAnimationFrame\n * OPTIMIZED: Batches state updates and uses efficient dependency tracking\n */function useRotationAnimation(config){const{enabled,speed,direction,hoverMultiplier=1,isHovered=false}=config;const[rotation,setRotation]=useState(0);const animationFrameRef=useRef(null);useEffect(()=>{if(!enabled){setRotation(0);if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);animationFrameRef.current=null;}return;}let lastTime=performance.now();const animate=currentTime=>{const deltaTime=currentTime-lastTime;lastTime=currentTime;const baseSpeed=calculateSpeed(speed);const multiplier=isHovered?1+hoverMultiplier/100:1;const currentSpeed=baseSpeed*multiplier;setRotation(prev=>{const delta=currentSpeed*deltaTime*TIME_SCALE*direction;const newRotation=normalizeAngle(prev+delta);// Round to 2 decimal places to reduce jitter and unnecessary re-renders\nreturn Math.round(newRotation*100)/100;});animationFrameRef.current=requestAnimationFrame(animate);};animationFrameRef.current=requestAnimationFrame(animate);return()=>{if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);}};},[enabled,speed,direction,isHovered,hoverMultiplier]);return rotation;}/**\n * Visual mode globe component\n * Perfectly even visual spacing between meridians and edges\n * FAKE ANIMATION: Meridians scroll horizontally with seamless loop\n * OPTIMIZED: Memoizes SVG paths and uses transforms for animation\n */const GlobeVisual=/*#__PURE__*/memo(function GlobeVisual(props){const{center,lucideScale,scaledStroke,Color,meridians,parallels,globeAnimationEnabled,globeRotation,setIsGlobeHovered,clipPathId}=props;const globeRadius=10*lucideScale;const cx=center;const cy=center;const meridiansGroupRef=useRef(null);// PARALLELS DISTRIBUTION - VISUAL MODE (memoized)\nconst parallelLatitudes=useMemo(()=>{const latitudes=[];if(parallels>0){const visualHeight=VISUAL_COORDINATE_RANGE;const visualStep=visualHeight/(parallels+1);for(let i=1;i<=parallels;i++){const visualY=VISUAL_COORDINATE_MIN+i*visualStep;const latitude=-radiansToDegrees(Math.asin(visualY));latitudes.push(latitude);}}return latitudes;},[parallels]);// VISUAL MERIDIANS DISTRIBUTION\nconst generateVisualMeridians=()=>{if(meridians===0)return[];if(globeAnimationEnabled){// Use same spacing as static mode for seamless transition\nconst visualStep=VISUAL_COORDINATE_RANGE/(meridians+1);// Normalize rotation to visual coordinates (0 to 2.0 range)\n// This makes speed independent of meridian count\nconst rotationPhase=globeRotation%FULL_CIRCLE/FULL_CIRCLE;const normalizedRotation=rotationPhase*VISUAL_COORDINATE_RANGE;const offset=normalizedRotation;const longitudes=[];// Generate enough meridians for seamless wrapping\nfor(let i=-meridians*2;i<meridians*2;i++){let visualX=VISUAL_COORDINATE_MIN+(i+1)*visualStep+offset;// Wrap around for seamless loop\nwhile(visualX>VISUAL_COORDINATE_MAX)visualX-=VISUAL_COORDINATE_RANGE;while(visualX<VISUAL_COORDINATE_MIN)visualX+=VISUAL_COORDINATE_RANGE;if(visualX>=VISUAL_COORDINATE_MIN&&visualX<=VISUAL_COORDINATE_MAX){const longitude=radiansToDegrees(Math.asin(visualX));longitudes.push(longitude);}}return longitudes;}else{if(meridians===1)return[0];const visualWidth=VISUAL_COORDINATE_RANGE;const visualStep=visualWidth/(meridians+1);const longitudes=[];for(let i=1;i<=meridians;i++){const visualX=VISUAL_COORDINATE_MIN+i*visualStep;const longitude=radiansToDegrees(Math.asin(visualX));longitudes.push(longitude);}return longitudes;}};const meridianLongitudes=generateVisualMeridians();const drawMeridian=longitude=>{const points=[];const samples=GLOBE_SAMPLES;for(let i=0;i<=samples;i++){const lat=LATITUDE_MIN+HALF_CIRCLE*i/samples;const latRad=degreesToRadians(lat);const lonRad=degreesToRadians(longitude);const x=Math.cos(latRad)*Math.sin(lonRad);const y=-Math.sin(latRad);const z=Math.cos(latRad)*Math.cos(lonRad);if(z>=0){points.push({x:cx+x*globeRadius,y:cy+y*globeRadius});}}if(points.length<2)return null;let path=`M ${points[0].x} ${points[0].y}`;for(let i=1;i<points.length;i++){path+=` L ${points[i].x} ${points[i].y}`;}return path;};return /*#__PURE__*/_jsxs(\"g\",{fill:\"none\",stroke:Color,strokeWidth:scaledStroke,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:clipPathId,children:/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:globeRadius+scaledStroke/2})})}),/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:globeRadius,style:{pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:globeRadius,fill:\"transparent\",stroke:\"none\",onMouseEnter:()=>setIsGlobeHovered(true),onMouseLeave:()=>setIsGlobeHovered(false),style:{cursor:\"pointer\"}}),/*#__PURE__*/_jsxs(\"g\",{ref:meridiansGroupRef,clipPath:`url(#${clipPathId})`,style:{pointerEvents:\"none\",willChange:globeAnimationEnabled?\"transform\":\"auto\"},children:[meridianLongitudes.map((lon,i)=>{const frontPath=drawMeridian(lon);const backPath=drawMeridian(lon+180);return /*#__PURE__*/_jsxs(\"g\",{children:[frontPath&&/*#__PURE__*/_jsx(\"path\",{d:frontPath}),backPath&&/*#__PURE__*/_jsx(\"path\",{d:backPath})]},`meridian-${i}`);}),parallelLatitudes.map((lat,i)=>{const latRad=degreesToRadians(lat);const y=cy-Math.sin(latRad)*globeRadius;const width=Math.cos(latRad)*globeRadius*2;if(width<MIN_PARALLEL_WIDTH)return null;return /*#__PURE__*/_jsx(\"line\",{x1:cx-width/2,y1:y,x2:cx+width/2,y2:y},`parallel-${i}`);})]})]});});/**\n * Real mode globe component\n * Geographically accurate meridians and parallels\n * REAL ANIMATION: Actual 3D sphere rotation\n * OPTIMIZED: Memoizes static paths and uses efficient rotation calculation\n */const GlobeReal=/*#__PURE__*/memo(function GlobeReal(props){const{center,lucideScale,scaledStroke,Color,meridians,parallels,globeAnimationEnabled,globeRotation,setIsGlobeHovered,clipPathId}=props;const globeRadius=10*lucideScale;const cx=center;const cy=center;// Current rotation angle (in degrees)\nconst rotationAngle=globeAnimationEnabled?globeRotation:0;// REAL MODE: Geographic distribution (memoized)\n// Meridians - equal spacing across 180 degrees with half-step offset\n// This ensures no meridian is perfectly vertical at 0° (all are curved)\nconst meridianLongitudes=useMemo(()=>{const longitudes=[];if(meridians>0){const step=MERIDIAN_RANGE/meridians;for(let i=0;i<meridians;i++){longitudes.push(step/2+i*step);}}return longitudes;},[meridians]);// Parallels - uniform distribution across latitude with edge spacing (memoized)\n// Equator appears naturally when parallels count is odd\nconst parallelLatitudes=useMemo(()=>{const latitudes=[];if(parallels>0){const step=PARALLEL_RANGE/(parallels+1);for(let i=1;i<=parallels;i++){const latitude=LATITUDE_MIN+i*step;latitudes.push(latitude);}}return latitudes;},[parallels]);// 3D rotation helper: rotate point around Y-axis (memoized)\nconst rotateY=useCallback((x,y,z,angle)=>{const rad=degreesToRadians(angle);const cos=Math.cos(rad);const sin=Math.sin(rad);return{x:x*cos+z*sin,y:y,z:-x*sin+z*cos};},[]);// Draw meridian with 3D rotation (memoized)\nconst drawMeridianReal=useCallback(longitude=>{const points=[];const samples=GLOBE_SAMPLES;for(let i=0;i<=samples;i++){const lat=LATITUDE_MIN+HALF_CIRCLE*i/samples;const latRad=degreesToRadians(lat);const lonRad=degreesToRadians(longitude);// Calculate 3D position\nlet x=Math.cos(latRad)*Math.sin(lonRad);let y=-Math.sin(latRad);let z=Math.cos(latRad)*Math.cos(lonRad);// Apply rotation around Y-axis\nconst rotated=rotateY(x,y,z,rotationAngle);// Orthographic projection - only front hemisphere\nif(rotated.z>=0){points.push({x:cx+rotated.x*globeRadius,y:cy+rotated.y*globeRadius,z:rotated.z});}}if(points.length<2)return null;let path=`M ${points[0].x} ${points[0].y}`;for(let i=1;i<points.length;i++){path+=` L ${points[i].x} ${points[i].y}`;}return path;},[rotationAngle,cx,cy,globeRadius,rotateY]);// Draw parallel with 3D rotation (memoized)\nconst drawParallelReal=useCallback(latitude=>{const points=[];const samples=GLOBE_SAMPLES;const latRad=degreesToRadians(latitude);for(let i=0;i<=samples;i++){const lon=LONGITUDE_MIN+FULL_CIRCLE*i/samples;const lonRad=degreesToRadians(lon);// Calculate 3D position\nlet x=Math.cos(latRad)*Math.sin(lonRad);let y=-Math.sin(latRad);let z=Math.cos(latRad)*Math.cos(lonRad);// Apply rotation around Y-axis\nconst rotated=rotateY(x,y,z,rotationAngle);// Store all points with depth\npoints.push({x:cx+rotated.x*globeRadius,y:cy+rotated.y*globeRadius,z:rotated.z});}// Split into visible segments (z >= 0)\nconst segments=[];let currentSegment=[];for(let i=0;i<points.length;i++){if(points[i].z>=0){currentSegment.push(points[i]);}else{if(currentSegment.length>0){segments.push(currentSegment);currentSegment=[];}}}if(currentSegment.length>0){segments.push(currentSegment);}return segments.filter(seg=>seg.length>=2).map((seg,idx)=>{let path=`M ${seg[0].x} ${seg[0].y}`;for(let i=1;i<seg.length;i++){path+=` L ${seg[i].x} ${seg[i].y}`;}return /*#__PURE__*/_jsx(\"path\",{d:path},`parallel-segment-${latitude}-${idx}`);});},[rotationAngle,cx,cy,globeRadius,rotateY]);return /*#__PURE__*/_jsxs(\"g\",{fill:\"none\",stroke:Color,strokeWidth:scaledStroke,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:clipPathId,children:/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:globeRadius+scaledStroke/2})})}),/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:globeRadius,style:{pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:globeRadius,fill:\"transparent\",stroke:\"none\",onMouseEnter:()=>setIsGlobeHovered(true),onMouseLeave:()=>setIsGlobeHovered(false),style:{cursor:\"pointer\"}}),/*#__PURE__*/_jsxs(\"g\",{clipPath:`url(#${clipPathId})`,style:{pointerEvents:\"none\",willChange:globeAnimationEnabled?\"transform\":\"auto\"},children:[meridianLongitudes.map((lon,i)=>{// Draw both front and back arcs to form complete meridian circles\nconst frontPath=drawMeridianReal(lon);const backPath=drawMeridianReal(lon+180);return /*#__PURE__*/_jsxs(\"g\",{children:[frontPath&&/*#__PURE__*/_jsx(\"path\",{d:frontPath}),backPath&&/*#__PURE__*/_jsx(\"path\",{d:backPath})]},`meridian-real-${i}`);}),parallelLatitudes.map((lat,i)=>/*#__PURE__*/_jsx(\"g\",{children:drawParallelReal(lat)},`parallel-real-${i}`))]})]});});// ========== COMPONENT ==========\n/**\n * @framerIntrinsicWidth 128\n * @framerIntrinsicHeight 128\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerAspectRatio 1\n */export default function ArcGlobe(props){const{text=\"The internet canvas\",font,uppercase=true,gap=0,iconStroke=2,color,mode=true,meridians=5,parallels=6,animate,style}=props;// Extract colors with defaults\nconst textColor=color?.text??\"#FFFFFF\";const globeColor=color?.globe??\"#FFFFFF\";// Generate unique ID for this component instance's clipPath\nconst clipPathId=useId();// Extract animation settings from objects\nconst globeAnimationEnabled=animate?.enabled??false;const globeRotationSpeed=animate?.speed??10;const globeRotationDirection=animate?.direction===false?1:-1// false = →, true = ←\n;const globeHoverSpeedMultiplier=animate?.hoverBoost??100;const textAnimationEnabled=props.animateText?.enabled??false;const textRotationSpeed=props.animateText?.speed??10;const textRotationDirection=props.animateText?.direction===true?-1:1// true = ←, false = →\n;const[isGlobeHovered,setIsGlobeHovered]=useState(false);// Use custom hook for animations\nconst globeRotation=useRotationAnimation({enabled:globeAnimationEnabled,speed:globeRotationSpeed,direction:globeRotationDirection,hoverMultiplier:globeHoverSpeedMultiplier,isHovered:isGlobeHovered});const textRotation=useRotationAnimation({enabled:textAnimationEnabled,speed:textRotationSpeed,direction:textRotationDirection});// Memoize text processing to avoid recalculation on every render\nconst displayText=useMemo(()=>text&&text.length>0?uppercase?text.toUpperCase():text:\"\",[text,uppercase]);const chars=useMemo(()=>{if(!displayText||displayText.length===0){return[\"G\",\"L\",\"O\",\"B\",\"A\",\"L\"]// Fallback to prevent empty array\n;}const hasSpaces=displayText.includes(\" \");const textWithSpacing=hasSpaces&&!displayText.endsWith(\" \")?displayText+\" \":displayText;return textWithSpacing.split(\"\");},[displayText]);const charCount=chars.length;// Memoize size and radius calculations (auto mode only)\nconst{scaledStroke,finalFontSize,textRadius,center,lucideScale,charAngles}=useMemo(()=>{const padding=CONTAINER_PADDING;const availableRadius=DEFAULT_SIZE/2-padding;const center=DEFAULT_SIZE/2;// AUTO MODE: Always fit text to circle\nconst maxCharWidth=2*Math.PI*availableRadius/charCount;const maxFontSizeByCircle=maxCharWidth*FONT_SIZE_SCALE_FACTOR;// Use default font size (previously configurable, now fixed) but respect max that fits\nconst DEFAULT_FONT_SIZE=20;const finalFontSize=Math.min(DEFAULT_FONT_SIZE,maxFontSizeByCircle);const textRadius=availableRadius-finalFontSize/2;// Calculate globe size\nconst iconOuterEdge=textRadius-gap-finalFontSize/2;const iconRadius=Math.max(iconOuterEdge-iconStroke/2,GLOBE_RADIUS_DIVISOR);const lucideScale=Math.max(iconRadius/GLOBE_RADIUS_DIVISOR,MIN_GLOBE_SCALE);// Calculate character angles - equal distribution (auto mode)\nconst charAngles=[];const anglePerChar=FULL_CIRCLE/charCount;for(let i=0;i<charCount;i++){charAngles.push(i*anglePerChar);}return{scaledStroke:iconStroke,finalFontSize,textRadius,center,lucideScale,charAngles};},[gap,iconStroke,charCount]);const staticTextPositions=useMemo(()=>{return chars.map((_,index)=>{const charAngle=charAngles[index]||0;const baseAngle=charAngle-90;const angle=degreesToRadians(baseAngle);const x=center+textRadius*Math.cos(angle);const y=center+textRadius*Math.sin(angle);return{x,y,rotation:charAngle};});},[chars,charAngles,center,textRadius]);// Memoize getCharPosition to provide stable reference to CircularText\nconst getCharPosition=useCallback(index=>{const charAngle=charAngles[index]||0;const baseAngle=charAngle-QUARTER_CIRCLE;const angle=degreesToRadians(baseAngle+textRotation);// Use original coordinates without rounding - let browser handle subpixel rendering\nconst x=center+textRadius*Math.cos(angle);const y=center+textRadius*Math.sin(angle);const rotation=charAngle+textRotation;return{x,y,rotation};},[charAngles,textRotation,center,textRadius]);// Memoize fontStyle object to prevent CircularText re-renders\nconst fontStyle=useMemo(()=>({fontFamily:font?.fontFamily||\"Inter, system-ui, sans-serif\",fontWeight:font?.fontWeight||700,fontStyle:font?.fontStyle||\"normal\"}),[font?.fontFamily,font?.fontWeight,font?.fontStyle]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",userSelect:\"none\",// Provide a sensible default size after removing explicit width/height props\nwidth:style?.width??DEFAULT_SIZE,height:style?.height??DEFAULT_SIZE,// GPU acceleration optimizations\nwillChange:globeAnimationEnabled||textAnimationEnabled?\"transform\":\"auto\",contain:\"layout style paint\",transform:\"translateZ(0)\",...style},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:`0 0 ${DEFAULT_SIZE} ${DEFAULT_SIZE}`,preserveAspectRatio:\"xMidYMid meet\",style:{// Optimize SVG rendering\nshapeRendering:\"geometricPrecision\",textRendering:\"geometricPrecision\",willChange:globeAnimationEnabled||textAnimationEnabled?\"transform\":\"auto\"},children:[mode?/*#__PURE__*/_jsx(GlobeVisual,{center:center,lucideScale:lucideScale,scaledStroke:scaledStroke,Color:globeColor,meridians:meridians,parallels:parallels,globeAnimationEnabled:globeAnimationEnabled,globeRotation:globeRotation,setIsGlobeHovered:setIsGlobeHovered,clipPathId:clipPathId}):/*#__PURE__*/_jsx(GlobeReal,{center:center,lucideScale:lucideScale,scaledStroke:scaledStroke,Color:globeColor,meridians:meridians,parallels:parallels,globeAnimationEnabled:globeAnimationEnabled,globeRotation:globeRotation,setIsGlobeHovered:setIsGlobeHovered,clipPathId:clipPathId}),/*#__PURE__*/_jsx(\"g\",{style:{transformOrigin:\"50% 50%\",animation:textAnimationEnabled===true?`spin ${Math.max(1,200/textRotationSpeed)}s linear infinite`:undefined,animationDirection:textRotationDirection===-1?\"reverse\":\"normal\",willChange:\"transform\",backfaceVisibility:\"hidden\",WebkitFontSmoothing:\"antialiased\"},children:staticTextPositions.map((pos,index)=>/*#__PURE__*/_jsx(\"text\",{x:pos.x,y:pos.y,fill:textColor,fontSize:finalFontSize,fontFamily:fontStyle.fontFamily,fontWeight:fontStyle.fontWeight,fontStyle:fontStyle.fontStyle,textAnchor:\"middle\",dominantBaseline:\"middle\",transform:`rotate(${pos.rotation}, ${pos.x}, ${pos.y})`,style:{pointerEvents:\"none\",userSelect:\"none\",textRendering:\"geometricPrecision\"},children:chars[index]},index))}),/*#__PURE__*/_jsx(\"style\",{children:`\n      @keyframes spin {\n        from { transform: rotate(0deg); }\n        to { transform: rotate(360deg); }\n      }\n    `})]})});}addPropertyControls(ArcGlobe,{// ========== TEXT ==========\ntext:{type:ControlType.String,title:\"Text\",defaultValue:\"The internet canvas The internet canvas\",displayTextArea:true},uppercase:{type:ControlType.Boolean,title:\"Uppercase\",defaultValue:true},font:{type:ControlType.Font,title:\"Font\",displayFontSize:false},// ========== STYLE ==========\ncolor:{type:ControlType.Object,title:\"Colors\",controls:{text:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},globe:{type:ControlType.Color,title:\"Globe\",defaultValue:\"#FFFFFF\"}}},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:4,min:0,max:20,step:1},iconStroke:{type:ControlType.Number,title:\"Stroke\",defaultValue:2,min:.5,max:4,step:.5,displayStepper:true},// ========== GLOBE ==========\nmode:{type:ControlType.Boolean,title:\"Globe Visual\",defaultValue:true,enabledTitle:\"Pseudo\",disabledTitle:\"Real\"},meridians:{type:ControlType.Number,title:\"Meridians\",defaultValue:5,min:0,max:10,step:1,displayStepper:true},parallels:{type:ControlType.Number,title:\"Parallels\",defaultValue:6,min:0,max:10,step:1,displayStepper:true},// ========== ANIMATION GLOBE ==========\nanimate:{type:ControlType.Object,title:\"Animation Globe\",controls:{enabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},direction:{type:ControlType.Boolean,title:\"Direction\",defaultValue:false,enabledTitle:\"←\",disabledTitle:\"→\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:10,min:0,max:100,step:10,unit:\"%\",displayStepper:true},hoverBoost:{type:ControlType.Number,title:\"Hover Boost\",defaultValue:100,min:0,max:300,step:10,unit:\"%\",displayStepper:true}}},// ========== ANIMATION TEXT ==========\nanimateText:{type:ControlType.Object,title:\"Animation Text\",controls:{enabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},direction:{type:ControlType.Boolean,title:\"Direction\",defaultValue:false,enabledTitle:\"↻\",disabledTitle:\"↺\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:10,min:0,max:100,step:10,unit:\"%\",displayStepper:true}}}});ArcGlobe.displayName=\"Arc Globe\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ArcGlobe\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"128\",\"framerIntrinsicWidth\":\"128\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerAspectRatio\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Arc_Globe.map","// Generated by Framer (62e9832)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Lenis from\"https://framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/2izOeqbrUj0zZvyYkR7d/Lenis.js\";import PageWrapperPadding from\"https://framerusercontent.com/modules/q2xVvUQibPwEhCIp8mAt/VdqwNpd7w5wYqqouyTOb/h4a7dWxv8.js\";import ArcGlobe from\"https://framerusercontent.com/modules/rLoX4ATJwSQocTHdOAd8/emefMjGRXdaGFfETGjXv/Arc_Globe.js\";import FooterLink from\"https://framerusercontent.com/modules/1ICGtxbkwgHULOjKwIjv/ybTcO7xfDnbPQw53LdG0/gy7utqsfw.js\";const PageWrapperPaddingFonts=getFonts(PageWrapperPadding);const ArcGlobeFonts=getFonts(ArcGlobe);const FooterLinkFonts=getFonts(FooterLink);const LenisFonts=getFonts(Lenis);const MotionFooterWithFX=withFX(motion.footer);const cycleOrder=[\"mHgN_kKwd\",\"cRQ8j5iRr\",\"CKU2BOdZA\"];const serializationHash=\"framer-GI2R0\";const variantClassNames={CKU2BOdZA:\"framer-v-15eex3n\",cRQ8j5iRr:\"framer-v-bn53c2\",mHgN_kKwd:\"framer-v-49r014\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:20};const transition1={damping:40,delay:0,mass:1,stiffness:180,type:\"spring\"};const transition2={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 3\":\"CKU2BOdZA\",Desktop:\"mHgN_kKwd\",Tablet:\"cRQ8j5iRr\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"mHgN_kKwd\"};};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:\"mHgN_kKwd\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);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:transition2,children:/*#__PURE__*/_jsxs(MotionFooterWithFX,{...restProps,...gestureHandlers,__framer__animate:{transition:transition1},__framer__animateOnce:true,__framer__enter:animation,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:cx(scopingClassNames,\"framer-49r014\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"mHgN_kKwd\",ref:refBinding,style:{...style},...addPropertyOverrides({CKU2BOdZA:{\"data-framer-name\":\"Variant 3\"},cRQ8j5iRr:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1jc1hnj\",\"data-framer-name\":\"Content Section\",layoutDependency:layoutDependency,layoutId:\"WNljCPEel\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:10,y:(componentViewport?.y||0)+(80+((componentViewport?.height||521.5)-110-412)/2)+201,...addPropertyOverrides({CKU2BOdZA:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||200)-110-320)/2)+155},cRQ8j5iRr:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||481.5)-110-364)/2)+177}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1qp0t6f-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"JhYFGBroL-container\",nodeId:\"JhYFGBroL\",rendersWithMotion:true,scopeId:\"nC8sKh_Pw\",children:/*#__PURE__*/_jsx(PageWrapperPadding,{height:\"100%\",id:\"JhYFGBroL\",layoutId:\"JhYFGBroL\",variant:matchVariant(\"MAsJj1Ki9\"),width:\"100%\",...addPropertyOverrides({CKU2BOdZA:{variant:matchVariant(\"ZTUvY15qg\")},cRQ8j5iRr:{variant:matchVariant(\"ZTUvY15qg\")}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-t23wa0\",\"data-framer-name\":\"Main Container\",layoutDependency:layoutDependency,layoutId:\"gzNGwF8Rw\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-sexlig-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"b5SIn8vXI-container\",nodeId:\"b5SIn8vXI\",rendersWithMotion:true,scopeId:\"nC8sKh_Pw\",children:/*#__PURE__*/_jsx(ArcGlobe,{animate:{direction:false,enabled:false,hoverBoost:100,speed:10},animateText:{direction:false,enabled:false,speed:10},color:{globe:\"rgb(255, 255, 255)\",text:\"rgb(255, 255, 255)\"},font:{},gap:4,height:\"100%\",iconStroke:2,id:\"b5SIn8vXI\",layoutId:\"b5SIn8vXI\",meridians:5,mode:true,parallels:6,text:\"BEATING THE TIDE, FROM HAMBURG & BERLIN, AROUND THE WORLD\",uppercase:true,width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(80+((componentViewport?.height||521.5)-110-412)/2)+0+0+176),pixelHeight:2307,pixelWidth:11436,src:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307\",srcSet:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=512&width=11436&height=2307 512w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=1024&width=11436&height=2307 1024w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=2048&width=11436&height=2307 2048w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=4096&width=11436&height=2307 4096w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307 11436w\"},className:\"framer-10z8zur\",layoutDependency:layoutDependency,layoutId:\"M8il3RX2m\",...addPropertyOverrides({CKU2BOdZA:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(80+((componentViewport?.height||200)-110-320)/2)+0+0+152),pixelHeight:2307,pixelWidth:11436,src:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307\",srcSet:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=512&width=11436&height=2307 512w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=1024&width=11436&height=2307 1024w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=2048&width=11436&height=2307 2048w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=4096&width=11436&height=2307 4096w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307 11436w\"}},cRQ8j5iRr:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(80+((componentViewport?.height||481.5)-110-364)/2)+0+0+152),pixelHeight:2307,pixelWidth:11436,src:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307\",srcSet:\"https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=512&width=11436&height=2307 512w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=1024&width=11436&height=2307 1024w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=2048&width=11436&height=2307 2048w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?scale-down-to=4096&width=11436&height=2307 4096w,https://framerusercontent.com/images/OPT6DeW1QGQ1JFx0jheMuVmfE.png?width=11436&height=2307 11436w\"}}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-89108r\",layoutDependency:layoutDependency,layoutId:\"ygt5Lp__r\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-14glchq\",layoutDependency:layoutDependency,layoutId:\"Mol6CJhT_\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:23,y:(componentViewport?.y||0)+(80+((componentViewport?.height||521.5)-110-412)/2)+0+0+389+0+0,...addPropertyOverrides({CKU2BOdZA:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||200)-110-320)/2)+0+0+297+0+0+0+0},cRQ8j5iRr:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||481.5)-110-364)/2)+0+0+341+0+0+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-7zvsm-container\",layoutDependency:layoutDependency,layoutId:\"NLJBBDq62-container\",nodeId:\"NLJBBDq62\",rendersWithMotion:true,scopeId:\"nC8sKh_Pw\",children:/*#__PURE__*/_jsx(FooterLink,{height:\"100%\",id:\"NLJBBDq62\",layoutId:\"NLJBBDq62\",mCeB7wfnj:\"Instagram\",OZ6S0jaLL:\"https://www.instagram.com/wavechildathletes/\",variant:matchVariant(\"iASdpp7Nt\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:23,y:(componentViewport?.y||0)+(80+((componentViewport?.height||521.5)-110-412)/2)+0+0+389+0,...addPropertyOverrides({CKU2BOdZA:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||200)-110-320)/2)+0+0+297+0+0},cRQ8j5iRr:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||481.5)-110-364)/2)+0+0+341+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-41v3na-container\",layoutDependency:layoutDependency,layoutId:\"JonbAPWFF-container\",nodeId:\"JonbAPWFF\",rendersWithMotion:true,scopeId:\"nC8sKh_Pw\",children:/*#__PURE__*/_jsx(FooterLink,{height:\"100%\",id:\"JonbAPWFF\",layoutId:\"JonbAPWFF\",mCeB7wfnj:\"hallo@wavechildathletes.com\",OZ6S0jaLL:\"mailto:hallo@wavechildathletes.com\",variant:matchVariant(\"iASdpp7Nt\"),width:\"100%\"})})})]})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:10,y:(componentViewport?.y||0)+(80+((componentViewport?.height||521.5)-110-412)/2)+201,...addPropertyOverrides({CKU2BOdZA:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||200)-110-320)/2)+155},cRQ8j5iRr:{y:(componentViewport?.y||0)+(80+((componentViewport?.height||481.5)-110-364)/2)+177}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1d495uo-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"jMtwPZzU2-container\",nodeId:\"jMtwPZzU2\",rendersWithMotion:true,scopeId:\"nC8sKh_Pw\",children:/*#__PURE__*/_jsx(PageWrapperPadding,{height:\"100%\",id:\"jMtwPZzU2\",layoutId:\"jMtwPZzU2\",variant:matchVariant(\"MAsJj1Ki9\"),width:\"100%\",...addPropertyOverrides({CKU2BOdZA:{variant:matchVariant(\"ZTUvY15qg\")},cRQ8j5iRr:{variant:matchVariant(\"ZTUvY15qg\")}},baseVariant,gestureVariant)})})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-18yddtj-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"sKpZY8d3Y-container\",nodeId:\"sKpZY8d3Y\",rendersWithMotion:true,scopeId:\"nC8sKh_Pw\",children:/*#__PURE__*/_jsx(Lenis,{height:\"100%\",id:\"sKpZY8d3Y\",infinite:false,intensity:6,layoutId:\"sKpZY8d3Y\",orientation:\"vertical\",smooth:true,width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-GI2R0.framer-dtd2ib, .framer-GI2R0 .framer-dtd2ib { display: block; }\",\".framer-GI2R0.framer-49r014 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 80px 0px 30px 0px; position: relative; width: 1200px; }\",\".framer-GI2R0 .framer-1jc1hnj { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1800px; mix-blend-mode: difference; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-GI2R0 .framer-1qp0t6f-container, .framer-GI2R0 .framer-sexlig-container, .framer-GI2R0 .framer-7zvsm-container, .framer-GI2R0 .framer-41v3na-container, .framer-GI2R0 .framer-1d495uo-container, .framer-GI2R0 .framer-18yddtj-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-GI2R0 .framer-t23wa0 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 48px; height: min-content; justify-content: flex-start; max-width: 1800px; overflow: hidden; padding: 0px; position: relative; width: 1px; z-index: 1; }\",\".framer-GI2R0 .framer-10z8zur { aspect-ratio: 5.033898305084746 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 165px); position: relative; width: 76%; }\",\".framer-GI2R0 .framer-89108r { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-GI2R0 .framer-14glchq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-GI2R0.framer-v-bn53c2 .framer-t23wa0, .framer-GI2R0.framer-v-15eex3n .framer-t23wa0 { gap: 24px; }\",\".framer-GI2R0.framer-v-bn53c2 .framer-10z8zur { height: var(--framer-aspect-ratio-supported, 173px); }\",\".framer-GI2R0.framer-v-bn53c2 .framer-89108r, .framer-GI2R0.framer-v-15eex3n .framer-89108r { align-content: flex-end; align-items: flex-end; }\",\".framer-GI2R0.framer-v-bn53c2 .framer-14glchq, .framer-GI2R0.framer-v-15eex3n .framer-14glchq { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 0px; }\",\".framer-GI2R0.framer-v-15eex3n.framer-49r014 { width: 685px; }\",\".framer-GI2R0.framer-v-15eex3n .framer-10z8zur { height: var(--framer-aspect-ratio-supported, 40px); width: 97%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 521.5\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"cRQ8j5iRr\":{\"layout\":[\"fixed\",\"auto\"]},\"CKU2BOdZA\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramernC8sKh_Pw=withCSS(Component,css,\"framer-GI2R0\");export default FramernC8sKh_Pw;FramernC8sKh_Pw.displayName=\"Footer 2\";FramernC8sKh_Pw.defaultProps={height:521.5,width:1200};addPropertyControls(FramernC8sKh_Pw,{variant:{options:[\"mHgN_kKwd\",\"cRQ8j5iRr\",\"CKU2BOdZA\"],optionTitles:[\"Desktop\",\"Tablet\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramernC8sKh_Pw,[{explicitInter:true,fonts:[]},...PageWrapperPaddingFonts,...ArcGlobeFonts,...FooterLinkFonts,...LenisFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramernC8sKh_Pw\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"521.5\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"cRQ8j5iRr\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"CKU2BOdZA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./nC8sKh_Pw.map","// Generated by Framer (a72a541)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS,withVariantAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Navbar from\"https://framerusercontent.com/modules/iAeKfEdehSzy1V4jywpQ/Hkb58LTAFHcXM3BgCKSk/gsKOM0wdL.js\";import Footer2 from\"#framer/local/canvasComponent/nC8sKh_Pw/nC8sKh_Pw.js\";const Footer2Fonts=getFonts(Footer2);const NavbarFonts=getFonts(Navbar);const NavbarWithVariantAppearEffect=withVariantAppearEffect(Navbar);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-4HEF0\";const variantClassNames={KO1C7ZOmk:\"framer-v-13a1yfz\"};const QunVsZw7uWvucJel4E=undefined;const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-4HEF0.framer-1i07ji, .framer-4HEF0 .framer-1i07ji { display: block; }\",\".framer-4HEF0.framer-13a1yfz { align-content: center; align-items: center; background-color: #0f0f0f; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-4HEF0 .framer-1n9ymvd { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-4HEF0 .framer-hy6e12-container { flex: none; height: auto; mix-blend-mode: difference; order: 1003; position: relative; width: 100%; z-index: 2; }\",\".framer-4HEF0 .framer-trbcup-container { flex: none; height: auto; left: 50%; order: 1004; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 100%; z-index: 10; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];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};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"KO1C7ZOmk\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: rgb(15, 15, 15); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-13a1yfz\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1n9ymvd\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:521,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-hy6e12-container\",nodeId:\"qNJJ5dGAL\",scopeId:\"uKiF7DFvV\",children:/*#__PURE__*/_jsx(Footer2,{height:\"100%\",id:\"qNJJ5dGAL\",layoutId:\"qNJJ5dGAL\",style:{width:\"100%\"},variant:\"mHgN_kKwd\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:58,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-trbcup-container\",\"data-framer-layout-hint-center-x\":true,isModuleExternal:true,layoutScroll:true,nodeId:\"nRR_JTuqz\",rendersWithMotion:true,scopeId:\"uKiF7DFvV\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(NavbarWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{ref:QunVsZw7uWvucJel4E,target:\"XYyEUvm1I\"}],__framer__threshold:.5,__framer__variantAppearEffectEnabled:true,height:\"100%\",id:\"nRR_JTuqz\",layoutId:\"nRR_JTuqz\",style:{width:\"100%\"},variant:\"FXxa5zSeN\",width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=breakpointRules[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"KO1C7ZOmk\":[\".framer-hy6e12-container\",\".framer-trbcup-container\"]}\n * @framerBreakpoints {\"KO1C7ZOmk\":{\"canvasClassName\":\"framer-13a1yfz-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16}}\n * @framerDefaultVariant KO1C7ZOmk\n * @framerLayoutTemplate true\n */const FrameruKiF7DFvV=withCSS(Component,css,\"framer-4HEF0\");export default FrameruKiF7DFvV;FrameruKiF7DFvV.displayName=\"Main\";FrameruKiF7DFvV.defaultProps={height:1e3,width:1200};addFonts(FrameruKiF7DFvV,[{explicitInter:true,fonts:[]},...Footer2Fonts,...NavbarFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameruKiF7DFvV\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerLayoutTemplate\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerBreakpoints\":\"{\\\"KO1C7ZOmk\\\":{\\\"canvasClassName\\\":\\\"framer-13a1yfz-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16}}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"1000\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerDefaultVariant\":\"KO1C7ZOmk\",\"framerHitTargets\":\"{\\\"KO1C7ZOmk\\\":[\\\".framer-hy6e12-container\\\",\\\".framer-trbcup-container\\\"]}\"}},\"__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 Main from \"https://framerusercontent.com/modules/LR9Zgu1ALL8IIH8hVuBq/BLMgzIFIKTDu2FCSNELh/uKiF7DFvV.js\";\r\n\r\n\t\tconst routes = {aOsSoYitj: {elements: {R__Chndwi: \"services\", YxqNQ8g3d: \"works\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7KT0ZsGR7zFFG4tsahSh/oN24VzEavJQUWmHeH2Vy/aOsSoYitj.js\")), path: \"/\"}, rFk16I25Z: {elements: {a8nHkI1iA: \"about-1\", BtL0c1ykZ: \"contact-1\", E0xA1j_CZ: \"hero\", FeyWSrTv7: \"works\", FqoheA0c0: \"contact\", mT_PUg_jw: \"about\", ZZZpkQwfh: \"me\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/urzwkAsw5KLgcLjxuUqZ/bXdAY9fNGVIzSNbdbr7Z/rFk16I25Z.js\")), path: \"/baiskouanda\"}, Z0tdUrtX0: {elements: {N40tfgoJY: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/17k7BvjiynCYdVjiqud8/QGOh7Wx3JhEOayImtQn4/Z0tdUrtX0.js\")), path: \"/nikezalando\"}, sX7ztYXPe: {elements: {mOS9RU2FG: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/OxnOp7V3D2jTiNCbN2LJ/y6Bw2pdTPalxNfjBUAeK/sX7ztYXPe.js\")), path: \"/fide\"}, NphYUXhKo: {elements: {yI0NY77qx: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Nl45Za9PzlbCKm0JhPSB/jKJrdp9PSMKUADiCKUkt/NphYUXhKo.js\")), path: \"/salomon\"}, T69Av7iZR: {elements: {nPoKEverE: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/mg1YywBby1stjste5bos/2mXq90kQGBsNelGhtRUZ/T69Av7iZR.js\")), path: \"/halti\"}, lDc8ATmQY: {elements: {W0u1lgVPs: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Pd21WEsp7gxZJXpgvj44/PGltZOyn2FzVv72t8kp1/lDc8ATmQY.js\")), path: \"/clayton\"}, RqthXwXRR: {elements: {PVV8Q_DEO: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/h9xuvjFZcv0Yw0GVH3xS/Xu713I2Z9b8bz7D2eXEB/RqthXwXRR.js\")), path: \"/wca\"}, TSRVs_8f7: {elements: {xm3PeSod_: \"concept-and-context\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/FiYabmDWGUEYnHw520Kg/2AcR29ZVEEPzDkDPQbP4/TSRVs_8f7.js\")), path: \"/simbar\"}, btLwMLYuu: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/8a8MRODWw1phywS5rcbc/u4yWipGqIav5bMmU7W50/btLwMLYuu.js\")), path: \"/old/projects/pp_on\"}, C3OXNfkmT: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ccilHNOvCwzgs0z6j32C/eK8VwfMrpOGirU05m4SB/C3OXNfkmT.js\")), path: \"/old/projects/pp_eloh\"}, D9rTk6M8c: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/BtAAWKelY5bNaFKV194N/2WNh60S0BHJLfUoiY3Mc/D9rTk6M8c.js\")), path: \"/projecte\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"2680887db6788820934a02d77070a7d5f32941daad66df5fb12a11cf37862586\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"aOsSoYitj\":\r\ncase \"WqydmsjaV\":\r\ncase \"btLwMLYuu\":\r\ncase \"C3OXNfkmT\":\r\ncase \"D9rTk6M8c\":\r\ncase \"o2ufdB5OB\":\r\nreturn React.createElement(Main, {...props, key: \"Main\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"aOsSoYitj\":\r\ncase \"WqydmsjaV\":\r\ncase \"btLwMLYuu\":\r\ncase \"C3OXNfkmT\":\r\ncase \"D9rTk6M8c\":\r\ncase \"o2ufdB5OB\":\r\nreturn [{hash: \"13a1yfz\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://www.wavechildathletes.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: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/0eIwPsp0zLACIQNQDF9v/12CNmslSDejtGo1LWrDz/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, disableCustomCode: false, 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\tconst effect = {enter: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 1, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"-100%\"}, exit: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"100%\"}}\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: 90, type: \"wipe\", width: \"0%\"}, opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 1.2, ease: [0.39, 0.23, 0.16, 1.04], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"100%\"}}, routes: {lDc8ATmQY: {augiA20Il: effect}, NphYUXhKo: {augiA20Il: effect}, RqthXwXRR: {augiA20Il: effect}, sX7ztYXPe: {augiA20Il: effect}, T69Av7iZR: {augiA20Il: effect}, TSRVs_8f7: {augiA20Il: effect}, Z0tdUrtX0: {augiA20Il: effect}}}\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\t\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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"}