{"version":3,"file":"shared-lib.iulXqFa2.mjs","names":["addPropertyOverrides","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","SVG","RichText","useState","useRef","useMemo","columns","rows","elements","useCallback","delay","useState","useMemo","x","addPropertyOverrides","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","SVG","addPropertyOverrides","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","SVG","addPropertyOverrides","IG","LI","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","SVG"],"sources":["https:/framerusercontent.com/modules/jLAfkQmfcCoGYWzzKyZF/vOC4GlgicvAvqWGnjkh9/Cn5GeBWS7.js","https:/framerusercontent.com/modules/OxiepqbOwL267G9suPMe/cYBMrQGoHe7B0joErUmV/RippleGrid_Prod.js","https:/framerusercontent.com/modules/Xwc7IcwYHj7ld7YAg8qh/5JvYYIjVC5b7tPwLRkXL/PixelLine.js","https:/framerusercontent.com/modules/LLtlUM6trW6moKbqucGx/1LSq8hJXlj2xb8QUuIdG/SVigQrAlA.js","https:/framerusercontent.com/modules/Ct2LrGMUuzvaXgngVwSO/7CRPFZzTSA3vwO9LGx6x/v2kAXTviT.js","https:/framerusercontent.com/modules/XFL8fv6LRDb9sjCVqdG2/E2l9zfUega7sJthSbjdH/ffGJLOTGu.js","https:/framerusercontent.com/modules/pPI6Mcd52x8ppW7OC0C6/cQR8ugMgBYVIoLgsdmaO/XjP7VhTTE.js","https:/framerusercontent.com/modules/XOAOvTQaWPfpBzyIYxar/dUTCmQQJyLnwdEfyIcuf/SmoothScroll.js","https:/framerusercontent.com/modules/7W3IsshE0HFnj5EbBxuR/BrneLhslGZhgB1AVtboq/siteMetadata.js"],"sourcesContent":["// Generated by Framer (85113c0)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={Hso_SAHM2:{hover:true,pressed:true},iJUGHmwiJ:{hover:true,pressed:true}};const cycleOrder=[\"iJUGHmwiJ\",\"Hso_SAHM2\"];const serializationHash=\"framer-usTBq\";const variantClassNames={Hso_SAHM2:\"framer-v-uoh6r\",iJUGHmwiJ:\"framer-v-xh8v61\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:300,delay:0,mass:2,stiffness:2e3,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -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={\"about me\":\"Hso_SAHM2\",project:\"iJUGHmwiJ\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"iJUGHmwiJ\"};};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:\"iJUGHmwiJ\",enabledGestures,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:transition1,children:/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"iJUGHmwiJ\",scopeId:\"Cn5GeBWS7\",...addPropertyOverrides({\"Hso_SAHM2-pressed\":{href:{webPageId:\"kEDa0_jxB\"},openInNewTab:false},\"iJUGHmwiJ-pressed\":{href:{webPageId:\"dDoZfb_Y3\"},openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-xh8v61\",className,classNames)} framer-1jvh8nl`,\"data-framer-name\":\"project\",layoutDependency:layoutDependency,layoutId:\"iJUGHmwiJ\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",...style},variants:{\"iJUGHmwiJ-hover\":{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\"},\"iJUGHmwiJ-pressed\":{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\"},Hso_SAHM2:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(255, 255, 255, 0)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\"}},...addPropertyOverrides({\"Hso_SAHM2-hover\":{\"data-framer-name\":undefined},\"Hso_SAHM2-pressed\":{\"data-framer-name\":undefined},\"iJUGHmwiJ-hover\":{\"data-framer-name\":undefined},\"iJUGHmwiJ-pressed\":{\"data-framer-name\":undefined},Hso_SAHM2:{\"data-border\":true,\"data-framer-name\":\"about me\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-19176fc\",layoutDependency:layoutDependency,layoutId:\"BNxP1An3P\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 100 24\" overflow=\"visible\"><path d=\"M 0 0 L 100 0 L 100 24 L 0 24 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"Hso_SAHM2-hover\":{radius:0},\"Hso_SAHM2-pressed\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 48 24\" overflow=\"visible\"><path d=\"M 0 0 L 48 0 L 48 24 L 0 24 Z\" fill=\"rgb(0, 0, 0)\"></path></svg>'},\"iJUGHmwiJ-pressed\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 90 24\" overflow=\"visible\"><path d=\"M 0 0 L 90 0 L 90 24 L 0 24 Z\" fill=\"rgb(0, 0, 0)\"></path></svg>'},Hso_SAHM2:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 48 24\" overflow=\"visible\"><path d=\"M 0 0 L 48 0 L 48 24 L 0 24 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"0.8em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"PROJECTS\"})}),className:\"framer-1rm0fyb\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"Hosm77M2X\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({Hso_SAHM2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"0.7em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"ANDY\"})})}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-usTBq.framer-1jvh8nl, .framer-usTBq .framer-1jvh8nl { display: block; }\",\".framer-usTBq.framer-xh8v61 { cursor: pointer; height: 24px; overflow: hidden; position: relative; width: 90px; }\",\".framer-usTBq .framer-19176fc { height: 24px; left: 0px; position: absolute; top: 24px; width: 100px; }\",\".framer-usTBq .framer-1rm0fyb { flex: none; height: auto; left: 50%; mix-blend-mode: difference; position: absolute; top: 50%; white-space: pre; width: auto; }\",\".framer-usTBq.framer-v-uoh6r.framer-xh8v61, .framer-usTBq.framer-v-uoh6r .framer-19176fc { width: 48px; }\",\".framer-usTBq.framer-v-xh8v61.hover .framer-19176fc, .framer-usTBq.framer-v-uoh6r.hover .framer-19176fc, .framer-usTBq.framer-v-uoh6r.pressed .framer-19176fc { top: 0px; }\",\".framer-usTBq.framer-v-xh8v61.pressed.framer-xh8v61, .framer-usTBq.framer-v-uoh6r.pressed.framer-xh8v61 { text-decoration: none; }\",\".framer-usTBq.framer-v-xh8v61.pressed .framer-19176fc { top: 0px; width: 90px; }\",'.framer-usTBq[data-border=\"true\"]::after, .framer-usTBq [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 90\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Hso_SAHM2\":{\"layout\":[\"fixed\",\"fixed\"]},\"sP8SCsg5q\":{\"layout\":[\"fixed\",\"fixed\"]},\"HDu8dSZ0u\":{\"layout\":[\"fixed\",\"fixed\"]},\"aCGHzyoGz\":{\"layout\":[\"fixed\",\"fixed\"]},\"e7rsCzDJm\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerCn5GeBWS7=withCSS(Component,css,\"framer-usTBq\");export default FramerCn5GeBWS7;FramerCn5GeBWS7.displayName=\"menu button\";FramerCn5GeBWS7.defaultProps={height:24,width:90};addPropertyControls(FramerCn5GeBWS7,{variant:{options:[\"iJUGHmwiJ\",\"Hso_SAHM2\"],optionTitles:[\"project\",\"about me\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerCn5GeBWS7,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerCn5GeBWS7\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Hso_SAHM2\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"sP8SCsg5q\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"HDu8dSZ0u\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aCGHzyoGz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"e7rsCzDJm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"90\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Cn5GeBWS7.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useCallback,useMemo,useRef,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function RippleGrid(props){const{radius=8,elementSize=40,gap=8,border,fill,animation=\"onClick\",delay=1e3,ripple={color:[\"#FF0000\",\"#FF8800\",\"#FFFF00\",\"#88FF00\",\"#00FF00\"],shape:\"circle\",scale:1},style}=props;const[rippleElements,setRippleElements]=useState(new Map);const[dimensions,setDimensions]=useState({width:400,height:300});const[isRipplePlaying,setIsRipplePlaying]=useState(false);const[instanceId]=useState(()=>Math.random().toString(36).substr(2,9));const containerRef=useRef(null);const canvasRef=useRef(null);const animationFrameRef=useRef();// Update dimensions when container size changes\nuseEffect(()=>{const updateDimensions=()=>{if(containerRef.current){const rect=containerRef.current.getBoundingClientRect();// Use the actual style dimensions if available, otherwise use getBoundingClientRect\nconst width=style?.width===\"100%\"?containerRef.current.offsetWidth:parseFloat(style?.width)||rect.width;const height=style?.height===\"100%\"?containerRef.current.offsetHeight:parseFloat(style?.height)||rect.height;setDimensions({width,height});}};updateDimensions();if(typeof window!==\"undefined\"){const resizeObserver=new ResizeObserver(updateDimensions);if(containerRef.current){resizeObserver.observe(containerRef.current);}return()=>{resizeObserver.disconnect();};}},[style?.width,style?.height]);const{columns,rows,elements}=useMemo(()=>{const containerWidth=dimensions.width;const containerHeight=dimensions.height;const columns=Math.max(1,Math.floor((containerWidth+gap)/(elementSize+gap)));const rows=Math.max(1,Math.floor((containerHeight+gap)/(elementSize+gap)));// Calculate total grid dimensions\nconst totalGridWidth=columns*elementSize+(columns-1)*gap;const totalGridHeight=rows*elementSize+(rows-1)*gap;// Calculate offset to center the grid\nconst offsetX=(containerWidth-totalGridWidth)/2;const offsetY=(containerHeight-totalGridHeight)/2;const elements=[];for(let row=0;row<rows;row++){for(let col=0;col<columns;col++){elements.push({id:`${row}-${col}`,row,col,x:offsetX+col*(elementSize+gap),y:offsetY+row*(elementSize+gap)});}}return{columns,rows,elements};},[dimensions.width,dimensions.height,elementSize,gap]);// Canvas rendering function\nconst renderCanvas=useCallback(()=>{const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;// Set canvas size\ncanvas.width=dimensions.width;canvas.height=dimensions.height;// Clear canvas\nctx.clearRect(0,0,canvas.width,canvas.height);// Draw each element\nelements.forEach(element=>{const rippleData=rippleElements.get(element.id);const isActive=rippleData!==undefined;const currentScale=isActive?rippleData.scale:1;const currentSize=elementSize*currentScale;const currentX=element.x+(elementSize-currentSize)/2;const currentY=element.y+(elementSize-currentSize)/2;// Draw fill\nif(isActive){const currentColor=ripple.color[rippleData.colorIndex]||ripple.color[0];ctx.fillStyle=extractRGBColorFromString(currentColor);}else if(fill&&fill!==\"transparent\"){ctx.fillStyle=extractRGBColorFromString(fill);}else{ctx.fillStyle=\"transparent\";}if(ctx.fillStyle!==\"transparent\"){ctx.beginPath();ctx.roundRect(currentX,currentY,currentSize,currentSize,radius);ctx.fill();}// Draw border (only if not active)\nif(!isActive&&border&&border.borderWidth>0){ctx.strokeStyle=extractRGBColorFromString(border.borderColor||\"#999999\");ctx.lineWidth=border.borderWidth;ctx.beginPath();ctx.roundRect(currentX,currentY,currentSize,currentSize,radius);ctx.stroke();}});},[elements,rippleElements,elementSize,radius,border,fill,ripple.color,dimensions]);// Animation loop\nuseEffect(()=>{const animate=()=>{renderCanvas();animationFrameRef.current=requestAnimationFrame(animate);};animate();return()=>{if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);}};},[renderCanvas]);const calculateRippleDelay=useCallback((element,closestElement,columns,rows,shape)=>{const dx=element.col-closestElement.col;const dy=element.row-closestElement.row;let distance=0;switch(shape){case\"circle\":distance=Math.sqrt(dx*dx+dy*dy);break;case\"star\":// Star pattern: alternating rays with more dramatic variation\nconst angle=Math.atan2(dy,dx);const normalizedAngle=(angle+Math.PI)/(2*Math.PI)*10// 10 rays for more complexity\n;const rayIndex=Math.floor(normalizedAngle);const rayOffset=normalizedAngle-rayIndex;// Create jagged star pattern with varying speeds\nconst isMainRay=rayIndex%2===0;const isSubRay=Math.abs(rayOffset-.5)<.2;const baseDistance=Math.sqrt(dx*dx+dy*dy);if(isMainRay){distance=baseDistance*.8// Fast main rays\n;}else if(isSubRay){distance=baseDistance*2.5// Slow sub rays\n;}else{distance=baseDistance*4// Very slow areas\n;}// Add some randomness for chaos\ndistance*=.8+Math.random()*.4;break;case\"radialLines\":// Radial lines: multiple rotated cross patterns\nconst radialDistance=Math.sqrt(dx*dx+dy*dy);const radialAngle=Math.atan2(dy,dx);const normalizedRadialAngle=(radialAngle+Math.PI)/(2*Math.PI)*8;const lineIndex=Math.round(normalizedRadialAngle)%8;const isOnLine=Math.abs(normalizedRadialAngle-lineIndex)<.3;distance=isOnLine?radialDistance:radialDistance*3;break;case\"diamond\":distance=Math.abs(dx)+Math.abs(dy);break;case\"cross\":// Single line for both x and y axis\ndistance=dx===0||dy===0?Math.max(Math.abs(dx),Math.abs(dy)):Math.max(Math.abs(dx),Math.abs(dy))*3;break;case\"wave\":// Wave pattern: alternating rows/columns\nconst waveDistance=Math.sqrt(dx*dx+dy*dy);const waveModifier=Math.sin((dx+dy)*.5)*.5+1;distance=waveDistance*waveModifier;break;case\"lightning\":// Lightning pattern: zigzag effect\nconst lightningDistance=Math.sqrt(dx*dx+dy*dy);const lightningAngle=Math.atan2(dy,dx);const zigzag=Math.sin(lightningDistance*2)*.5+1;distance=lightningDistance*zigzag;break;default:distance=Math.sqrt(dx*dx+dy*dy);}const maxDistance=Math.max(columns,rows);return distance/maxDistance*500;},[]);const animateElement=useCallback((elementId,colorIndex,delay)=>{const startTime=Date.now()+delay;const duration=300;const animate=()=>{const now=Date.now();const elapsed=now-startTime;if(elapsed<0){// Not started yet\nrequestAnimationFrame(animate);return;}if(elapsed>=duration){// Animation complete, remove element\nstartTransition(()=>{setRippleElements(prev=>{const next=new Map(prev);next.delete(elementId);return next;});});return;}// Calculate progress (0 to 1)\nconst progress=elapsed/duration;const easeOut=1-Math.pow(1-progress,3)// Ease out cubic\n;// Calculate scale (animate from 1 to ripple.scale and back)\nlet scale;if(progress<.5){// Scale up\nscale=1+(ripple.scale-1)*(progress*2);}else{// Scale down\nscale=ripple.scale-(ripple.scale-1)*((progress-.5)*2);}startTransition(()=>{setRippleElements(prev=>{const next=new Map(prev);next.set(elementId,{delay,colorIndex,progress,scale});return next;});});requestAnimationFrame(animate);};requestAnimationFrame(animate);},[ripple.scale]);const triggerRippleFromCenter=useCallback(()=>{if(isRipplePlaying)return;// Find center element\nconst centerCol=Math.floor(columns/2);const centerRow=Math.floor(rows/2);const closestElement=elements.find(el=>el.col===centerCol&&el.row===centerRow);if(!closestElement)return;setIsRipplePlaying(true);// Calculate ripple effect with shape and color gradient\nelements.forEach(element=>{const delay=calculateRippleDelay(element,closestElement,columns,rows,ripple.shape);// Calculate color index based on distance for gradient effect\nconst dx=element.col-closestElement.col;const dy=element.row-closestElement.row;const distance=Math.sqrt(dx*dx+dy*dy);// New gradient calculation: first color at center, last color at edge\nlet colorIndex;if(distance===0){// Center element gets first color\ncolorIndex=0;}else{// Map distance to color array, ensuring last color appears at the edge\nconst maxDistance=Math.max(columns,rows)*.5;const normalizedDistance=Math.min(distance/maxDistance,1);colorIndex=Math.round(normalizedDistance*(ripple.color.length-1));}animateElement(element.id,colorIndex,delay);});// Calculate total ripple duration and reset playing state\nconst maxDelay=Math.max(...elements.map(element=>calculateRippleDelay(element,closestElement,columns,rows,ripple.shape)));setTimeout(()=>{setIsRipplePlaying(false);},maxDelay+300);},[elements,columns,rows,calculateRippleDelay,ripple.shape,ripple.color,isRipplePlaying,animateElement]);// Auto loop effect\nuseEffect(()=>{if(animation!==\"autoLoop\")return;if(RenderTarget.current()===RenderTarget.canvas)return;// Don't play in editor\nconst interval=setInterval(()=>{triggerRippleFromCenter();},delay*1e3)// Convert seconds to milliseconds\n;return()=>clearInterval(interval);},[animation,delay,triggerRippleFromCenter]);const handleClick=useCallback(event=>{if(animation!==\"onClick\")return;if(isRipplePlaying)return;// Prevent new ripples while one is playing\nconst rect=event.currentTarget.getBoundingClientRect();const clickX=event.clientX-rect.left;const clickY=event.clientY-rect.top;// Find the closest grid element to the click\nlet closestElement=null;let minDistance=Infinity;elements.forEach(element=>{const centerX=element.x+elementSize/2;const centerY=element.y+elementSize/2;const distance=Math.sqrt(Math.pow(clickX-centerX,2)+Math.pow(clickY-centerY,2));if(distance<minDistance){minDistance=distance;closestElement=element;}});if(!closestElement)return;setIsRipplePlaying(true)// Mark ripple as playing\n;// Calculate ripple effect with shape and color gradient\nelements.forEach(element=>{const delay=calculateRippleDelay(element,closestElement,columns,rows,ripple.shape);// Calculate color index based on distance for gradient effect\nconst dx=element.col-closestElement.col;const dy=element.row-closestElement.row;const distance=Math.sqrt(dx*dx+dy*dy);const maxDistance=Math.max(columns,rows);// New gradient calculation: first color at center, last color at edge\nlet colorIndex;if(distance===0){// Center element gets first color\ncolorIndex=0;}else{// Map distance to color array, ensuring last color appears at the edge\nconst normalizedDistance=Math.min(distance/maxDistance,1);colorIndex=Math.round(normalizedDistance*(ripple.color.length-1));}animateElement(element.id,colorIndex,delay);});// Calculate total ripple duration and reset playing state\nconst maxDelay=Math.max(...elements.map(element=>calculateRippleDelay(element,closestElement,columns,rows,ripple.shape)));setTimeout(()=>{setIsRipplePlaying(false);},maxDelay+300)// Add 300ms for the animation duration\n;},[animation,elements,columns,rows,elementSize,gap,calculateRippleDelay,ripple.shape,ripple.color,isRipplePlaying,animateElement]);// Global click handler\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(animation!==\"onClick\")return;const handleGlobalClick=event=>{if(isRipplePlaying)return;// Prevent new ripples while one is playing\nif(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const clickX=event.clientX-rect.left;const clickY=event.clientY-rect.top;// Check if click is within container bounds\nif(clickX>=0&&clickX<=rect.width&&clickY>=0&&clickY<=rect.height){// Find the closest grid element to the click\nlet closestElement=null;let minDistance=Infinity;elements.forEach(element=>{const centerX=element.x+elementSize/2;const centerY=element.y+elementSize/2;const distance=Math.sqrt(Math.pow(clickX-centerX,2)+Math.pow(clickY-centerY,2));if(distance<minDistance){minDistance=distance;closestElement=element;}});if(!closestElement)return;setIsRipplePlaying(true)// Mark ripple as playing\n;// Calculate ripple effect with shape and color gradient\nelements.forEach(element=>{const delay=calculateRippleDelay(element,closestElement,columns,rows,ripple.shape);// Calculate color index based on distance for gradient effect\nconst dx=element.col-closestElement.col;const dy=element.row-closestElement.row;const distance=Math.sqrt(dx*dx+dy*dy);const maxDistance=Math.max(columns,rows);// New gradient calculation: first color at center, last color at edge\nlet colorIndex;if(distance===0){// Center element gets first color\ncolorIndex=0;}else{// Map distance to color array, ensuring last color appears at the edge\nconst maxDistance=Math.max(columns,rows)*.5;const normalizedDistance=Math.min(distance/maxDistance,1);colorIndex=Math.round(normalizedDistance*(ripple.color.length-1));}animateElement(element.id,colorIndex,delay);});// Calculate total ripple duration and reset playing state\nconst maxDelay=Math.max(...elements.map(element=>calculateRippleDelay(element,closestElement,columns,rows,ripple.shape)));setTimeout(()=>{setIsRipplePlaying(false);},maxDelay+300)// Add 300ms for the animation duration\n;}};document.addEventListener(\"click\",handleGlobalClick);return()=>{document.removeEventListener(\"click\",handleGlobalClick);};},[animation,elements,columns,rows,elementSize,gap,calculateRippleDelay,ripple.shape,ripple.color,isRipplePlaying,animateElement]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",cursor:\"default\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\"},onClick:handleClick})});}export const extractRGBColorFromString=str=>{const rgbRegex=/(rgba|rgb)\\(.*?\\)/g;const match=str.match(rgbRegex);return match?match[0]:str;};RippleGrid.displayName=\"Ripple Grid\";addPropertyControls(RippleGrid,{radius:{type:ControlType.Number,title:\"Radius\",defaultValue:10,min:0,step:1},elementSize:{type:ControlType.Number,title:\"Size\",defaultValue:10,min:2,max:100,step:1,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:20,min:0,step:1,unit:\"px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#999999\"},optional:true},fill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#999999\",optional:true},animation:{type:ControlType.Enum,title:\"Animation\",defaultValue:\"onClick\",options:[\"onClick\",\"autoLoop\"],optionTitles:[\"On Click\",\"Auto Loop\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:1,min:.1,max:10,step:.1,unit:\"s\",hidden:({animation})=>animation!==\"autoLoop\"},ripple:{type:ControlType.Object,title:\"Ripple\",controls:{color:{type:ControlType.Array,title:\"Color\",control:{type:ControlType.Color},defaultValue:[\"#FFFFFF\",\"#2060DF\"],maxCount:10},shape:{type:ControlType.Enum,title:\"Shape\",defaultValue:\"lightning\",options:[\"circle\",\"star\",\"radialLines\",\"diamond\",\"cross\",\"wave\",\"lightning\"],optionTitles:[\"Circle\",\"Star\",\"Radial Lines\",\"Diamond\",\"Cross\",\"Wave\",\"Lightning\"]},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.5,max:20,step:.1,unit:\"x\"}},defaultValue:{color:[\"#FFFFFF\",\"#2060DF\"],shape:\"lightning\",scale:1},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"extractRGBColorFromString\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"RippleGrid\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RippleGrid_Prod.map","// Component that generates different colored pixels in a line, each pixel 2x2 px\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useMemo,useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function PixelLine(props){const{pixelCount=50,lineWidth=1,colorPalette=[\"#FF0000\",\"#00FF00\",\"#0000FF\",\"#FFFF00\",\"#FF00FF\",\"#00FFFF\"],randomSeed=1,spacing=0,backgroundColor=\"#FFFFFF\",animationSpeed=100}=props;const[animationSeed,setAnimationSeed]=useState(0);const isStatic=useIsStaticRenderer();// Infinite animation loop\nuseEffect(()=>{if(isStatic)return;const interval=setInterval(()=>{startTransition(()=>{setAnimationSeed(prev=>prev+1);});},animationSpeed)// Use animationSpeed instead of fixed 100ms\n;return()=>clearInterval(interval);},[isStatic]);const pixels=useMemo(()=>{const result=[];// Simple seeded random function\nconst seededRandom=seed=>{const x=Math.sin(seed)*1e4;return x-Math.floor(x);};for(let row=0;row<lineWidth;row++){for(let col=0;col<pixelCount;col++){const seedValue=randomSeed+row*pixelCount+col+animationSeed;const randomValue=seededRandom(seedValue);const colorIndex=Math.floor(randomValue*colorPalette.length);const color=colorPalette[colorIndex]||\"#000000\";// Add random visibility for scattered appearance\nconst visibilityRandom=seededRandom(seedValue+1e3);const isVisible=visibilityRandom>.3// 70% chance to be visible\n;result.push({id:`${row}-${col}`,color,x:col*(2+spacing),y:row*(2+spacing),isVisible});}}return result;},[pixelCount,lineWidth,colorPalette,randomSeed,spacing,animationSeed]);const containerWidth=pixelCount*(2+spacing)-spacing;const containerHeight=lineWidth*(2+spacing)-spacing;// Ensure minimum size of 5x5\nconst minSize=5;const finalWidth=Math.max(containerWidth,minSize);const finalHeight=Math.max(containerHeight,minSize);return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,position:\"relative\",width:finalWidth,height:finalHeight,backgroundColor,overflow:\"hidden\"},children:pixels.map(pixel=>/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:pixel.x,top:pixel.y,width:2,height:2,backgroundColor:pixel.color},animate:{backgroundColor:pixel.color,opacity:pixel.isVisible?1:0},transition:{duration:.1,ease:\"linear\"}},pixel.id))});}addPropertyControls(PixelLine,{pixelCount:{type:ControlType.Number,title:\"Pixel Count\",defaultValue:50,min:1,max:200,step:1},lineWidth:{type:ControlType.Number,title:\"Line Width\",defaultValue:1,min:1,max:20,step:1},colorPalette:{type:ControlType.Array,title:\"Color Palette\",control:{type:ControlType.Color},defaultValue:[\"#FF0000\",\"#00FF00\",\"#0000FF\",\"#FFFF00\",\"#FF00FF\",\"#00FFFF\"],maxCount:20},randomSeed:{type:ControlType.Number,title:\"Random Seed\",defaultValue:1,min:1,max:1e3,step:1},spacing:{type:ControlType.Number,title:\"Pixel Spacing\",defaultValue:0,min:0,max:10,step:1,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:100,min:10,max:2e3,step:10,unit:\"ms\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PixelLine\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PixelLine.map","// Generated by Framer (f5fefb6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,cx,Link,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={eYpoOHJjD:{hover:true,pressed:true}};const serializationHash=\"framer-E1jOf\";const variantClassNames={eYpoOHJjD:\"framer-v-1bp727n\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:30,delay:0,mass:1,stiffness:200,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};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({defaultVariant:\"eYpoOHJjD\",enabledGestures,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:transition1,children:/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"eYpoOHJjD\",scopeId:\"SVigQrAlA\",...addPropertyOverrides({\"eYpoOHJjD-pressed\":{href:\"https://www.linkedin.com/in/andy-hey-andy/\",openInNewTab:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1bp727n\",className,classNames)} framer-uphpuq`,\"data-framer-name\":\"LI button\",layoutDependency:layoutDependency,layoutId:\"eYpoOHJjD\",ref:refBinding,style:{...style},...addPropertyOverrides({\"eYpoOHJjD-hover\":{\"data-framer-name\":undefined},\"eYpoOHJjD-pressed\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1ekv535\",layoutDependency:layoutDependency,layoutId:\"b0JEcOzsn\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\" overflow=\"visible\"><path d=\"M 0 0 L 24 0 L 24 24 L 0 24 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"eYpoOHJjD-pressed\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\" overflow=\"visible\"><path d=\"M 0 0 L 24 0 L 24 24 L 0 24 Z\" fill=\"rgb(0, 0, 0)\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1jg5a6g\",layoutDependency:layoutDependency,layoutId:\"Qz5ROMv0T\",children:/*#__PURE__*/_jsxs(SVG,{className:\"framer-lsrq07\",\"data-framer-name\":\"in\",layoutDependency:layoutDependency,layoutId:\"SEZjdwabs\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\" overflow=\"visible\"><path d=\"M 17.778 0 C 19.005 0 20 0.995 20 2.222 L 20 17.778 C 20 19.005 19.005 20 17.778 20 L 2.222 20 C 0.995 20 0 19.005 0 17.778 L 0 2.222 C 0 0.995 0.995 0 2.222 0 Z M 3.064 17.222 L 6.047 17.222 L 6.047 7.593 L 3.064 7.593 Z M 13.717 7.298 C 11.674 7.298 10.814 8.89 10.814 8.89 L 10.814 7.593 L 7.954 7.593 L 7.954 17.222 L 10.814 17.222 L 10.814 12.167 C 10.814 10.813 11.438 10.007 12.631 10.007 C 13.728 10.007 14.254 10.781 14.254 12.167 L 14.254 17.222 L 17.222 17.222 L 17.222 11.125 C 17.222 8.546 15.76 7.299 13.718 7.298 Z M 4.542 2.778 C 3.567 2.778 2.778 3.574 2.778 4.555 C 2.778 5.536 3.567 6.332 4.542 6.332 C 5.516 6.332 6.305 5.536 6.305 4.555 C 6.305 3.574 5.516 2.778 4.542 2.778 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1uov4wf\",layoutDependency:layoutDependency,layoutId:\"aCi9Llvtr\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\" overflow=\"visible\"><path d=\"M 17.778 0 C 19.005 0 20 0.995 20 2.222 L 20 17.778 C 20 19.005 19.005 20 17.778 20 L 2.222 20 C 0.995 20 0 19.005 0 17.778 L 0 2.222 C 0 0.995 0.995 0 2.222 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-fqcrwz\",layoutDependency:layoutDependency,layoutId:\"d1ffOQMT7\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 2.983 9.63\" overflow=\"visible\"><path d=\"M 0 9.63 L 2.983 9.63 L 2.983 0 L 0 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-4kizti\",layoutDependency:layoutDependency,layoutId:\"FKEyywqHf\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.268 9.924\" overflow=\"visible\"><path d=\"M 5.763 0 C 3.72 0 2.86 1.591 2.86 1.591 L 2.86 0.294 L 0 0.294 L 0 9.924 L 2.86 9.924 L 2.86 4.869 C 2.86 3.514 3.484 2.708 4.677 2.708 C 5.774 2.708 6.3 3.483 6.3 4.869 L 6.3 9.924 L 9.268 9.924 L 9.268 3.827 C 9.268 1.247 7.806 0 5.764 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1edjj7u\",layoutDependency:layoutDependency,layoutId:\"wMbZww4MW\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.527 3.554\" overflow=\"visible\"><path d=\"M 1.764 0 C 0.789 0 0 0.796 0 1.777 C 0 2.758 0.789 3.554 1.764 3.554 C 2.738 3.554 3.527 2.758 3.527 1.777 C 3.527 0.796 2.738 0 1.764 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-E1jOf.framer-uphpuq, .framer-E1jOf .framer-uphpuq { display: block; }\",\".framer-E1jOf.framer-1bp727n { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 24px; }\",\".framer-E1jOf .framer-1ekv535 { height: 24px; left: 0px; position: absolute; top: 25px; width: 24px; }\",\".framer-E1jOf .framer-1jg5a6g { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; mix-blend-mode: difference; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-E1jOf .framer-lsrq07 { height: 20px; position: relative; width: 20px; }\",\".framer-E1jOf .framer-1uov4wf { height: 20px; left: 0px; position: absolute; top: 0px; width: 20px; }\",\".framer-E1jOf .framer-fqcrwz { height: 10px; left: 3px; position: absolute; top: 8px; width: 3px; }\",\".framer-E1jOf .framer-4kizti { height: 10px; left: 8px; position: absolute; top: 8px; width: 10px; }\",\".framer-E1jOf .framer-1edjj7u { height: 4px; left: 3px; position: absolute; top: 3px; width: 4px; }\",\".framer-E1jOf.framer-v-1bp727n.hover.framer-1bp727n { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 24px); }\",\".framer-E1jOf.framer-v-1bp727n.hover .framer-1ekv535, .framer-E1jOf.framer-v-1bp727n.pressed .framer-1ekv535 { top: 0px; }\",\".framer-E1jOf.framer-v-1bp727n.pressed.framer-1bp727n { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 24px); text-decoration: none; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 24\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"PWP3zezUi\":{\"layout\":[\"fixed\",\"fixed\"]},\"n4azWtKDU\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerSVigQrAlA=withCSS(Component,css,\"framer-E1jOf\");export default FramerSVigQrAlA;FramerSVigQrAlA.displayName=\"LI\";FramerSVigQrAlA.defaultProps={height:24,width:24};addFonts(FramerSVigQrAlA,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerSVigQrAlA\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PWP3zezUi\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"n4azWtKDU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SVigQrAlA.map","// Generated by Framer (f5fefb6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,cx,Link,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={LcISnMHuM:{hover:true,pressed:true}};const serializationHash=\"framer-0pt5u\";const variantClassNames={LcISnMHuM:\"framer-v-126q5rz\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:30,delay:0,mass:1,stiffness:200,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};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({defaultVariant:\"LcISnMHuM\",enabledGestures,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:transition1,children:/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"LcISnMHuM\",scopeId:\"v2kAXTviT\",...addPropertyOverrides({\"LcISnMHuM-pressed\":{href:\"https://www.instagram.com/ndee.obj/\",openInNewTab:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-126q5rz\",className,classNames)} framer-3qybxj`,\"data-framer-name\":\"IG button\",layoutDependency:layoutDependency,layoutId:\"LcISnMHuM\",ref:refBinding,style:{...style},...addPropertyOverrides({\"LcISnMHuM-hover\":{\"data-framer-name\":undefined},\"LcISnMHuM-pressed\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-3jebsg\",layoutDependency:layoutDependency,layoutId:\"mu3YD0kW9\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\" overflow=\"visible\"><path d=\"M 0 0 L 24 0 L 24 24 L 0 24 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"LcISnMHuM-pressed\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\" overflow=\"visible\"><path d=\"M 0 0 L 24 0 L 24 24 L 0 24 Z\" fill=\"rgb(0, 0, 0)\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ccuf3\",layoutDependency:layoutDependency,layoutId:\"iftwuWxXz\",children:/*#__PURE__*/_jsxs(SVG,{className:\"framer-uz98ao\",\"data-framer-name\":\"ig\",layoutDependency:layoutDependency,layoutId:\"KA6S0budO\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\" overflow=\"visible\"><path d=\"M 15.34 3.46 C 14.677 3.46 14.14 3.997 14.14 4.66 C 14.14 5.323 14.677 5.86 15.34 5.86 C 16.003 5.86 16.54 5.323 16.54 4.66 C 16.54 3.997 16.003 3.46 15.34 3.46 Z M 19.94 5.88 C 19.921 5.05 19.765 4.229 19.48 3.45 C 19.226 2.783 18.83 2.179 18.32 1.68 C 17.825 1.167 17.22 0.774 16.55 0.53 C 15.773 0.236 14.951 0.077 14.12 0.06 C 13.06 0 12.72 0 10 0 C 7.28 0 6.94 0 5.88 0.06 C 5.049 0.077 4.227 0.236 3.45 0.53 C 2.782 0.777 2.177 1.17 1.68 1.68 C 1.167 2.175 0.774 2.78 0.53 3.45 C 0.236 4.227 0.077 5.049 0.06 5.88 C 0 6.94 0 7.28 0 10 C 0 12.72 0 13.06 0.06 14.12 C 0.077 14.951 0.236 15.773 0.53 16.55 C 0.774 17.22 1.167 17.825 1.68 18.32 C 2.177 18.83 2.782 19.223 3.45 19.47 C 4.227 19.764 5.049 19.923 5.88 19.94 C 6.94 20 7.28 20 10 20 C 12.72 20 13.06 20 14.12 19.94 C 14.951 19.923 15.773 19.764 16.55 19.47 C 17.22 19.226 17.825 18.833 18.32 18.32 C 18.832 17.823 19.228 17.218 19.48 16.55 C 19.765 15.771 19.921 14.95 19.94 14.12 C 19.94 13.06 20 12.72 20 10 C 20 7.28 20 6.94 19.94 5.88 Z M 18.14 14 C 18.133 14.635 18.018 15.264 17.8 15.86 C 17.64 16.295 17.384 16.688 17.05 17.01 C 16.726 17.341 16.333 17.596 15.9 17.76 C 15.304 17.978 14.675 18.093 14.04 18.1 C 13.04 18.15 12.67 18.16 10.04 18.16 C 7.41 18.16 7.04 18.16 6.04 18.1 C 5.381 18.112 4.725 18.011 4.1 17.8 C 3.686 17.628 3.311 17.373 3 17.05 C 2.668 16.729 2.415 16.335 2.26 15.9 C 2.016 15.295 1.88 14.652 1.86 14 C 1.86 13 1.8 12.63 1.8 10 C 1.8 7.37 1.8 7 1.86 6 C 1.864 5.351 1.983 4.708 2.21 4.1 C 2.386 3.678 2.656 3.302 3 3 C 3.304 2.656 3.679 2.383 4.1 2.2 C 4.71 1.98 5.352 1.865 6 1.86 C 7 1.86 7.37 1.8 10 1.8 C 12.63 1.8 13 1.8 14 1.86 C 14.635 1.867 15.264 1.982 15.86 2.2 C 16.314 2.369 16.722 2.643 17.05 3 C 17.378 3.307 17.634 3.683 17.8 4.1 C 18.022 4.709 18.137 5.352 18.14 6 C 18.19 7 18.2 7.37 18.2 10 C 18.2 12.63 18.19 13 18.14 14 Z M 10 4.87 C 7.168 4.876 4.876 7.175 4.88 10.007 C 4.884 12.839 7.181 15.132 10.013 15.13 C 12.845 15.128 15.14 12.832 15.14 10 C 15.143 8.637 14.602 7.329 13.637 6.366 C 12.672 5.403 11.363 4.865 10 4.87 Z M 10 13.33 C 8.161 13.33 6.67 11.839 6.67 10 C 6.67 8.161 8.161 6.67 10 6.67 C 11.839 6.67 13.33 8.161 13.33 10 C 13.33 11.839 11.839 13.33 10 13.33 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1dbfrf4\",layoutDependency:layoutDependency,layoutId:\"uiYgfGyhZ\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 2.4 2.4\" overflow=\"visible\"><path d=\"M 1.2 0 C 0.537 0 0 0.537 0 1.2 C 0 1.863 0.537 2.4 1.2 2.4 C 1.863 2.4 2.4 1.863 2.4 1.2 C 2.4 0.537 1.863 0 1.2 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1r4mfx7\",layoutDependency:layoutDependency,layoutId:\"Q2RYXi0Tr\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\" overflow=\"visible\"><path d=\"M 19.94 5.88 C 19.921 5.05 19.765 4.229 19.48 3.45 C 19.226 2.783 18.83 2.179 18.32 1.68 C 17.825 1.167 17.22 0.774 16.55 0.53 C 15.773 0.236 14.951 0.077 14.12 0.06 C 13.06 0 12.72 0 10 0 C 7.28 0 6.94 0 5.88 0.06 C 5.049 0.077 4.227 0.236 3.45 0.53 C 2.782 0.777 2.177 1.17 1.68 1.68 C 1.167 2.175 0.774 2.78 0.53 3.45 C 0.236 4.227 0.077 5.049 0.06 5.88 C 0 6.94 0 7.28 0 10 C 0 12.72 0 13.06 0.06 14.12 C 0.077 14.951 0.236 15.773 0.53 16.55 C 0.774 17.22 1.167 17.825 1.68 18.32 C 2.177 18.83 2.782 19.223 3.45 19.47 C 4.227 19.764 5.049 19.923 5.88 19.94 C 6.94 20 7.28 20 10 20 C 12.72 20 13.06 20 14.12 19.94 C 14.951 19.923 15.773 19.764 16.55 19.47 C 17.22 19.226 17.825 18.833 18.32 18.32 C 18.832 17.823 19.228 17.218 19.48 16.55 C 19.765 15.771 19.921 14.95 19.94 14.12 C 19.94 13.06 20 12.72 20 10 C 20 7.28 20 6.94 19.94 5.88 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-mpqt7z\",layoutDependency:layoutDependency,layoutId:\"Uuz4hosgc\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 16.4 16.36\" overflow=\"visible\"><path d=\"M 16.34 12.2 C 16.333 12.835 16.218 13.464 16 14.06 C 15.84 14.495 15.584 14.888 15.25 15.21 C 14.926 15.541 14.533 15.796 14.1 15.96 C 13.504 16.178 12.875 16.293 12.24 16.3 C 11.24 16.35 10.87 16.36 8.24 16.36 C 5.61 16.36 5.24 16.36 4.24 16.3 C 3.581 16.312 2.925 16.211 2.3 16 C 1.886 15.828 1.511 15.573 1.2 15.25 C 0.868 14.929 0.615 14.535 0.46 14.1 C 0.216 13.495 0.08 12.852 0.06 12.2 C 0.06 11.2 0 10.83 0 8.2 C 0 5.57 0 5.2 0.06 4.2 C 0.064 3.551 0.183 2.908 0.41 2.3 C 0.586 1.878 0.856 1.502 1.2 1.2 C 1.504 0.856 1.879 0.583 2.3 0.4 C 2.91 0.18 3.552 0.065 4.2 0.06 C 5.2 0.06 5.57 0 8.2 0 C 10.83 0 11.2 0 12.2 0.06 C 12.835 0.067 13.464 0.182 14.06 0.4 C 14.514 0.569 14.922 0.843 15.25 1.2 C 15.578 1.507 15.834 1.883 16 2.3 C 16.222 2.909 16.337 3.552 16.34 4.2 C 16.39 5.2 16.4 5.57 16.4 8.2 C 16.4 10.83 16.39 11.2 16.34 12.2 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-ss05a7\",layoutDependency:layoutDependency,layoutId:\"K9CDJcGSr\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10.26 10.26\" overflow=\"visible\"><path d=\"M 5.12 0 C 2.288 0.006 -0.004 2.305 0 5.137 C 0.004 7.969 2.301 10.262 5.133 10.26 C 7.965 10.258 10.26 7.962 10.26 5.13 C 10.263 3.767 9.722 2.459 8.757 1.496 C 7.792 0.533 6.483 -0.005 5.12 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1764h6i\",layoutDependency:layoutDependency,layoutId:\"TzK5Vy1lg\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 6.66 6.66\" overflow=\"visible\"><path d=\"M 3.33 6.66 C 1.491 6.66 0 5.169 0 3.33 C 0 1.491 1.491 0 3.33 0 C 5.169 0 6.66 1.491 6.66 3.33 C 6.66 5.169 5.169 6.66 3.33 6.66 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-0pt5u.framer-3qybxj, .framer-0pt5u .framer-3qybxj { display: block; }\",\".framer-0pt5u.framer-126q5rz { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 24px; }\",\".framer-0pt5u .framer-3jebsg { height: 24px; left: 0px; position: absolute; top: 25px; width: 24px; }\",\".framer-0pt5u .framer-1ccuf3 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; mix-blend-mode: difference; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-0pt5u .framer-uz98ao { height: 20px; position: relative; width: 20px; }\",\".framer-0pt5u .framer-1dbfrf4 { height: 3px; left: 14px; position: absolute; top: 4px; width: 3px; }\",\".framer-0pt5u .framer-1r4mfx7 { height: 20px; left: 0px; position: absolute; top: 0px; width: 20px; }\",\".framer-0pt5u .framer-mpqt7z { height: 17px; left: 2px; position: absolute; top: 2px; width: 17px; }\",\".framer-0pt5u .framer-ss05a7 { height: 11px; left: 5px; position: absolute; top: 5px; width: 11px; }\",\".framer-0pt5u .framer-1764h6i { height: 7px; left: 7px; position: absolute; top: 7px; width: 7px; }\",\".framer-0pt5u.framer-v-126q5rz.hover.framer-126q5rz { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 24px); }\",\".framer-0pt5u.framer-v-126q5rz.hover .framer-3jebsg, .framer-0pt5u.framer-v-126q5rz.pressed .framer-3jebsg { top: 0px; }\",\".framer-0pt5u.framer-v-126q5rz.pressed.framer-126q5rz { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 24px); text-decoration: none; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 24\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"vdWXM7iL0\":{\"layout\":[\"fixed\",\"fixed\"]},\"bEhf7br7t\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerv2kAXTviT=withCSS(Component,css,\"framer-0pt5u\");export default Framerv2kAXTviT;Framerv2kAXTviT.displayName=\"IG\";Framerv2kAXTviT.defaultProps={height:24,width:24};addFonts(Framerv2kAXTviT,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerv2kAXTviT\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"vdWXM7iL0\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"bEhf7br7t\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./v2kAXTviT.map","// Generated by Framer (4cdda18)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import RippleGrid from\"https://framerusercontent.com/modules/OxiepqbOwL267G9suPMe/cYBMrQGoHe7B0joErUmV/RippleGrid_Prod.js\";import PixelLine from\"https://framerusercontent.com/modules/Xwc7IcwYHj7ld7YAg8qh/5JvYYIjVC5b7tPwLRkXL/PixelLine.js\";import LI from\"https://framerusercontent.com/modules/LLtlUM6trW6moKbqucGx/1LSq8hJXlj2xb8QUuIdG/SVigQrAlA.js\";import IG from\"https://framerusercontent.com/modules/Ct2LrGMUuzvaXgngVwSO/7CRPFZzTSA3vwO9LGx6x/v2kAXTviT.js\";const RippleGridFonts=getFonts(RippleGrid);const PixelLineFonts=getFonts(PixelLine);const IGFonts=getFonts(IG);const LIFonts=getFonts(LI);const cycleOrder=[\"kA73krC3J\",\"TvnHbC6i5\",\"WEUZS2Rzg\",\"nhxdnYvzV\"];const serializationHash=\"framer-2d3LW\";const variantClassNames={kA73krC3J:\"framer-v-mafiqi\",nhxdnYvzV:\"framer-v-15jbgev\",TvnHbC6i5:\"framer-v-mw2ahh\",WEUZS2Rzg:\"framer-v-1oqy33g\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop 2\":\"TvnHbC6i5\",\"Tablet 2\":\"WEUZS2Rzg\",Desktop:\"kA73krC3J\",Phone:\"nhxdnYvzV\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"kA73krC3J\"};};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:\"kA73krC3J\",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:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-mafiqi\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"kA73krC3J\",ref:refBinding,style:{backgroundColor:\"rgb(0, 0, 0)\",...style},...addPropertyOverrides({nhxdnYvzV:{\"data-framer-name\":\"Phone\"},TvnHbC6i5:{\"data-framer-name\":\"Desktop 2\"},WEUZS2Rzg:{\"data-framer-name\":\"Tablet 2\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-lxdvv1-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"aU9dPpRXd-container\",nodeId:\"aU9dPpRXd\",rendersWithMotion:true,scopeId:\"ffGJLOTGu\",children:/*#__PURE__*/_jsx(RippleGrid,{animation:\"onClick\",delay:1,elementSize:2,fill:\"rgb(0, 0, 0)\",gap:10,height:\"100%\",id:\"aU9dPpRXd\",layoutId:\"aU9dPpRXd\",radius:0,ripple:{color:[\"rgb(255, 255, 255)\",\"rgb(255, 255, 255)\"],scale:1,shape:\"star\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1tqj0yr-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"XF5wrfU_p-container\",nodeId:\"XF5wrfU_p\",rendersWithMotion:true,scopeId:\"ffGJLOTGu\",children:/*#__PURE__*/_jsx(PixelLine,{animationSpeed:300,backgroundColor:\"rgba(255, 255, 255, 0)\",colorPalette:[\"rgb(0, 0, 0)\",\"rgb(255, 255, 255)\",\"rgb(0, 0, 0)\",\"rgb(255, 255, 255)\",\"rgb(0, 0, 0)\",\"rgb(0, 0, 0)\"],height:\"100%\",id:\"XF5wrfU_p\",layoutId:\"XF5wrfU_p\",lineWidth:2,pixelCount:200,randomSeed:1e3,spacing:10,style:{width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,width:\"24px\",y:(componentViewport?.y||0)+(40+((componentViewport?.height||104)-80-24)/2),...addPropertyOverrides({nhxdnYvzV:{y:(componentViewport?.y||0)+(40+((componentViewport?.height||200)-80-24)/2)},WEUZS2Rzg:{y:(componentViewport?.y||0)+(40+((componentViewport?.height||200)-80-24)/2)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1d20yw6-container\",layoutDependency:layoutDependency,layoutId:\"XzhPnQCrg-container\",nodeId:\"XzhPnQCrg\",rendersWithMotion:true,scopeId:\"ffGJLOTGu\",children:/*#__PURE__*/_jsx(IG,{height:\"100%\",id:\"XzhPnQCrg\",layoutId:\"XzhPnQCrg\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,width:\"24px\",y:(componentViewport?.y||0)+(40+((componentViewport?.height||104)-80-24)/2),...addPropertyOverrides({nhxdnYvzV:{y:(componentViewport?.y||0)+(40+((componentViewport?.height||200)-80-24)/2)},WEUZS2Rzg:{y:(componentViewport?.y||0)+(40+((componentViewport?.height||200)-80-24)/2)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1notbsx-container\",layoutDependency:layoutDependency,layoutId:\"rnQcy1soy-container\",nodeId:\"rnQcy1soy\",rendersWithMotion:true,scopeId:\"ffGJLOTGu\",children:/*#__PURE__*/_jsx(LI,{height:\"100%\",id:\"rnQcy1soy\",layoutId:\"rnQcy1soy\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-2d3LW.framer-6y5mu8, .framer-2d3LW .framer-6y5mu8 { display: block; }\",\".framer-2d3LW.framer-mafiqi { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-end; overflow: hidden; padding: 40px 40px 40px 0px; position: relative; width: 1440px; }\",\".framer-2d3LW .framer-lxdvv1-container { bottom: 20px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 0; }\",\".framer-2d3LW .framer-1tqj0yr-container { flex: none; height: auto; left: 0px; mix-blend-mode: difference; position: absolute; right: 0px; top: 90px; z-index: 0; }\",\".framer-2d3LW .framer-1d20yw6-container, .framer-2d3LW .framer-1notbsx-container { flex: none; height: 24px; position: relative; width: 24px; }\",\".framer-2d3LW.framer-v-mw2ahh.framer-mafiqi { width: 1240px; }\",\".framer-2d3LW.framer-v-1oqy33g.framer-mafiqi, .framer-2d3LW.framer-v-15jbgev.framer-mafiqi { width: 200px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 104\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"TvnHbC6i5\":{\"layout\":[\"fixed\",\"auto\"]},\"WEUZS2Rzg\":{\"layout\":[\"fixed\",\"auto\"]},\"nhxdnYvzV\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerffGJLOTGu=withCSS(Component,css,\"framer-2d3LW\");export default FramerffGJLOTGu;FramerffGJLOTGu.displayName=\"footer\";FramerffGJLOTGu.defaultProps={height:104,width:1440};addPropertyControls(FramerffGJLOTGu,{variant:{options:[\"kA73krC3J\",\"TvnHbC6i5\",\"WEUZS2Rzg\",\"nhxdnYvzV\"],optionTitles:[\"Desktop\",\"Desktop 2\",\"Tablet 2\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerffGJLOTGu,[{explicitInter:true,fonts:[]},...RippleGridFonts,...PixelLineFonts,...IGFonts,...LIFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerffGJLOTGu\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"104\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"TvnHbC6i5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"WEUZS2Rzg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"nhxdnYvzV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ffGJLOTGu.map","// Generated by Framer (ba156f5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,cx,Link,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={JedR7jYLm:{hover:true,pressed:true}};const serializationHash=\"framer-wNzRs\";const variantClassNames={JedR7jYLm:\"framer-v-1q99xsk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:300,delay:0,mass:2,stiffness:2e3,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};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({defaultVariant:\"JedR7jYLm\",enabledGestures,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:transition1,children:/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"JedR7jYLm\",scopeId:\"XjP7VhTTE\",...addPropertyOverrides({\"JedR7jYLm-pressed\":{href:{webPageId:\"augiA20Il\"},openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1q99xsk\",className,classNames)} framer-ny69ir`,\"data-framer-name\":\"strar home\",layoutDependency:layoutDependency,layoutId:\"JedR7jYLm\",ref:refBinding,style:{...style},...addPropertyOverrides({\"JedR7jYLm-hover\":{\"data-framer-name\":undefined},\"JedR7jYLm-pressed\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-6lujs5\",layoutDependency:layoutDependency,layoutId:\"tPGeWhXH4\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 42 21\" overflow=\"visible\"><path d=\"M 0 0 L 42 0 L 42 21 L 0 21 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"JedR7jYLm-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 42 25\" overflow=\"visible\"><path d=\"M 0 0 L 42 0 L 42 25 L 0 25 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>'},\"JedR7jYLm-pressed\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 42 25\" overflow=\"visible\"><path d=\"M 0 0 L 42 0 L 42 25 L 0 25 Z\" fill=\"rgb(0, 0, 0)\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1sc5fo0\",layoutDependency:layoutDependency,layoutId:\"IE1bKu4gi\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-14t5c6f\",layoutDependency:layoutDependency,layoutId:\"Tg1ZjyzsP\",opacity:1,requiresOverflowVisible:true,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4 4\" overflow=\"visible\"><path d=\"M 4 4 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-12nphqm\",layoutDependency:layoutDependency,layoutId:\"nHkIoRi_I\",opacity:1,requiresOverflowVisible:true,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4 4\" overflow=\"visible\"><path d=\"M 4 4 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1hst86y\",layoutDependency:layoutDependency,layoutId:\"n_5qAXiV5\",opacity:1,requiresOverflowVisible:true,style:{rotate:90},svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4 4\" overflow=\"visible\"><path d=\"M 4 4 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-101dqi\",layoutDependency:layoutDependency,layoutId:\"DfjlczUbY\",opacity:1,requiresOverflowVisible:true,style:{rotate:90},svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4 4\" overflow=\"visible\"><path d=\"M 4 4 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-t8yzd8\",layoutDependency:layoutDependency,layoutId:\"tp2VaI0VE\",opacity:1,requiresOverflowVisible:true,style:{rotate:-45},svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4 4\" overflow=\"visible\"><path d=\"M 4 4 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"JedR7jYLm-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4.172 4.071\" overflow=\"visible\"><path d=\"M 4.172 4.071 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1hz87mf\",layoutDependency:layoutDependency,layoutId:\"LAc9EcHyp\",opacity:1,requiresOverflowVisible:true,style:{rotate:-45},svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4 4\" overflow=\"visible\"><path d=\"M 4 4 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1sbudtx\",layoutDependency:layoutDependency,layoutId:\"be2xdOjMw\",opacity:1,requiresOverflowVisible:true,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 2 1\" overflow=\"visible\"><path d=\"M 2 0 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"JedR7jYLm-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1 1\" overflow=\"visible\"><path d=\"M 0 0 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>'},\"JedR7jYLm-pressed\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1 1\" overflow=\"visible\"><path d=\"M 0 0 L 0 0\" fill=\"transparent\" stroke-width=\"3\" stroke=\"rgb(255, 255, 255)\" stroke-linecap=\"round\"></path></svg>'}},baseVariant,gestureVariant)})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-wNzRs.framer-ny69ir, .framer-wNzRs .framer-ny69ir { display: block; }\",\".framer-wNzRs.framer-1q99xsk { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 42px; }\",\".framer-wNzRs .framer-6lujs5 { height: 21px; left: 0px; position: absolute; top: 25px; width: 42px; }\",\".framer-wNzRs .framer-1sc5fo0 { flex: none; height: 16px; mix-blend-mode: difference; overflow: visible; position: relative; width: 26px; }\",\".framer-wNzRs .framer-14t5c6f { height: 4px; left: 8px; position: absolute; top: 2px; width: 4px; }\",\".framer-wNzRs .framer-12nphqm { height: 4px; left: 14px; position: absolute; top: 10px; width: 4px; }\",\".framer-wNzRs .framer-1hst86y { height: 4px; left: 14px; position: absolute; top: 2px; width: 4px; }\",\".framer-wNzRs .framer-101dqi { height: 4px; left: 8px; position: absolute; top: 10px; width: 4px; }\",\".framer-wNzRs .framer-t8yzd8 { height: 4px; left: 5px; position: absolute; top: 6px; width: 4px; }\",\".framer-wNzRs .framer-1hz87mf { height: 4px; left: 17px; position: absolute; top: 6px; width: 4px; }\",\".framer-wNzRs .framer-1sbudtx { height: 1px; left: 12px; position: absolute; top: 8px; width: 2px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-6lujs5, .framer-wNzRs.framer-v-1q99xsk.pressed .framer-6lujs5 { height: 25px; top: 0px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-14t5c6f { left: 4px; top: -1px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-12nphqm { left: 18px; top: 13px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-1hst86y { left: 18px; top: -1px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-101dqi { left: 4px; top: 13px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-t8yzd8 { left: -3px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-1hz87mf { left: 25px; }\",\".framer-wNzRs.framer-v-1q99xsk.hover .framer-1sbudtx, .framer-wNzRs.framer-v-1q99xsk.pressed .framer-1sbudtx { left: 13px; width: 1px; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed.framer-1q99xsk { text-decoration: none; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed .framer-14t5c6f { left: 6px; top: 0px; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed .framer-12nphqm { left: 16px; top: 12px; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed .framer-1hst86y { left: 16px; top: 0px; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed .framer-101dqi { left: 6px; top: 12px; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed .framer-t8yzd8 { left: 3px; }\",\".framer-wNzRs.framer-v-1q99xsk.pressed .framer-1hz87mf { left: 19px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 42\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"kXDJ5JJ_M\":{\"layout\":[\"fixed\",\"fixed\"]},\"VPfTBgt3W\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerXjP7VhTTE=withCSS(Component,css,\"framer-wNzRs\");export default FramerXjP7VhTTE;FramerXjP7VhTTE.displayName=\"star home\";FramerXjP7VhTTE.defaultProps={height:24,width:42};addFonts(FramerXjP7VhTTE,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerXjP7VhTTE\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"42\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"kXDJ5JJ_M\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"VPfTBgt3W\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./XjP7VhTTE.map","// Smooth scroll component that applies gentle scrolling behavior to the entire page\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SmoothScroll(props){const{enabled=true,scrollSpeed=1,smoothness=.1,dragResponsiveness=.3,momentumDecay=.95,easingFunction=\"ease-out\"}=props;useEffect(()=>{if(typeof window===\"undefined\"||!enabled)return;// Only disable in canvas and thumbnail modes, allow in preview and published sites\nconst currentTarget=RenderTarget.current();if(currentTarget===RenderTarget.canvas||currentTarget===RenderTarget.thumbnail){return;}let isScrolling=false;let isDragging=false;let targetScrollY=window.scrollY;let currentScrollY=window.scrollY;let velocity=0;let lastWheelTime=0;let animationId=null;let scrollTimeout=null;// Easing functions\nconst easingFunctions={\"linear\":t=>t,\"ease-in\":t=>t*t,\"ease-out\":t=>t*(2-t),\"ease-in-out\":t=>t<.5?2*t*t:-1+(4-2*t)*t,\"ease-in-cubic\":t=>t*t*t,\"ease-out-cubic\":t=>--t*t*t+1,\"ease-in-out-cubic\":t=>t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1,\"ease-in-quart\":t=>t*t*t*t,\"ease-out-quart\":t=>1- --t*t*t*t,\"ease-in-out-quart\":t=>t<.5?8*t*t*t*t:1-8*--t*t*t*t,\"bounce\":t=>{if(t<1/2.75){return 7.5625*t*t;}else if(t<2/2.75){return 7.5625*(t-=1.5/2.75)*t+.75;}else if(t<2.5/2.75){return 7.5625*(t-=2.25/2.75)*t+.9375;}else{return 7.5625*(t-=2.625/2.75)*t+.984375;}}};const easing=easingFunctions[easingFunction]||easingFunctions[\"ease-out\"];const stopScrolling=()=>{isScrolling=false;isDragging=false;velocity=0;if(animationId){cancelAnimationFrame(animationId);animationId=null;}if(scrollTimeout){clearTimeout(scrollTimeout);scrollTimeout=null;}};const smoothScrollStep=()=>{if(!isScrolling){animationId=null;return;}const difference=targetScrollY-currentScrollY;const maxScroll=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);// Calculate dynamic smoothness based on context\nlet dynamicSmoothness=smoothness;if(isDragging){// During active dragging, use higher responsiveness\ndynamicSmoothness=Math.max(dragResponsiveness,smoothness*2);}else{// During momentum scrolling, apply velocity-based smoothing\nconst velocityFactor=Math.min(1,Math.abs(velocity)/50);dynamicSmoothness=smoothness*(.5+velocityFactor*.5);}// Add elastic easing at boundaries\nconst boundaryThreshold=100// pixels from top/bottom\n;const elasticFactor=.2// how much to slow down near boundaries\n;if(currentScrollY<boundaryThreshold){// Near top - apply elastic easing\nconst distanceFromTop=currentScrollY/boundaryThreshold;dynamicSmoothness*=elasticFactor+(1-elasticFactor)*distanceFromTop;}else if(currentScrollY>maxScroll-boundaryThreshold){// Near bottom - apply elastic easing\nconst distanceFromBottom=(maxScroll-currentScrollY)/boundaryThreshold;dynamicSmoothness*=elasticFactor+(1-elasticFactor)*distanceFromBottom;}// Apply momentum decay when not actively dragging\nif(!isDragging&&Math.abs(velocity)>.1){velocity*=momentumDecay;targetScrollY+=velocity;targetScrollY=Math.max(0,Math.min(maxScroll,targetScrollY));}if(Math.abs(difference)<.5&&Math.abs(velocity)<.1){currentScrollY=targetScrollY;window.scrollTo(0,currentScrollY);stopScrolling();return;}currentScrollY+=difference*dynamicSmoothness;window.scrollTo(0,currentScrollY);animationId=requestAnimationFrame(smoothScrollStep);};const handleWheel=e=>{const now=Date.now();const timeDelta=now-lastWheelTime;lastWheelTime=now;// Detect if this is active dragging (rapid wheel events) or discrete scrolling\nisDragging=timeDelta<50// Less than 50ms between events indicates dragging\n;// Clear any existing timeout\nif(scrollTimeout){clearTimeout(scrollTimeout);}// Set a timeout to stop scrolling if no more wheel events\nscrollTimeout=window.setTimeout(()=>{isDragging=false;// Allow momentum to continue for a bit\nsetTimeout(()=>{if(!isDragging){stopScrolling();currentScrollY=window.scrollY;targetScrollY=window.scrollY;}},100);},isDragging?50:150);e.preventDefault();// Sync current position if we weren't scrolling\nif(!isScrolling){currentScrollY=window.scrollY;targetScrollY=window.scrollY;velocity=0;}const scrollDelta=e.deltaY*scrollSpeed;const maxScroll=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);// Update velocity for momentum\nvelocity=scrollDelta*.5;targetScrollY=Math.max(0,Math.min(maxScroll,targetScrollY+scrollDelta));if(!isScrolling){isScrolling=true;if(animationId)cancelAnimationFrame(animationId);animationId=requestAnimationFrame(smoothScrollStep);}};const handleKeyDown=e=>{const scrollAmount=100*scrollSpeed;const maxScroll=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);// Sync current position if we weren't scrolling\nif(!isScrolling){currentScrollY=window.scrollY;targetScrollY=window.scrollY;velocity=0;}isDragging=false// Keyboard scrolling is not dragging\n;switch(e.key){case\"ArrowDown\":case\"PageDown\":e.preventDefault();targetScrollY=Math.min(maxScroll,targetScrollY+scrollAmount);velocity=scrollAmount*.3;break;case\"ArrowUp\":case\"PageUp\":e.preventDefault();targetScrollY=Math.max(0,targetScrollY-scrollAmount);velocity=-scrollAmount*.3;break;case\"Home\":e.preventDefault();targetScrollY=0;velocity=0;break;case\"End\":e.preventDefault();targetScrollY=maxScroll;velocity=0;break;default:return;}if(!isScrolling){isScrolling=true;if(animationId)cancelAnimationFrame(animationId);animationId=requestAnimationFrame(smoothScrollStep);}};// Handle programmatic scrolls or other scroll events\nconst handleScroll=()=>{// Only sync if we're not currently animating\nif(!isScrolling){currentScrollY=window.scrollY;targetScrollY=window.scrollY;velocity=0;}};// Override default scroll behavior\ndocument.documentElement.style.scrollBehavior=\"auto\";window.addEventListener(\"wheel\",handleWheel,{passive:false});window.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"scroll\",handleScroll,{passive:true});// Initial sync\ncurrentScrollY=window.scrollY;targetScrollY=window.scrollY;velocity=0;return()=>{// Stop any ongoing scrolling\nstopScrolling();// Reset scroll behavior\ndocument.documentElement.style.scrollBehavior=\"\";// Remove event listeners\nwindow.removeEventListener(\"wheel\",handleWheel);window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"scroll\",handleScroll);};},[enabled,scrollSpeed,smoothness,dragResponsiveness,momentumDecay,easingFunction]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:1,height:1,pointerEvents:\"none\",opacity:0}});}addPropertyControls(SmoothScroll,{enabled:{type:ControlType.Boolean,title:\"Enable Smooth Scroll\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},scrollSpeed:{type:ControlType.Number,title:\"Scroll Speed\",defaultValue:1,min:.1,max:3,step:.1,unit:\"x\"},smoothness:{type:ControlType.Number,title:\"Smoothness\",defaultValue:.1,min:.01,max:.5,step:.01,unit:\"\"},dragResponsiveness:{type:ControlType.Number,title:\"Drag Responsiveness\",defaultValue:.3,min:.1,max:.8,step:.05,unit:\"\"},momentumDecay:{type:ControlType.Number,title:\"Momentum Decay\",defaultValue:.95,min:.8,max:.99,step:.01,unit:\"\"},easingFunction:{type:ControlType.Enum,title:\"Easing Function\",defaultValue:\"ease-out\",options:[\"linear\",\"ease-in\",\"ease-out\",\"ease-in-out\",\"ease-in-cubic\",\"ease-out-cubic\",\"ease-in-out-cubic\",\"ease-in-quart\",\"ease-out-quart\",\"ease-in-out-quart\",\"bounce\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease In Out\",\"Ease In Cubic\",\"Ease Out Cubic\",\"Ease In Out Cubic\",\"Ease In Quart\",\"Ease Out Quart\",\"Ease In Out Quart\",\"Bounce\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll.map","// Generated by Framer (4cdda18)\nexport default function metadata(params,activeLocale){return{description:\"Hi, I’m Andy - I craft digital experiences that blend design, storytelling, and 3D magic.\",favicon:\"https://framerusercontent.com/assets/PmGEJ7hW1EuLaDt21b5uJEFZjM.svg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/LCu0EZKNm6PnfaYHOSi221tnM.png\",title:\"andrei frolov | portfolio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}