{"version":3,"file":"script_main.OLa-OiEC.mjs","names":["isBrowser","useRef","React.useId","React.createElement","Footer","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.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/RGazKUXr1f6k251Zg5di/F0u9Fo7oYe0eHrnJUnPj/R746K0a7d.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (b8c9ccb)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/cAPMVEI6osbJ1UvICgTq/Embed.js\";const EmbedFonts=getFonts(Embed);const breakpoints={NOvXETaEU:\"(min-width: 1200px)\",NQwzOkjUo:\"(max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-pQvdC\";const variantClassNames={NOvXETaEU:\"framer-v-hlsc4f\",NQwzOkjUo:\"framer-v-17wkfb3\"};const breakpointRules={NQwzOkjUo:[\".framer-pQvdC .framer-1960xrh { align-content: unset; align-items: unset; display: grid; flex: 1 0 0px; grid-auto-rows: minmax(0, 1fr); grid-template-columns: repeat(2, minmax(50px, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); height: 1px; overflow: var(--overflow-clip-fallback, clip); }\",\".framer-pQvdC .framer-zgemef-container { align-self: center; flex: none; grid-column: span 2; grid-row: span 2; justify-self: center; width: 100%; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={NQwzOkjUo:\".framer-17wkfb3-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-pQvdC.framer-1ahnjzp, .framer-pQvdC .framer-1ahnjzp { display: block; }\",\".framer-pQvdC.framer-hlsc4f { align-content: center; align-items: center; background-color: #ffffff; 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-pQvdC .framer-18scktg { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-pQvdC .framer-1960xrh { --border-bottom-width: 0px; --border-color: #eeeeee; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: flex-start; align-items: flex-start; background-color: #ffffff; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; order: 1001; overflow: hidden; padding: 100px 20px 100px 20px; position: relative; width: 100%; }\",\".framer-pQvdC .framer-zgemef-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",\".framer-pQvdC .framer-1e8qr73 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 100%; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-pQvdC .framer-100mw03-container { flex: none; height: 255px; position: relative; width: 1157px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }','.framer-pQvdC[data-border=\"true\"]::after, .framer-pQvdC [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];const mediaQueries={NOvXETaEU:\"(min-width: 1200px)\",NQwzOkjUo:\"(max-width: 1199.98px)\"};const humanReadableVariantMap={Desktop:\"NOvXETaEU\",Phone:\"NQwzOkjUo\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"NOvXETaEU\"};};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);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"NQwzOkjUo\")return true;return false;};const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"NQwzOkjUo\")return false;return true;};useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"NOvXETaEU\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: rgb(255, 255, 255); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-hlsc4f\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-18scktg\"}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1960xrh\",\"data-border\":true,\"data-framer-name\":\"Footer\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-zgemef-container hidden-hlsc4f\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"UURTtNnzD\",scopeId:\"R746K0a7d\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<style>\\n  .spf {\\n    --energy:#00b87a; --energy-bright:#00e599; --ink:#2a2a2a; --muted:#5a6470; --border:#e5e9ef;\\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Display\",\"SF Pro Text\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;\\n    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\\n    width:100%; max-width:100%; overflow-x:hidden;\\n    padding:36px 20px 24px; background:transparent; box-sizing:border-box;\\n    container-type:inline-size;\\n  }\\n  .spf *, .spf *::before, .spf *::after { box-sizing:border-box; margin:0; padding:0; }\\n  .spf__inner { width:100%; max-width:1080px; margin:0 auto; }\\n\\n  .spf__cols { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-bottom:26px; border-bottom:1px solid var(--border); }\\n\\n  .spf__brand { display:flex; align-items:center; gap:9px; margin-bottom:7px; }\\n  .spf__logo { width:30px; height:30px; flex-shrink:0; display:block; }\\n  .spf__wordmark { font-size:18px; font-weight:800; letter-spacing:-0.025em; color:var(--ink); line-height:1; }\\n  .spf__tagline { font-size:12px; font-style:italic; font-weight:500; color:var(--muted); line-height:1.4; margin-bottom:12px; }\\n  .spf__coverage-tag {\\n    display:inline-flex; align-items:center; gap:6px;\\n    font-size:10px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase;\\n    color:var(--energy); margin-bottom:5px; animation:spf-blink 1.8s ease-in-out infinite;\\n  }\\n  .spf__coverage-tag::before { content:\\'\\'; width:6px; height:6px; border-radius:50%; background:var(--energy-bright); box-shadow:0 0 6px var(--energy-bright); flex-shrink:0; }\\n  @keyframes spf-blink { 0%,100%{opacity:1;} 50%{opacity:0.45;} }\\n  .spf__cities { font-size:12px; color:var(--muted); line-height:1.55; font-weight:500; }\\n\\n  .spf__coltitle { font-size:16px; font-weight:800; color:var(--ink); letter-spacing:-0.01em; margin-bottom:14px; }\\n  .spf__list { display:flex; flex-direction:column; gap:13px; }\\n  .spf__link { font-size:14.5px; color:var(--muted); text-decoration:none; font-weight:500; transition:color 0.2s ease; width:fit-content; }\\n  .spf__link:hover { color:var(--energy); }\\n  .spf__contact-group { margin-bottom:4px; }\\n  .spf__contact-heading { font-size:11px; font-weight:700; color:var(--ink); letter-spacing:0.02em; text-transform:uppercase; margin-bottom:4px; }\\n  .spf__contact-line { font-size:13.5px; color:var(--muted); font-weight:500; line-height:1.5; word-break:break-word; }\\n  .spf__contact-line a { color:var(--muted); text-decoration:none; transition:color 0.2s ease; }\\n  .spf__contact-line a:hover { color:var(--energy); }\\n  .spf__contact-group .spf__list, .spf__navcol .spf__list { gap:10px; }\\n\\n  /* container-based: adapts to the EMBED width, not the screen — safer inside Framer */\\n  @container (max-width:820px) {\\n    .spf__cols { grid-template-columns:1fr 1fr; gap:28px; }\\n    .spf__brandcol { grid-column:1 / -1; }\\n  }\\n  @container (max-width:520px) {\\n    .spf { padding:28px 16px 20px; }\\n    .spf__cols { grid-template-columns:1fr; gap:22px; }\\n  }\\n  /* fallback for engines without container queries */\\n  @supports not (container-type:inline-size) {\\n    @media (max-width:820px){ .spf__cols{ grid-template-columns:1fr 1fr; } .spf__brandcol{ grid-column:1 / -1; } }\\n    @media (max-width:520px){ .spf__cols{ grid-template-columns:1fr; } }\\n  }\\n</style>\\n\\n<div class=\"spf\">\\n  <div class=\"spf__inner\">\\n    <div class=\"spf__cols\">\\n\\n      <div class=\"spf__brandcol\">\\n        <div class=\"spf__brand\">\\n          <svg class=\"spf__logo\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\\n            <g transform=\"rotate(15 50 50)\">\\n              <rect x=\"14\" y=\"30\" width=\"72\" height=\"9\" fill=\"#2a2a2a\"/>\\n              <rect x=\"14\" y=\"46\" width=\"72\" height=\"9\" fill=\"#2a2a2a\"/>\\n              <rect x=\"14\" y=\"62\" width=\"72\" height=\"9\" fill=\"#2a2a2a\"/>\\n            </g>\\n          </svg>\\n          <div class=\"spf__wordmark\">StorPros</div>\\n        </div>\\n        <div class=\"spf__tagline\">Built for the storage era.</div>\\n        <div class=\"spf__coverage-tag\">California Coverage</div>\\n        <div class=\"spf__cities\">Redding \\xb7 Chico \\xb7 Sacramento \\xb7 Santa Rosa \\xb7 San Francisco \\xb7 Oakland \\xb7 San Jose \\xb7 Stockton \\xb7 Modesto \\xb7 Fresno \\xb7 Visalia \\xb7 Bakersfield \\xb7 Santa Barbara \\xb7 Los Angeles \\xb7 Long Beach \\xb7 Riverside \\xb7 Irvine \\xb7 San Diego</div>\\n      </div>\\n\\n      <div class=\"spf__navcol\">\\n        <div class=\"spf__coltitle\">Navigation</div>\\n        <div class=\"spf__list\">\\n          <a class=\"spf__link\" href=\"/the-shift\" target=\"_top\">The Shift</a>\\n          <a class=\"spf__link\" href=\"/solar-vs-battery\" target=\"_top\">Solar vs Battery</a>\\n          <a class=\"spf__link\" href=\"/earnings\" target=\"_top\">Earnings</a>\\n          <a class=\"spf__link\" href=\"/the-system\" target=\"_top\">The System</a>\\n          <a class=\"spf__link\" href=\"/apply\" target=\"_top\">Apply</a>\\n        </div>\\n      </div>\\n\\n      <div class=\"spf__contactcol\">\\n        <div class=\"spf__coltitle\">Contact</div>\\n        <div class=\"spf__list\">\\n          <div class=\"spf__contact-group\">\\n            <div class=\"spf__contact-heading\">Sales Opportunity</div>\\n            <div class=\"spf__contact-line\"><a href=\"mailto:elevate@storpros.io\">elevate@storpros.io</a></div>\\n            <div class=\"spf__contact-line\"><a href=\"tel:+12097782709\">+1 (209) 778-2709</a></div>\\n          </div>\\n          <div class=\"spf__contact-group\">\\n            <div class=\"spf__contact-heading\">Customer Support</div>\\n            <div class=\"spf__contact-line\"><a href=\"mailto:support@storpros.io\">support@storpros.io</a></div>\\n            <div class=\"spf__contact-line\"><a href=\"tel:+12092154007\">+1 (209) 215-4007</a></div>\\n          </div>\\n        </div>\\n      </div>\\n\\n    </div>\\n  </div>\\n</div>',id:\"UURTtNnzD\",layoutId:\"UURTtNnzD\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})}),isDisplayed1()&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-1e8qr73 hidden-17wkfb3\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-100mw03-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"RAhBsCFIY\",scopeId:\"R746K0a7d\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<style>\\n  .spf {\\n    --energy: #00b87a;\\n    --energy-bright: #00e599;\\n    --ink: #2a2a2a;\\n    --muted: #5a6470;\\n    --border: #e5e9ef;\\n    font-family: -apple-system, BlinkMacSystemFont, \"SF Pro Display\", \"SF Pro Text\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\\n    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;\\n    width: 100%; max-width: 100%; overflow-x: hidden;\\n    padding: 40px 22px 28px; background: transparent; box-sizing: border-box;\\n  }\\n  .spf *, .spf *::before, .spf *::after { box-sizing: border-box; margin: 0; padding: 0; }\\n  .spf__inner { width: 100%; max-width: 1080px; margin: 0 auto; }\\n\\n  .spf__cols {\\n    display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px;\\n    padding-bottom: 32px; border-bottom: 1px solid var(--border);\\n  }\\n\\n  .spf__brand { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }\\n  .spf__logo { width: 32px; height: 32px; flex-shrink: 0; display: block; }\\n  .spf__wordmark { font-size: 19px; font-weight: 800; letter-spacing: -0.025em; color: var(--ink); line-height: 1; }\\n  .spf__tagline { font-size: 12.5px; font-style: italic; font-weight: 500; color: var(--muted); line-height: 1.4; margin-bottom: 14px; }\\n  .spf__coverage-tag {\\n    display: inline-flex; align-items: center; gap: 6px;\\n    font-size: 10.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;\\n    color: var(--energy); margin-bottom: 6px; animation: spf-blink 1.8s ease-in-out infinite;\\n  }\\n  .spf__coverage-tag::before {\\n    content: \\'\\'; width: 6px; height: 6px; border-radius: 50%;\\n    background: var(--energy-bright); box-shadow: 0 0 6px var(--energy-bright); flex-shrink: 0;\\n  }\\n  @keyframes spf-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }\\n  .spf__cities { font-size: 12.5px; color: var(--muted); line-height: 1.6; font-weight: 500; }\\n\\n  .spf__coltitle { font-size: 17px; font-weight: 800; color: var(--ink); letter-spacing: -0.01em; margin-bottom: 16px; }\\n  .spf__list { display: flex; flex-direction: column; gap: 16px; }\\n  .spf__link {\\n    font-size: 15px; color: var(--muted); text-decoration: none; font-weight: 500;\\n    transition: color 0.2s ease; width: fit-content;\\n  }\\n  .spf__link:hover { color: var(--energy); }\\n  .spf__contact-group { margin-bottom: 4px; }\\n  .spf__contact-heading { font-size: 12px; font-weight: 700; color: var(--ink); letter-spacing: 0.02em; margin-bottom: 5px; }\\n  .spf__contact-line { font-size: 15px; color: var(--muted); font-weight: 500; line-height: 1.5; }\\n  .spf__contact-line a { color: var(--muted); text-decoration: none; transition: color 0.2s ease; }\\n  .spf__contact-line a:hover { color: var(--energy); }\\n\\n  /* nav list keeps tighter spacing */\\n  .spf__navcol .spf__list { gap: 11px; }\\n\\n  @media (max-width: 760px) {\\n    .spf__cols { grid-template-columns: 1fr; gap: 30px; }\\n  }\\n</style>\\n\\n<div class=\"spf\">\\n  <div class=\"spf__inner\">\\n    <div class=\"spf__cols\">\\n\\n      <div class=\"spf__brandcol\">\\n        <div class=\"spf__brand\">\\n          <svg class=\"spf__logo\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\\n            <g transform=\"rotate(15 50 50)\">\\n              <rect x=\"14\" y=\"30\" width=\"72\" height=\"9\" fill=\"#2a2a2a\"/>\\n              <rect x=\"14\" y=\"46\" width=\"72\" height=\"9\" fill=\"#2a2a2a\"/>\\n              <rect x=\"14\" y=\"62\" width=\"72\" height=\"9\" fill=\"#2a2a2a\"/>\\n            </g>\\n          </svg>\\n          <div class=\"spf__wordmark\">StorPros</div>\\n        </div>\\n        <div class=\"spf__tagline\">Built for the storage era.</div>\\n        <div class=\"spf__coverage-tag\">California Coverage</div>\\n        <div class=\"spf__cities\">Redding \\xb7 Chico \\xb7 Sacramento \\xb7 Santa Rosa \\xb7 San Francisco \\xb7 Oakland \\xb7 San Jose \\xb7 Stockton \\xb7 Modesto \\xb7 Fresno \\xb7 Visalia \\xb7 Bakersfield \\xb7 Santa Barbara \\xb7 Los Angeles \\xb7 Long Beach \\xb7 Riverside \\xb7 Irvine \\xb7 San Diego</div>\\n      </div>\\n\\n      <div class=\"spf__navcol\">\\n        <div class=\"spf__coltitle\">Navigation</div>\\n        <div class=\"spf__list\">\\n          <a class=\"spf__link\" href=\"/the-shift\" target=\"_top\">The Shift</a>\\n          <a class=\"spf__link\" href=\"/solar-vs-battery\" target=\"_top\">Solar vs Battery</a>\\n          <a class=\"spf__link\" href=\"/earnings\" target=\"_top\">Earnings</a>\\n          <a class=\"spf__link\" href=\"/the-system\" target=\"_top\">The System</a>\\n          <a class=\"spf__link\" href=\"/apply\" target=\"_top\">Apply</a>\\n        </div>\\n      </div>\\n\\n      <div class=\"spf__contactcol\">\\n        <div class=\"spf__coltitle\">Contact</div>\\n        <div class=\"spf__list\">\\n          <div class=\"spf__contact-group\">\\n            <div class=\"spf__contact-heading\">Sales Opportunity</div>\\n            <div class=\"spf__contact-line\"><a href=\"mailto:elevate@storpros.io\">elevate@storpros.io</a></div>\\n            <div class=\"spf__contact-line\"><a href=\"tel:+12097782709\">+1 (209) 778-2709</a></div>\\n          </div>\\n          <div class=\"spf__contact-group\">\\n            <div class=\"spf__contact-heading\">Customer Support</div>\\n            <div class=\"spf__contact-line\"><a href=\"mailto:support@storpros.io\">support@storpros.io</a></div>\\n            <div class=\"spf__contact-line\"><a href=\"tel:+12092154007\">+1 (209) 215-4007</a></div>\\n          </div>\\n        </div>\\n      </div>\\n\\n    </div>\\n  </div>\\n</div>',id:\"RAhBsCFIY\",layoutId:\"RAhBsCFIY\",radius:\"0px\",style:{height:\"100%\",width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})})]})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"NQwzOkjUo\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"NOvXETaEU\":[\".framer-1960xrh\"],\"NQwzOkjUo\":[\".framer-1960xrh\"]}\n * @framerBreakpoints {\"NOvXETaEU\":{\"min\":1200,\"canvasClassName\":\"framer-hlsc4f-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"NQwzOkjUo\":{\"max\":1199,\"canvasClassName\":\"framer-17wkfb3-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant NOvXETaEU\n * @framerLayoutTemplate true\n */const FramerR746K0a7d=withCSS(Component,css,\"framer-pQvdC\");export default FramerR746K0a7d;FramerR746K0a7d.displayName=\"Footer\";FramerR746K0a7d.defaultProps={height:1e3,width:1200};addFonts(FramerR746K0a7d,[{explicitInter:true,fonts:[]},...EmbedFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerR746K0a7d\",\"slots\":[],\"annotations\":{\"framerLayoutTemplate\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"NQwzOkjUo\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicHeight\":\"1000\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerHitTargets\":\"{\\\"NOvXETaEU\\\":[\\\".framer-1960xrh\\\"],\\\"NQwzOkjUo\\\":[\\\".framer-1960xrh\\\"]}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDefaultVariant\":\"NOvXETaEU\",\"framerBreakpoints\":\"{\\\"NOvXETaEU\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-hlsc4f-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"NQwzOkjUo\\\":{\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-17wkfb3-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerIntrinsicWidth\":\"1200\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__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 Footer from \"https://framerusercontent.com/modules/RGazKUXr1f6k251Zg5di/F0u9Fo7oYe0eHrnJUnPj/R746K0a7d.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {X1j9GN1S5: \"top-1\", xIFRLgsim: \"top\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/3i4CyLdCO3E00EsjUoUp/ZNjR2Jgk5L53s4cW3h2q/augiA20Il.js\")), path: \"/\"}, Ksf9guG6_: {elements: {c1WKjui6l: \"top\", cBGqLpPDg: \"apply\", dJSN_XAYc: \"compare\", fjc0n4ZNf: \"gap\", gFW92eMhu: \"top-1\", glX18hFjP: \"gap-1\", M3FawMfcq: \"compare-1\", pOnXPa3dF: \"diagnostic-1\", SMZ4pilM7: \"diagnostic-2\", ujcFa3_0t: \"shift\", VDdad3EDJ: \"projection\", xR3VGT39v: \"diagnostic\", yJj0wQCMD: \"projection-1\", zaiBZiPIe: \"shift-1\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/yGjr55sGhIiW1oDEl5iu/CBg8mAxVH3x4kTZcZH26/Ksf9guG6_.js\")), path: \"/theshift\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"4a58f6abb24f8a40aba1b7069da461dd4436d11ea1b3c42ba797336a5735a4d0\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"Ksf9guG6_\":\r\nreturn React.createElement(Footer, {...props, key: \"Footer\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"Ksf9guG6_\":\r\nreturn [{hash: \"17wkfb3\", mediaQuery: \"(max-width: 1199.98px)\"}, {hash: \"hlsc4f\", mediaQuery: \"(min-width: 1200px)\"}]\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\tFramer.setLibraryFeatures({disableCustomCode: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\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.storpros.io\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/Q74MFx2K23ViC3DeZN0e/xAAkGd02j0ebN0yhJdxb/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 contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\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\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\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,\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\tFramer.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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"}