{"version":3,"file":"script_main.D-zNFkB2.mjs","names":["RichText","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","getProps","React.forwardRef","useRef","React.useId","LargeStudioSignature","Cursor","sharedStyle.css","useRef","React.useId","sharedStyle.className","className","PropertyOverrides","React.Fragment","RichText","sharedStyle.fonts","React.createElement","PortfolioLayout","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","React.Suspense","React.lazy"],"sources":["https:/framerusercontent.com/modules/AS6aEVPHPdXIAddgvw5J/dcrId9v8Lwg2BFeY245s/HT8pVOHX7.js","https:/framerusercontent.com/modules/eOXjhdPWt2wZxGNS4Xc8/kXKGd889hARR1T7CARh9/Layerbox.js","https:/framerusercontent.com/modules/XiMllyB2gCbGck5bRKEe/dmSZejxpP8nw64Nkew3C/ztRL_0yU5.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (e503c47)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const RichTextWithFX=withFX(RichText);const enabledGestures={Vsyfx37sA:{hover:true}};const serializationHash=\"framer-4A69S\";const variantClassNames={Vsyfx37sA:\"framer-v-1hssynv\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const rGuyqMCs1=undefined;const kL2zOaGlB=undefined;const Qv1CWuc3f=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const animation={filter:\"blur(10px)\",opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:3,skewX:0,skewY:3,x:200,y:0};const transition2={damping:40,delay:.05,mass:1,stiffness:400,type:\"spring\"};const textEffect={effect:animation,repeat:false,startDelay:.5,tokenization:\"character\",transition:transition2,trigger:\"onMount\",type:\"appear\"};const transition3={delay:0,duration:1,ease:[0,0,1,1],type:\"tween\"};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-9};const transformTemplate2=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({color,fontSize,height,id,title,width,...props})=>{return{...props,kL2zOaGlB:title??props.kL2zOaGlB??\"o\",Qv1CWuc3f:color??props.Qv1CWuc3f??\"var(--token-78439b2a-8847-4c19-a099-b4a8d5253386, rgb(186, 61, 41))\",rGuyqMCs1:fontSize??props.rGuyqMCs1??201};};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,kL2zOaGlB,Qv1CWuc3f,rGuyqMCs1,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Vsyfx37sA\",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(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1hssynv\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"Vsyfx37sA\",ref:refBinding,style:{...style},...addPropertyOverrides({\"Vsyfx37sA-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1wfik2o\",layoutDependency:layoutDependency,layoutId:\"CvfY6LW47\",children:/*#__PURE__*/_jsx(RichTextWithFX,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7TWFucm9wZS1leHRyYWJvbGQ=\",\"--framer-font-family\":'\"Manrope\", \"Manrope Placeholder\", sans-serif',\"--framer-font-size\":\"calc(var(--variable-reference-rGuyqMCs1-HT8pVOHX7) * 1px)\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-3.9px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-0c420601-0029-4dfb-b203-c77cce19cba7))\"},children:\"o\"})}),className:\"framer-todsyd\",\"data-framer-name\":\"Large studio signature\",effect:textEffect,fonts:[\"FS;Manrope-extrabold\"],layoutDependency:layoutDependency,layoutId:\"mJyWp8Q_w\",style:{\"--extracted-r6o4lv\":\"var(--token-0c420601-0029-4dfb-b203-c77cce19cba7)\",\"--variable-reference-Qv1CWuc3f-HT8pVOHX7\":Qv1CWuc3f,\"--variable-reference-rGuyqMCs1-HT8pVOHX7\":rGuyqMCs1},text:kL2zOaGlB,transformTemplate:transformTemplate1,variants:{\"Vsyfx37sA-hover\":{\"--extracted-r6o4lv\":\"var(--variable-reference-Qv1CWuc3f-HT8pVOHX7)\",\"--variable-reference-Qv1CWuc3f-HT8pVOHX7\":Qv1CWuc3f}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"Vsyfx37sA-hover\":{__framer__loop:animation1,__framer__loopEffectEnabled:true,__framer__loopPauseOffscreen:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"mirror\",__framer__loopTransition:transition3,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7TWFucm9wZS1leHRyYWJvbGQ=\",\"--framer-font-family\":'\"Manrope\", \"Manrope Placeholder\", sans-serif',\"--framer-font-size\":\"calc(var(--variable-reference-rGuyqMCs1-HT8pVOHX7) * 1px)\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-3.9px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-Qv1CWuc3f-HT8pVOHX7))\"},children:\"o\"})}),transformTemplate:transformTemplate2}},baseVariant,gestureVariant)})})})})})});});const css=[\".framer-4A69S.framer-11jz9ck, .framer-4A69S .framer-11jz9ck { display: block; }\",\".framer-4A69S.framer-1hssynv { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 50px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-4A69S .framer-1wfik2o { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 50px; height: min-content; justify-content: center; min-height: 201px; min-width: 122px; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-4A69S .framer-todsyd { flex: none; height: auto; left: 50%; position: absolute; top: 50%; white-space: pre; width: auto; z-index: 1; }\",\".framer-4A69S.framer-v-1hssynv.hover .framer-todsyd { top: -19px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 201\n * @framerIntrinsicWidth 122\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"cyuh0_oO9\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"kL2zOaGlB\":\"title\",\"Qv1CWuc3f\":\"color\",\"rGuyqMCs1\":\"fontSize\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerHT8pVOHX7=withCSS(Component,css,\"framer-4A69S\");export default FramerHT8pVOHX7;FramerHT8pVOHX7.displayName=\"Large studio signature\";FramerHT8pVOHX7.defaultProps={height:201,width:122};addPropertyControls(FramerHT8pVOHX7,{kL2zOaGlB:{defaultValue:\"o\",displayTextArea:false,title:\"Title\",type:ControlType.String},onkL2zOaGlBChange:{changes:\"kL2zOaGlB\",type:ControlType.ChangeHandler},Qv1CWuc3f:{defaultValue:\"var(--token-78439b2a-8847-4c19-a099-b4a8d5253386, rgb(186, 61, 41))\",title:\"Color\",type:ControlType.Color},rGuyqMCs1:{defaultValue:201,title:\"Font Size\",type:ControlType.Number},onrGuyqMCs1Change:{changes:\"rGuyqMCs1\",type:ControlType.ChangeHandler}});addFonts(FramerHT8pVOHX7,[{explicitInter:true,fonts:[{cssFamilyName:\"Manrope\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Manrope\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/7EWHG4AMROQSXDCQTDPGBVASATB7CED2/TJSQTK5FHJ2MYKML5IXF2G6YTGFJLTYL/K4ZMLVLHYIFVTTTWGVOTVGOFUUX7NVGI.woff2\",weight:\"800\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerHT8pVOHX7\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"201\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"122\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"cyuh0_oO9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"kL2zOaGlB\\\":\\\"title\\\",\\\"Qv1CWuc3f\\\":\\\"color\\\",\\\"rGuyqMCs1\\\":\\\"fontSize\\\"}\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HT8pVOHX7.map","// Generated by Creative Lightbox Studio. Do not edit this file manually.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";const STYLE_ID=\"creative-lightbox-studio-preview-style\";const SCRIPT_ID=\"creative-lightbox-studio-preview-script\";const CONFIG_ID=\"creative-lightbox-studio-preview-config\";const CLEANUP_KEY=\"__creativeLightboxStudioCleanup\";const CONFIG_HASH=\"l1g4ps\";const STYLE='.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:\\'\\';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/R46SR2KWPHAT6QKQ5J22GMKGX57ZRVAR/Z5WLPW3IGEZJHN5HBLPCBJIK6QBBSHX6/2W7RU2QRQHEAEGUDZDHBPHR6WI27JNIQ.woff2\");font-style:normal;font-weight:300;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/2TYFCBHUANEXS6QGR5EQDUNAFH6LSWM3/AYNOU3VEA4LRTDNKJQUFNVNUTYSGOUOP/UXO4O7K2G3HI3D2VKD7UXVJVJD26P4BQ.woff2\");font-style:normal;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/BNWG6MUI4RTC6WEND2VPDH4MHMIVU3XZ/R5YXY5FMVG6PXU36GNEEA24MIPMEPGSM/CIM4KQCLZSMMLWPVH25IDDSTY4ENPHEY.woff2\");font-style:normal;font-weight:500;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/6U2SGH566NSNERG6RGEV3DSNEK7DL2RF/JRDYRKMSAW2H35IWEQIPL67HAJQ35MG5/JNU3GNMUBPWW6V6JTED3S27XL5HN7NM5.woff2\");font-style:normal;font-weight:600;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/NGBUP45ES3F7RD5XGKPEDJ6QEPO4TMOK/EXDVWJ2EDDVVV65UENMX33EDDYBX6OF7/6P4FPMFQH7CCC7RZ4UU4NKSGJ2RLF7V5.woff2\");font-style:normal;font-weight:700;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/7EWHG4AMROQSXDCQTDPGBVASATB7CED2/TJSQTK5FHJ2MYKML5IXF2G6YTGFJLTYL/K4ZMLVLHYIFVTTTWGVOTVGOFUUX7NVGI.woff2\");font-style:normal;font-weight:800;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://framerusercontent.com/third-party-assets/fontshare/wf/6KNUAYMK3PTPQA22366IWF5JUVT35NZ3/E4CLT6PE4W64IV56BHAWFRZFLHPZIXFF/DEPNXL2T77QGX4DXZAN3G53TXHO2JEFP.woff2\");font-style:normal;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59FO_A87jxeN7B.woff2\");font-style:normal;font-weight:200;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk6jFO_A87jxeN7B.woff2\");font-style:normal;font-weight:300;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_A87jxeN7B.woff2\");font-style:normal;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_A87jxeN7B.woff2\");font-style:normal;font-weight:500;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_A87jxeN7B.woff2\");font-style:normal;font-weight:600;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_A87jxeN7B.woff2\");font-style:normal;font-weight:700;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59E-_A87jxeN7B.woff2\");font-style:normal;font-weight:800;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRsgW7S9XdZN8.woff2\");font-style:normal;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyeMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:100;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyfMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:200;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:300;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:500;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:600;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:700;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyYMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:800;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuBWYMZ1rib2Bg-4.woff2\");font-style:normal;font-weight:900;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc2dphiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:100;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcWdthiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:200;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTch9thiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:300;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc2dthiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69thiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:500;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcB9xhiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:600;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcPtxhiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:700;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcWdxhiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:800;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTccNxhiJ-Ek-7MeA.woff2\");font-style:italic;font-weight:900;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTfvgaQc78lA2.woff2\");font-style:normal;font-weight:400;font-display:swap;}\\n@font-face{font-family:\"Manrope\";src:url(\"https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnYwYZ90A2B58.woff2\");font-style:italic;font-weight:400;font-display:swap;}\\n.glightbox-clean .goverlay{background:var(--cls-gl-overlay-bg,#050505)!important; opacity:var(--cls-gl-overlay-opacity,1)!important;}\\n.glightbox-clean .gclose{color:var(--cls-gl-close-color,#ffffff)!important; width:var(--cls-gl-close-size,42px)!important; height:var(--cls-gl-close-size,42px)!important; background-color:var(--cls-gl-close-bg,transparent)!important; border-radius:var(--cls-gl-close-radius,999px)!important; border:var(--cls-gl-close-border,none)!important; opacity:var(--cls-gl-close-opacity,1)!important; box-sizing:border-box!important; display:flex!important; align-items:center!important; justify-content:center!important}\\n.glightbox-clean .gclose svg{color:var(--cls-gl-close-color,#ffffff)!important; stroke:var(--cls-gl-close-color,#ffffff)!important; fill:none!important; width:60%!important; height:60%!important}\\n.glightbox-clean .gclose svg path{fill:var(--cls-gl-close-color,#ffffff)!important;stroke:none!important}\\n.glightbox-clean .gnext, .glightbox-clean .gprev{color:var(--cls-gl-arrow-color,#ffffff)!important; width:var(--cls-gl-arrow-size,64px)!important; height:var(--cls-gl-arrow-size,64px)!important; background-color:var(--cls-gl-arrow-bg,transparent)!important; border-radius:var(--cls-gl-arrow-radius,999px)!important; border:var(--cls-gl-arrow-border,none)!important; box-sizing:border-box!important; opacity:var(--cls-gl-arrow-opacity,1)!important; display:var(--cls-gl-arrow-display,flex)!important; align-items:center!important; justify-content:center!important}\\n.glightbox-clean .gnext svg, .glightbox-clean .gprev svg{color:var(--cls-gl-arrow-color,#ffffff)!important; stroke:var(--cls-gl-arrow-color,#ffffff)!important; fill:none!important; width:60%!important; height:60%!important}\\n.glightbox-clean .gnext span, .glightbox-clean .gprev span{color:var(--cls-gl-arrow-color,#ffffff)!important;}\\n.glightbox-clean .gprev .cls-gl-built-in-arrow path, .glightbox-clean .gnext .cls-gl-built-in-arrow path { fill:none!important; stroke:var(--cls-gl-arrow-color,#ffffff)!important; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }\\n.glightbox-clean .cls-gl-built-in-arrow[data-filled=\"true\"] path { fill:var(--cls-gl-arrow-color,#ffffff)!important; stroke:none!important; }\\n\\n.glightbox-clean .gslide-media.gslide-image{max-height:calc(100vh - 210px - var(--cls-gl-thumb-height,78px))!important}\\n.glightbox-clean .gslide-media.gslide-image img{max-height:calc(100vh - 210px - var(--cls-gl-thumb-height,78px))!important; object-fit:var(--cls-gl-image-fit,contain)!important}\\n.glightbox-clean .gslide-video video{max-height:calc(100vh - 240px - var(--cls-gl-thumb-height,78px))!important}\\n.glightbox-clean .gslide-video iframe{max-height:none!important}\\n\\n.glightbox-clean .goverlay { backdrop-filter: blur(var(--cls-gl-blur,0px))!important; -webkit-backdrop-filter: blur(var(--cls-gl-blur,0px))!important; }\\n.glightbox-clean .ginner-container { border-radius: var(--cls-gl-radius,0)!important;  gap: var(--cls-gl-spacing,0px)!important; justify-content: var(--cls-gl-content-align,center)!important; align-items:center!important; transition: transform var(--cls-gl-transition-duration,260ms) ease, opacity var(--cls-gl-transition-duration,260ms) ease!important; }\\n.glightbox-clean .gslide-description { background: transparent !important; }\\n.glightbox-clean .gdesc-inner { padding: 0 !important; background: transparent !important; }\\n.glightbox-clean .cls-gl-caption { display:block; margin:0; width:100%; box-sizing:border-box; text-align:var(--cls-gl-caption-align,center); padding:var(--cls-gl-caption-padding,16px); background:var(--cls-gl-caption-bg,transparent); border:var(--cls-gl-caption-border-width,1px) solid var(--cls-gl-caption-border-color,transparent); border-radius:var(--cls-gl-caption-radius,0px); }\\n.glightbox-clean .cls-gl-cms-panel { box-sizing:border-box; width:100%; color:var(--cls-gl-caption-color,#fff); text-align:left; }\\n.glightbox-clean .cls-gl-cms-title { margin:0 0 14px; color:inherit!important; font:700 clamp(24px,3vw,42px)/1.05 var(--cls-gl-caption-font,Inter,sans-serif)!important; letter-spacing:-.03em; }\\n.glightbox-clean .cls-gl-cms-description { margin:0; color:var(--cls-gl-cms-description-color,var(--cls-gl-caption-color,#fff))!important; opacity:var(--cls-gl-cms-description-opacity,.76)!important; font-family:var(--cls-gl-cms-description-font,var(--cls-gl-caption-font,Inter,sans-serif))!important; font-size:var(--cls-gl-cms-description-size,15px)!important; font-weight:var(--cls-gl-cms-description-weight,400)!important; font-style:var(--cls-gl-cms-description-style,normal)!important; line-height:var(--cls-gl-cms-description-line-height,1.65)!important; letter-spacing:var(--cls-gl-cms-description-letter-spacing,0px)!important; text-align:var(--cls-gl-cms-description-align,left)!important; text-transform:var(--cls-gl-cms-description-transform,none)!important; white-space:normal; }\\n.glightbox-clean .cls-gl-cms-detail-link { display:inline-flex; align-items:center; justify-content:center; margin-top:18px; padding:11px 17px; border:1px solid rgba(255,255,255,.24); border-radius:999px; color:#121212!important; background:#fff; font:600 14px/1.2 var(--cls-gl-caption-font,Inter,sans-serif); text-decoration:none!important; cursor:pointer; pointer-events:auto; transition:background .2s,transform .2s; }\\n.glightbox-clean .cls-gl-cms-detail-link:hover { background:#e9e9e9; transform:translateY(-1px); }\\n.glightbox-clean .cls-gl-cms-detail-link:focus-visible { outline:2px solid #fff; outline-offset:3px; }\\n.glightbox-clean .cls-gl-cms-title + .cls-gl-cms-description, .glightbox-clean .cls-gl-caption p + .cls-gl-cms-description { margin-top:var(--cls-gl-cms-description-gap,14px); }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) { position:relative!important; box-sizing:border-box!important; display:flex!important; flex-direction:row!important; justify-content:flex-start!important; align-items:stretch!important; width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 64px))!important; max-width:calc(100vw - 64px)!important; height:min(var(--cls-gl-cms-height,720px),calc(100vh - 64px))!important; max-height:calc(100vh - 64px)!important; min-height:0!important; gap:0!important; overflow:hidden!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media { flex:0 0 62%!important; width:62%!important; min-width:0!important; height:100%!important; max-height:none!important; box-sizing:border-box!important; display:flex!important; align-items:center!important; justify-content:center!important; overflow:hidden!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media.gslide-image img { display:block!important; width:100%!important; height:100%!important; max-height:none!important; object-fit:cover!important; object-position:center!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video { max-width:none!important; background:#000!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .gvideo-wrapper, .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr { width:100%!important; max-width:none!important; margin:0 auto!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr__video-wrapper { width:100%!important; max-width:none!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video video { display:block!important; width:100%!important; max-width:100%!important; max-height:calc(100vh - 240px - var(--cls-gl-thumb-height,0px))!important; object-fit:contain!important; object-position:center!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video iframe { display:block!important; width:100%!important; height:100%!important; max-width:100%!important; max-height:none!important; }\\n/* Keep CMS captions in flow even when GLightbox pins touch-device descriptions. */\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-description { flex:0 0 38%!important; width:38%!important; position:relative!important; inset:auto!important; min-width:0!important; height:100%!important; max-height:none!important; box-sizing:border-box!important; overflow-x:hidden!important; overflow-y:auto!important; display:flex!important; align-items:center!important; margin:0!important; padding:0!important; background:rgba(18,18,18,.96)!important; max-width:100%!important}\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gdesc-inner { width:100%!important; min-width:0!important; box-sizing:border-box!important; padding:clamp(24px,3.9vw,44px)!important; overflow-wrap:anywhere!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-panel, .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-title, .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-description { max-width:100%!important; min-width:0!important; box-sizing:border-box!important; overflow-wrap:anywhere!important; }\\n.glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-detail-link { max-width:100%!important; min-height:44px!important; white-space:normal!important; overflow-wrap:anywhere!important; text-align:center!important; }\\n\\n@media (min-width:769px) and (max-width:1024px) {\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) { width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 40px))!important; max-width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 40px))!important; height:min(var(--cls-gl-cms-height,720px),calc(100vh - 40px))!important; max-height:calc(100vh - 40px)!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media { flex-basis:58%!important; width:58%!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-description { flex-basis:42%!important; width:42%!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gdesc-inner { padding:clamp(18px,3vw,32px)!important; }\\n}\\n@media (max-height:500px) and (orientation:landscape) and (min-width:769px) {\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) { width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 32px))!important; max-width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 32px))!important; height:min(var(--cls-gl-cms-height,720px),calc(100vh - 24px - var(--cls-gl-thumb-height,0px)))!important; max-height:calc(100vh - 24px - var(--cls-gl-thumb-height,0px))!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gdesc-inner { padding:clamp(12px,3vh,24px)!important; }\\n}\\n@media (max-width:768px), (orientation:landscape) and (max-height:600px) and (max-width:1024px) {\\n  .glightbox-container { box-sizing:border-box!important; max-width:100vw!important; overflow-x:hidden!important; }\\n  .glightbox-container .gcontainer, .glightbox-container .gslider { box-sizing:border-box!important; max-width:100vw!important; overflow-x:hidden!important; }\\n  html:has(.cls-lightbox-thumbs-container) { --cls-gl-thumb-height:calc(64px + env(safe-area-inset-bottom,0px))!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) { flex-direction:column!important; justify-content:flex-start!important; align-items:stretch!important; width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))!important; max-width:min(var(--cls-gl-cms-width,1120px),calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))!important; height:auto!important; max-height:calc(100vh - 24px - var(--cls-gl-thumb-height,0px))!important; min-height:0!important; margin-bottom:var(--cls-gl-thumb-height,0px)!important; gap:0!important; overflow:hidden!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media { flex:0 0 auto!important; width:100%!important; min-width:0!important; height:auto!important; max-height:none!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media.gslide-image { height:min(38vh,max(120px,calc(100vh - var(--cls-gl-thumb-height,0px) - 260px)))!important; min-height:120px!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media.gslide-image img { width:100%!important; height:100%!important; object-fit:cover!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media.gslide-video { display:flex!important; align-items:center!important; justify-content:center!important; height:auto!important; min-height:0!important; background:#000!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .gvideo-wrapper, .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr { width:min(100%,67.5vh)!important; max-width:100%!important; height:auto!important; max-height:38vh!important; margin:0 auto!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr__video-wrapper { width:100%!important; height:auto!important; max-height:38vh!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr__video-wrapper:has(iframe) { aspect-ratio:16 / 9!important; padding-bottom:0!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video video, .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video iframe { display:block!important; width:100%!important; height:100%!important; min-width:0!important; min-height:0!important; max-width:100%!important; max-height:none!important; object-fit:contain!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-description { flex:0 1 auto!important; width:100%!important; min-width:0!important; height:auto!important; min-height:0!important; max-height:none!important; align-items:flex-start!important; overflow-x:hidden!important; overflow-y:auto!important; -webkit-overflow-scrolling:touch!important; overscroll-behavior:contain!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gdesc-inner { width:100%!important; padding:clamp(14px,4vw,24px)!important; overflow-wrap:anywhere!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-title { font-size:clamp(21px,6vw,30px)!important; line-height:1.12!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-description { font-size:clamp(13px,3.6vw,15px)!important; line-height:1.5!important; }\\n  .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .cls-gl-cms-detail-link { min-height:44px!important; margin-top:12px!important; padding:10px 16px!important; }\\n  .glightbox-clean .gclose { top:max(10px,env(safe-area-inset-top,0px))!important; right:max(10px,env(safe-area-inset-right,0px))!important; left:auto!important; bottom:auto!important; width:44px!important; height:44px!important; }\\n  .glightbox-clean .gprev, .glightbox-clean .gnext { width:40px!important; height:44px!important; top:50%!important; transform:translateY(-50%)!important; }\\n  .glightbox-clean .gprev { left:max(8px,env(safe-area-inset-left,0px))!important; right:auto!important; }\\n  .glightbox-clean .gnext { right:max(8px,env(safe-area-inset-right,0px))!important; left:auto!important; }\\n  .cls-lightbox-thumbs-container { box-sizing:border-box!important; left:0!important; right:0!important; bottom:0!important; top:auto!important; width:100%!important; max-width:100vw!important; height:auto!important; padding:8px max(12px,env(safe-area-inset-left,0px)) calc(8px + env(safe-area-inset-bottom,0px))!important; justify-content:flex-start!important; flex-direction:row!important; overflow-x:auto!important; overflow-y:hidden!important; overscroll-behavior-x:contain!important; }\\n  .cls-lightbox-thumb-btn { box-sizing:border-box!important; width:min(48px,var(--cls-gl-thumb-size,64px))!important; height:min(48px,var(--cls-gl-thumb-size,64px))!important; }\\n}\\n@supports (height:100dvh) {\\n  @media (min-width:769px) and (max-width:1024px) {\\n    .glightbox-clean .ginner-container:has(.cls-gl-cms-split) { height:min(var(--cls-gl-cms-height,720px),calc(100dvh - 40px))!important; max-height:calc(100dvh - 40px)!important; }\\n  }\\n  @media (max-height:500px) and (orientation:landscape) and (min-width:769px) {\\n    .glightbox-clean .ginner-container:has(.cls-gl-cms-split) { height:min(var(--cls-gl-cms-height,720px),calc(100dvh - 24px - var(--cls-gl-thumb-height,0px)))!important; max-height:calc(100dvh - 24px - var(--cls-gl-thumb-height,0px))!important; }\\n  }\\n  @media (max-width:768px), (orientation:landscape) and (max-height:600px) and (max-width:1024px) {\\n    .glightbox-clean .ginner-container:has(.cls-gl-cms-split) { height:auto!important; max-height:calc(100dvh - 24px - var(--cls-gl-thumb-height,0px))!important; }\\n    .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-media.gslide-image { height:min(38dvh,max(120px,calc(100dvh - var(--cls-gl-thumb-height,0px) - 260px)))!important; }\\n    .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .gvideo-wrapper, .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr { width:min(100%,67.5dvh)!important; max-height:38dvh!important; }\\n    .glightbox-clean .ginner-container:has(.cls-gl-cms-split) .gslide-video .plyr__video-wrapper { max-height:38dvh!important; }\\n  }\\n}\\n.glightbox-clean .cls-gl-caption p { margin:0; color:var(--cls-gl-caption-color,#fff)!important; font-family:var(--cls-gl-caption-font,Inter,sans-serif)!important; font-size:var(--cls-gl-caption-size,16px)!important; font-weight:var(--cls-gl-caption-weight,400)!important; }\\n.glightbox-clean .cls-gl-caption-footer { width:100%; }\\n.glightbox-clean .cls-gl-caption-floating { display:inline-block; width:100%; max-width:100%; }\\n.glightbox-clean .gslide-description:has(.cls-gl-caption-overlay){position:absolute!important;top:var(--cls-gl-caption-overlay-top,auto)!important;right:var(--cls-gl-caption-overlay-right,16px)!important;bottom:var(--cls-gl-caption-overlay-bottom,calc(var(--cls-gl-thumb-height,0px) + 16px))!important;left:var(--cls-gl-caption-overlay-left,16px)!important;transform:var(--cls-gl-caption-overlay-transform,none)!important;z-index:100002!important;width:auto!important;max-width:calc(100% - 32px)!important;pointer-events:none!important;background:transparent!important;}\\n.glightbox-clean .gdesc-inner:has(.cls-gl-caption-overlay){padding:0!important;}\\n.glightbox-clean .cls-gl-caption-overlay { display:block; width:fit-content; max-width:100%; margin:var(--cls-gl-caption-overlay-margin,0 auto); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }\\n.glightbox-clean .cls-gl-toolbar { position:absolute; top:24px; right:calc(32px + var(--cls-gl-close-size,42px)); z-index:100001; display:flex; align-items:center; gap:8px; }\\n.glightbox-clean .cls-gl-tool-btn { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgba(255,255,255,.24); border-radius:999px; color:#fff; background:rgba(0,0,0,.28); cursor:pointer; font:600 18px/1 Arial,sans-serif; transition:background .2s,transform .2s; }\\n.glightbox-clean .cls-gl-tool-btn:hover { background:rgba(255,255,255,.18); transform:translateY(-1px); }\\n.glightbox-clean .cls-gl-tool-btn:focus-visible { outline:2px solid #fff; outline-offset:2px; }\\n.glightbox-clean .cls-gl-tool-btn svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }\\n.glightbox-clean .cls-gl-counter { min-width:48px; padding:0 12px; color:#fff; font:600 13px/40px Arial,sans-serif; text-align:center; white-space:nowrap; text-shadow:0 1px 3px rgba(0,0,0,.6); }\\n.glightbox-clean .gslide-media.gslide-image { overflow:visible!important; }\\n.glightbox-clean .gslide-media.gslide-image img.cls-gl-zoomed { position:relative; z-index:2; transform:scale(calc(var(--cls-gl-image-zoom,1) * var(--cls-gl-click-zoom,2)))!important; cursor:zoom-out!important; }\\n\\n.cls-lightbox-thumbs-container { position: absolute; bottom: 0; left: 0; width: 100%; padding: 10px 0 20px 0; display: flex; justify-content: center; gap: var(--cls-gl-thumb-gap,3px); z-index: 99999; overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; }\\n.cls-lightbox-thumbs-container::-webkit-scrollbar { display: none; }\\n.cls-lightbox-thumb-btn { width: var(--cls-gl-thumb-size,38px); height: var(--cls-gl-thumb-size,38px); border-radius: var(--cls-gl-thumb-radius,4px); border: var(--cls-gl-thumb-border-width,2px) solid transparent; opacity: var(--cls-gl-thumb-opacity,0.6); cursor: pointer; transition: opacity 0.2s, border-color 0.2s, transform 0.2s; background: #222; overflow: hidden; padding: 0; flex-shrink: 0; }\\n.cls-lightbox-thumb-btn img { width: 100%; height: 100%; display: block; object-fit: cover; }\\n.cls-lightbox-thumb-btn:hover { opacity: 1; transform: scale(1.05); }\\n.cls-lightbox-thumb-btn.active { opacity: var(--cls-gl-thumb-active-opacity,1); border-color: var(--cls-gl-thumb-border-color,#f96c6c); transform: scale(1.05); }\\nhtml[data-cls-close-position=\"top-left\"] .glightbox-clean .gclose { left:24px!important; right:auto!important; top:24px!important; bottom:auto!important; }\\nhtml[data-cls-close-position=\"top-right\"] .glightbox-clean .gclose { left:auto!important; right:24px!important; top:24px!important; bottom:auto!important; }\\nhtml[data-cls-close-position=\"bottom-right\"] .glightbox-clean .gclose { left:auto!important; right:24px!important; top:auto!important; bottom:24px!important; }\\nhtml[data-cls-close-position=\"outside\"] .glightbox-clean .gclose { left:auto!important; right:calc(-1 * var(--cls-gl-close-size,42px) - 16px)!important; top:0!important; bottom:auto!important; }\\nhtml[data-cls-arrow-position=\"sides\"] .glightbox-clean .gprev { left:24px!important; right:auto!important; top:50%!important; bottom:auto!important; }\\nhtml[data-cls-arrow-position=\"sides\"] .glightbox-clean .gnext { left:auto!important; right:24px!important; top:50%!important; bottom:auto!important; }\\nhtml[data-cls-arrow-position=\"inside-image\"] .glightbox-clean .gprev { left:12%!important; right:auto!important; top:50%!important; bottom:auto!important; }\\nhtml[data-cls-arrow-position=\"inside-image\"] .glightbox-clean .gnext { left:auto!important; right:12%!important; top:50%!important; bottom:auto!important; }\\nhtml[data-cls-arrow-position=\"bottom-center\"] .glightbox-clean .gprev { left:calc(50% - var(--cls-gl-arrow-size,44px) - 12px)!important; right:auto!important; top:auto!important; bottom:24px!important; }\\nhtml[data-cls-arrow-position=\"bottom-center\"] .glightbox-clean .gnext { left:calc(50% + 12px)!important; right:auto!important; top:auto!important; bottom:24px!important; }\\nhtml[data-cls-arrow-position=\"bottom-right\"] .glightbox-clean .gprev { left:auto!important; right:calc(24px + var(--cls-gl-arrow-size,44px) + 12px)!important; top:auto!important; bottom:24px!important; }\\nhtml[data-cls-arrow-position=\"bottom-right\"] .glightbox-clean .gnext { left:auto!important; right:24px!important; top:auto!important; bottom:24px!important; }\\nhtml[data-cls-arrow-position=\"top-right\"] .glightbox-clean .gprev { left:auto!important; right:calc(24px + var(--cls-gl-arrow-size,44px) + 12px)!important; top:24px!important; bottom:auto!important; }\\nhtml[data-cls-arrow-position=\"top-right\"] .glightbox-clean .gnext { left:auto!important; right:24px!important; top:24px!important; bottom:auto!important; }\\nhtml[data-cls-thumbnail-position=\"top\"] .cls-lightbox-thumbs-container { top:0!important; bottom:auto!important; }\\nhtml[data-cls-thumbnail-position=\"left\"] .cls-lightbox-thumbs-container, html[data-cls-thumbnail-position=\"right\"] .cls-lightbox-thumbs-container { top:0!important; bottom:0!important; width:auto!important; height:100%!important; flex-direction:column!important; overflow-x:hidden!important; overflow-y:auto!important; }\\nhtml[data-cls-thumbnail-position=\"left\"] .cls-lightbox-thumbs-container { left:0!important; right:auto!important; }\\nhtml[data-cls-thumbnail-position=\"right\"] .cls-lightbox-thumbs-container { left:auto!important; right:0!important; }\\n@media(max-width:768px){ .cls-lightbox-thumbs-container { justify-content: flex-start; padding: 10px 20px 20px 20px; } }\\n@media(max-width:768px){ .glightbox-clean .cls-gl-toolbar { top:10px; right:54px; gap:5px; } .glightbox-clean .cls-gl-tool-btn { width:34px; height:34px; } .glightbox-clean .cls-gl-counter { min-width:38px; padding:0 5px; font-size:11px; line-height:34px; } }\\n@media (max-width:768px), (orientation:landscape) and (max-height:600px) and (max-width:1024px) {\\n  html[data-cls-close-position=\"top-left\"] .glightbox-clean .gclose { left:max(10px,env(safe-area-inset-left,0px))!important; right:auto!important; top:max(10px,env(safe-area-inset-top,0px))!important; bottom:auto!important; width:44px!important; height:44px!important; }\\n  html[data-cls-close-position=\"top-right\"] .glightbox-clean .gclose, html[data-cls-close-position=\"bottom-right\"] .glightbox-clean .gclose, html[data-cls-close-position=\"outside\"] .glightbox-clean .gclose { left:auto!important; right:max(10px,env(safe-area-inset-right,0px))!important; top:max(10px,env(safe-area-inset-top,0px))!important; bottom:auto!important; width:44px!important; height:44px!important; }\\n  html[data-cls-arrow-position] .glightbox-clean .gprev { left:max(8px,env(safe-area-inset-left,0px))!important; right:auto!important; top:50%!important; bottom:auto!important; transform:translateY(-50%)!important; width:40px!important; height:44px!important; }\\n  html[data-cls-arrow-position] .glightbox-clean .gnext { left:auto!important; right:max(8px,env(safe-area-inset-right,0px))!important; top:50%!important; bottom:auto!important; transform:translateY(-50%)!important; width:40px!important; height:44px!important; }\\n  html[data-cls-thumbnail-position] .cls-lightbox-thumbs-container { left:0!important; right:0!important; bottom:0!important; top:auto!important; width:100%!important; max-width:100vw!important; height:auto!important; padding:8px max(12px,env(safe-area-inset-left,0px)) calc(8px + env(safe-area-inset-bottom,0px))!important; flex-direction:row!important; overflow-x:auto!important; overflow-y:hidden!important; }\\n  .cls-lightbox-thumb-btn { width:48px!important; height:48px!important; }\\n  .glightbox-clean .cls-gl-toolbar { top:max(10px,env(safe-area-inset-top,0px))!important; right:max(54px,calc(env(safe-area-inset-right,0px) + 44px))!important; max-width:calc(100vw - 112px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important; flex-wrap:wrap!important; }\\n}\\n\\n@media (max-width:768px), (orientation:landscape) and (max-height:600px) and (max-width:1024px) {\\n  html[data-cls-match-controls=\"true\"] .glightbox-clean .gprev, html[data-cls-match-controls=\"true\"] .glightbox-clean .gnext, .glightbox-clean .cls-gl-tool-btn-matched { width:44px!important; height:44px!important; }\\n  .glightbox-clean .cls-gl-tool-btn-matched svg { width:60%!important; height:60%!important; }\\n  .glightbox-clean .cls-gl-toolbar { right:max(62px,calc(env(safe-area-inset-right,0px) + 52px))!important; }\\n}\\n\\n.glightbox-clean button:focus-visible, .glightbox-clean a:focus-visible, .cls-lightbox-target:focus-visible { outline:2px solid #fff!important; outline-offset:3px!important; box-shadow:0 0 0 5px #111!important; }\\n@media (prefers-reduced-motion: reduce) {\\n  .glightbox-container *, .glightbox-container *::before, .glightbox-container *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }\\n}\\n\\n/* Cursor style for targets */\\n.cls-lightbox-target {\\n  cursor: zoom-in !important;\\n}\\n.cls-lightbox-hide-zoom-cursor, .cls-lightbox-hide-zoom-cursor * {\\n  cursor: default !important;\\n}\\n.glightbox-container[data-cls-hide-zoom-cursor=\"true\"] .gslide-media.gslide-image img {\\n  cursor: default !important;\\n}';const SCRIPT='(() => {\\n  const BUNDLED_GLIGHTBOX_JS = \"!function(e,t){\\\\\"object\\\\\"==typeof exports\\\\u0026\\\\u0026\\\\\"undefined\\\\\"!=typeof module?module.exports=t():\\\\\"function\\\\\"==typeof define\\\\u0026\\\\u0026define.amd?define(t):(e=e||self).GLightbox=t()}(this,(function(){\\\\\"use strict\\\\\";function e(e,t){if(!(e instanceof t))throw new TypeError(\\\\\"Cannot call a class as a function\\\\\")}function t(e,t){for(var i=0;i\\\\u003ct.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,\\\\\"value\\\\\"in s\\\\u0026\\\\u0026(s.writable=!0),Object.defineProperty(e,n(s.key),s)}}function i(e,i,n){return i\\\\u0026\\\\u0026t(e.prototype,i),n\\\\u0026\\\\u0026t(e,n),Object.defineProperty(e,\\\\\"prototype\\\\\",{writable:!1}),e}function n(e){var t=function(e,t){if(\\\\\"object\\\\\"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||\\\\\"default\\\\\");if(\\\\\"object\\\\\"!=typeof n)return n;throw new TypeError(\\\\\"@@toPrimitive must return a primitive value.\\\\\")}return(\\\\\"string\\\\\"===t?String:Number)(e)}(e,\\\\\"string\\\\\");return\\\\\"symbol\\\\\"==typeof t?t:t+\\\\\"\\\\\"}function s(e){return(s=\\\\\"function\\\\\"==typeof Symbol\\\\u0026\\\\u0026\\\\\"symbol\\\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e\\\\u0026\\\\u0026\\\\\"function\\\\\"==typeof Symbol\\\\u0026\\\\u0026e.constructor===Symbol\\\\u0026\\\\u0026e!==Symbol.prototype?\\\\\"symbol\\\\\":typeof e})(e)}var l=Date.now();function o(){var e={},t=!0,i=0,n=arguments.length;\\\\\"[object Boolean]\\\\\"===Object.prototype.toString.call(arguments[0])\\\\u0026\\\\u0026(t=arguments[0],i++);for(var s=function(i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)\\\\u0026\\\\u0026(t\\\\u0026\\\\u0026\\\\\"[object Object]\\\\\"===Object.prototype.toString.call(i[n])?e[n]=o(!0,e[n],i[n]):e[n]=i[n])};i\\\\u003cn;i++){var l=arguments[i];s(l)}return e}function r(e,t){if((E(e)||e===window||e===document)\\\\u0026\\\\u0026(e=[e]),L(e)||I(e)||(e=[e]),0!=M(e))if(L(e)\\\\u0026\\\\u0026!I(e))for(var i=e.length,n=0;n\\\\u003ci\\\\u0026\\\\u0026!1!==t.call(e[n],e[n],n,e);n++);else if(I(e))for(var s in e)if(P(e,s)\\\\u0026\\\\u0026!1===t.call(e[s],e[s],s,e))break}function a(e){var t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:null,i=arguments.length\\\\u003e2\\\\u0026\\\\u0026void 0!==arguments[2]?arguments[2]:null,n=e[l]=e[l]||[],s={all:n,evt:null,found:null};return t\\\\u0026\\\\u0026i\\\\u0026\\\\u0026M(n)\\\\u003e0\\\\u0026\\\\u0026r(n,(function(e,n){if(e.eventName==t\\\\u0026\\\\u0026e.fn.toString()==i.toString())return s.found=!0,s.evt=n,!1})),s}function h(e){var t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:{},i=t.onElement,n=t.withCallback,s=t.avoidDuplicate,l=void 0===s||s,o=t.once,h=void 0!==o\\\\u0026\\\\u0026o,d=t.useCapture,c=void 0!==d\\\\u0026\\\\u0026d,u=arguments.length\\\\u003e2?arguments[2]:void 0,g=i||[];function v(e){C(n)\\\\u0026\\\\u0026n.call(u,e,this),h\\\\u0026\\\\u0026v.destroy()}return k(g)\\\\u0026\\\\u0026(g=document.querySelectorAll(g)),v.destroy=function(){r(g,(function(t){var i=a(t,e,v);i.found\\\\u0026\\\\u0026i.all.splice(i.evt,1),t.removeEventListener\\\\u0026\\\\u0026t.removeEventListener(e,v,c)}))},r(g,(function(t){var i=a(t,e,v);(t.addEventListener\\\\u0026\\\\u0026l\\\\u0026\\\\u0026!i.found||!l)\\\\u0026\\\\u0026(t.addEventListener(e,v,c),i.all.push({eventName:e,fn:v}))})),v}function d(e,t){r(t.split(\\\\\" \\\\\"),(function(t){return e.classList.add(t)}))}function c(e,t){r(t.split(\\\\\" \\\\\"),(function(t){return e.classList.remove(t)}))}function u(e,t){return e.classList.contains(t)}function g(e,t){for(;e!==document.body;){if(!(e=e.parentElement))return!1;if(\\\\\"function\\\\\"==typeof e.matches?e.matches(t):e.msMatchesSelector(t))return e}}function v(e){var t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:\\\\\"\\\\\",i=arguments.length\\\\u003e2\\\\u0026\\\\u0026void 0!==arguments[2]\\\\u0026\\\\u0026arguments[2];if(!e||\\\\\"\\\\\"===t)return!1;if(\\\\\"none\\\\\"===t)return C(i)\\\\u0026\\\\u0026i(),!1;var n=b(),s=t.split(\\\\\" \\\\\");r(s,(function(t){d(e,\\\\\"g\\\\\"+t)})),h(n,{onElement:e,avoidDuplicate:!1,once:!0,withCallback:function(e,t){r(s,(function(e){c(t,\\\\\"g\\\\\"+e)})),C(i)\\\\u0026\\\\u0026i()}})}function f(e){var t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:\\\\\"\\\\\";if(\\\\\"\\\\\"===t)return e.style.webkitTransform=\\\\\"\\\\\",e.style.MozTransform=\\\\\"\\\\\",e.style.msTransform=\\\\\"\\\\\",e.style.OTransform=\\\\\"\\\\\",e.style.transform=\\\\\"\\\\\",!1;e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t,e.style.transform=t}function p(e){e.style.display=\\\\\"block\\\\\"}function m(e){e.style.display=\\\\\"none\\\\\"}function y(e){var t=document.createDocumentFragment(),i=document.createElement(\\\\\"div\\\\\");for(i.innerHTML=e;i.firstChild;)t.appendChild(i.firstChild);return t}function x(){return{width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}}function b(){var e,t=document.createElement(\\\\\"fakeelement\\\\\"),i={animation:\\\\\"animationend\\\\\",OAnimation:\\\\\"oAnimationEnd\\\\\",MozAnimation:\\\\\"animationend\\\\\",WebkitAnimation:\\\\\"webkitAnimationEnd\\\\\"};for(e in i)if(void 0!==t.style[e])return i[e]}function S(e,t,i,n){if(e())t();else{var s;i||(i=100);var l=setInterval((function(){e()\\\\u0026\\\\u0026(clearInterval(l),s\\\\u0026\\\\u0026clearTimeout(s),t())}),i);n\\\\u0026\\\\u0026(s=setTimeout((function(){clearInterval(l)}),n))}}function w(e,t,i){if(O(e))console.error(\\\\\"Inject assets error\\\\\");else if(C(t)\\\\u0026\\\\u0026(i=t,t=!1),k(t)\\\\u0026\\\\u0026t in window)C(i)\\\\u0026\\\\u0026i();else{var n;if(-1!==e.indexOf(\\\\\".css\\\\\")){if((n=document.querySelectorAll(\\'link[href=\\\\\"\\'+e+\\'\\\\\"]\\'))\\\\u0026\\\\u0026n.length\\\\u003e0)return void(C(i)\\\\u0026\\\\u0026i());var s=document.getElementsByTagName(\\\\\"head\\\\\")[0],l=s.querySelectorAll(\\'link[rel=\\\\\"stylesheet\\\\\"]\\'),o=document.createElement(\\\\\"link\\\\\");return o.rel=\\\\\"stylesheet\\\\\",o.type=\\\\\"text/css\\\\\",o.href=e,o.media=\\\\\"all\\\\\",l?s.insertBefore(o,l[0]):s.appendChild(o),void(C(i)\\\\u0026\\\\u0026i())}if((n=document.querySelectorAll(\\'script[src=\\\\\"\\'+e+\\'\\\\\"]\\'))\\\\u0026\\\\u0026n.length\\\\u003e0){if(C(i)){if(k(t))return S((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}}else{var r=document.createElement(\\\\\"script\\\\\");r.type=\\\\\"text/javascript\\\\\",r.src=e,r.onload=function(){if(C(i)){if(k(t))return S((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}},document.body.appendChild(r)}}}function T(){return\\\\\"navigator\\\\\"in window\\\\u0026\\\\u0026window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i)}function C(e){return\\\\\"function\\\\\"==typeof e}function k(e){return\\\\\"string\\\\\"==typeof e}function E(e){return!(!e||!e.nodeType||1!=e.nodeType)}function A(e){return Array.isArray(e)}function L(e){return e\\\\u0026\\\\u0026e.length\\\\u0026\\\\u0026isFinite(e.length)}function I(e){return\\\\\"object\\\\\"===s(e)\\\\u0026\\\\u0026null!=e\\\\u0026\\\\u0026!C(e)\\\\u0026\\\\u0026!A(e)}function O(e){return null==e}function P(e,t){return null!==e\\\\u0026\\\\u0026hasOwnProperty.call(e,t)}function M(e){if(I(e)){if(e.keys)return e.keys().length;var t=0;for(var i in e)P(e,i)\\\\u0026\\\\u0026t++;return t}return e.length}function z(e){return!isNaN(parseFloat(e))\\\\u0026\\\\u0026isFinite(e)}function X(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:-1,t=document.querySelectorAll(\\\\\".gbtn[data-taborder]:not(.disabled)\\\\\");if(!t.length)return!1;if(1==t.length)return t[0];\\\\\"string\\\\\"==typeof e\\\\u0026\\\\u0026(e=parseInt(e));var i=[];r(t,(function(e){i.push(e.getAttribute(\\\\\"data-taborder\\\\\"))}));var n=Math.max.apply(Math,i.map((function(e){return parseInt(e)}))),s=e\\\\u003c0?1:e+1;s\\\\u003en\\\\u0026\\\\u0026(s=\\\\\"1\\\\\");var l=i.filter((function(e){return e\\\\u003e=parseInt(s)})),o=l.sort()[0];return document.querySelector(\\'.gbtn[data-taborder=\\\\\"\\'.concat(o,\\'\\\\\"]\\'))}function Y(e){if(e.events.hasOwnProperty(\\\\\"keyboard\\\\\"))return!1;e.events.keyboard=h(\\\\\"keydown\\\\\",{onElement:window,withCallback:function(t,i){var n=(t=t||window.event).keyCode;if(9==n){var s=document.querySelector(\\\\\".gbtn.focused\\\\\");if(!s){var l=!(!document.activeElement||!document.activeElement.nodeName)\\\\u0026\\\\u0026document.activeElement.nodeName.toLocaleLowerCase();if(\\\\\"input\\\\\"==l||\\\\\"textarea\\\\\"==l||\\\\\"button\\\\\"==l)return}t.preventDefault();var o=document.querySelectorAll(\\\\\".gbtn[data-taborder]\\\\\");if(!o||o.length\\\\u003c=0)return;if(!s){var r=X();return void(r\\\\u0026\\\\u0026(r.focus(),d(r,\\\\\"focused\\\\\")))}var a=X(s.getAttribute(\\\\\"data-taborder\\\\\"));c(s,\\\\\"focused\\\\\"),a\\\\u0026\\\\u0026(a.focus(),d(a,\\\\\"focused\\\\\"))}39==n\\\\u0026\\\\u0026e.nextSlide(),37==n\\\\u0026\\\\u0026e.prevSlide(),27==n\\\\u0026\\\\u0026e.close()}})}var q=i((function t(i,n){var s=this,l=arguments.length\\\\u003e2\\\\u0026\\\\u0026void 0!==arguments[2]?arguments[2]:null;if(e(this,t),this.img=i,this.slide=n,this.onclose=l,this.img.setZoomEvents)return!1;this.active=!1,this.zoomedIn=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.img.addEventListener(\\\\\"mousedown\\\\\",(function(e){return s.dragStart(e)}),!1),this.img.addEventListener(\\\\\"mouseup\\\\\",(function(e){return s.dragEnd(e)}),!1),this.img.addEventListener(\\\\\"mousemove\\\\\",(function(e){return s.drag(e)}),!1),this.img.addEventListener(\\\\\"click\\\\\",(function(e){return s.slide.classList.contains(\\\\\"dragging-nav\\\\\")?(s.zoomOut(),!1):s.zoomedIn?void(s.zoomedIn\\\\u0026\\\\u0026!s.dragging\\\\u0026\\\\u0026s.zoomOut()):s.zoomIn()}),!1),this.img.setZoomEvents=!0}),[{key:\\\\\"zoomIn\\\\\",value:function(){var e=this.widowWidth();if(!(this.zoomedIn||e\\\\u003c=768)){var t=this.img;if(t.setAttribute(\\\\\"data-style\\\\\",t.getAttribute(\\\\\"style\\\\\")),t.style.maxWidth=t.naturalWidth+\\\\\"px\\\\\",t.style.maxHeight=t.naturalHeight+\\\\\"px\\\\\",t.naturalWidth\\\\u003ee){var i=e/2-t.naturalWidth/2;this.setTranslate(this.img.parentNode,i,0)}this.slide.classList.add(\\\\\"zoomed\\\\\"),this.zoomedIn=!0}}},{key:\\\\\"zoomOut\\\\\",value:function(){this.img.parentNode.setAttribute(\\\\\"style\\\\\",\\\\\"\\\\\"),this.img.setAttribute(\\\\\"style\\\\\",this.img.getAttribute(\\\\\"data-style\\\\\")),this.slide.classList.remove(\\\\\"zoomed\\\\\"),this.zoomedIn=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.onclose\\\\u0026\\\\u0026\\\\\"function\\\\\"==typeof this.onclose\\\\u0026\\\\u0026this.onclose()}},{key:\\\\\"dragStart\\\\\",value:function(e){e.preventDefault(),this.zoomedIn?(\\\\\"touchstart\\\\\"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset),e.target===this.img\\\\u0026\\\\u0026(this.active=!0,this.img.classList.add(\\\\\"dragging\\\\\"))):this.active=!1}},{key:\\\\\"dragEnd\\\\\",value:function(e){var t=this;e.preventDefault(),this.initialX=this.currentX,this.initialY=this.currentY,this.active=!1,setTimeout((function(){t.dragging=!1,t.img.isDragging=!1,t.img.classList.remove(\\\\\"dragging\\\\\")}),100)}},{key:\\\\\"drag\\\\\",value:function(e){this.active\\\\u0026\\\\u0026(e.preventDefault(),\\\\\"touchmove\\\\\"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.img.isDragging=!0,this.dragging=!0,this.setTranslate(this.img,this.currentX,this.currentY))}},{key:\\\\\"onMove\\\\\",value:function(e){if(this.zoomedIn){var t=e.clientX-this.img.naturalWidth/2,i=e.clientY-this.img.naturalHeight/2;this.setTranslate(this.img,t,i)}}},{key:\\\\\"setTranslate\\\\\",value:function(e,t,i){e.style.transform=\\\\\"translate3d(\\\\\"+t+\\\\\"px, \\\\\"+i+\\\\\"px, 0)\\\\\"}},{key:\\\\\"widowWidth\\\\\",value:function(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}}]),N=i((function t(){var i=this,n=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:{};e(this,t);var s=n.dragEl,l=n.toleranceX,o=void 0===l?40:l,r=n.toleranceY,a=void 0===r?65:r,h=n.slide,d=void 0===h?null:h,c=n.instance,u=void 0===c?null:c;this.el=s,this.active=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.direction=null,this.lastDirection=null,this.toleranceX=o,this.toleranceY=a,this.toleranceReached=!1,this.dragContainer=this.el,this.slide=d,this.instance=u,this.el.addEventListener(\\\\\"mousedown\\\\\",(function(e){return i.dragStart(e)}),!1),this.el.addEventListener(\\\\\"mouseup\\\\\",(function(e){return i.dragEnd(e)}),!1),this.el.addEventListener(\\\\\"mousemove\\\\\",(function(e){return i.drag(e)}),!1)}),[{key:\\\\\"dragStart\\\\\",value:function(e){if(this.slide.classList.contains(\\\\\"zoomed\\\\\"))this.active=!1;else{\\\\\"touchstart\\\\\"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset);var t=e.target.nodeName.toLowerCase();e.target.classList.contains(\\\\\"nodrag\\\\\")||g(e.target,\\\\\".nodrag\\\\\")||-1!==[\\\\\"input\\\\\",\\\\\"select\\\\\",\\\\\"textarea\\\\\",\\\\\"button\\\\\",\\\\\"a\\\\\"].indexOf(t)?this.active=!1:(e.preventDefault(),(e.target===this.el||\\\\\"img\\\\\"!==t\\\\u0026\\\\u0026g(e.target,\\\\\".gslide-inline\\\\\"))\\\\u0026\\\\u0026(this.active=!0,this.el.classList.add(\\\\\"dragging\\\\\"),this.dragContainer=g(e.target,\\\\\".ginner-container\\\\\")))}}},{key:\\\\\"dragEnd\\\\\",value:function(e){var t=this;e\\\\u0026\\\\u0026e.preventDefault(),this.initialX=0,this.initialY=0,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.active=!1,this.doSlideChange\\\\u0026\\\\u0026(this.instance.preventOutsideClick=!0,\\\\\"right\\\\\"==this.doSlideChange\\\\u0026\\\\u0026this.instance.prevSlide(),\\\\\"left\\\\\"==this.doSlideChange\\\\u0026\\\\u0026this.instance.nextSlide()),this.doSlideClose\\\\u0026\\\\u0026this.instance.close(),this.toleranceReached||this.setTranslate(this.dragContainer,0,0,!0),setTimeout((function(){t.instance.preventOutsideClick=!1,t.toleranceReached=!1,t.lastDirection=null,t.dragging=!1,t.el.isDragging=!1,t.el.classList.remove(\\\\\"dragging\\\\\"),t.slide.classList.remove(\\\\\"dragging-nav\\\\\"),t.dragContainer.style.transform=\\\\\"\\\\\",t.dragContainer.style.transition=\\\\\"\\\\\"}),100)}},{key:\\\\\"drag\\\\\",value:function(e){if(this.active){e.preventDefault(),this.slide.classList.add(\\\\\"dragging-nav\\\\\"),\\\\\"touchmove\\\\\"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.el.isDragging=!0,this.dragging=!0,this.doSlideChange=!1,this.doSlideClose=!1;var t=Math.abs(this.currentX),i=Math.abs(this.currentY);if(t\\\\u003e0\\\\u0026\\\\u0026t\\\\u003e=Math.abs(this.currentY)\\\\u0026\\\\u0026(!this.lastDirection||\\\\\"x\\\\\"==this.lastDirection)){this.yOffset=0,this.lastDirection=\\\\\"x\\\\\",this.setTranslate(this.dragContainer,this.currentX,0);var n=this.shouldChange();if(!this.instance.settings.dragAutoSnap\\\\u0026\\\\u0026n\\\\u0026\\\\u0026(this.doSlideChange=n),this.instance.settings.dragAutoSnap\\\\u0026\\\\u0026n)return this.instance.preventOutsideClick=!0,this.toleranceReached=!0,this.active=!1,this.instance.preventOutsideClick=!0,this.dragEnd(null),\\\\\"right\\\\\"==n\\\\u0026\\\\u0026this.instance.prevSlide(),void(\\\\\"left\\\\\"==n\\\\u0026\\\\u0026this.instance.nextSlide())}if(this.toleranceY\\\\u003e0\\\\u0026\\\\u0026i\\\\u003e0\\\\u0026\\\\u0026i\\\\u003e=t\\\\u0026\\\\u0026(!this.lastDirection||\\\\\"y\\\\\"==this.lastDirection)){this.xOffset=0,this.lastDirection=\\\\\"y\\\\\",this.setTranslate(this.dragContainer,0,this.currentY);var s=this.shouldClose();return!this.instance.settings.dragAutoSnap\\\\u0026\\\\u0026s\\\\u0026\\\\u0026(this.doSlideClose=!0),void(this.instance.settings.dragAutoSnap\\\\u0026\\\\u0026s\\\\u0026\\\\u0026this.instance.close())}}}},{key:\\\\\"shouldChange\\\\\",value:function(){var e=!1;if(Math.abs(this.currentX)\\\\u003e=this.toleranceX){var t=this.currentX\\\\u003e0?\\\\\"right\\\\\":\\\\\"left\\\\\";(\\\\\"left\\\\\"==t\\\\u0026\\\\u0026this.slide!==this.slide.parentNode.lastChild||\\\\\"right\\\\\"==t\\\\u0026\\\\u0026this.slide!==this.slide.parentNode.firstChild)\\\\u0026\\\\u0026(e=t)}return e}},{key:\\\\\"shouldClose\\\\\",value:function(){var e=!1;return Math.abs(this.currentY)\\\\u003e=this.toleranceY\\\\u0026\\\\u0026(e=!0),e}},{key:\\\\\"setTranslate\\\\\",value:function(e,t,i){var n=arguments.length\\\\u003e3\\\\u0026\\\\u0026void 0!==arguments[3]\\\\u0026\\\\u0026arguments[3];e.style.transition=n?\\\\\"all .2s ease\\\\\":\\\\\"\\\\\",e.style.transform=\\\\\"translate3d(\\\\\".concat(t,\\\\\"px, \\\\\").concat(i,\\\\\"px, 0)\\\\\")}}]);function D(e,t,i,n){var s=e.querySelector(\\\\\".gslide-media\\\\\"),l=new Image,o=\\\\\"gSlideTitle_\\\\\"+i,r=\\\\\"gSlideDesc_\\\\\"+i;l.addEventListener(\\\\\"load\\\\\",(function(){C(n)\\\\u0026\\\\u0026n()}),!1),l.src=t.href,\\\\\"\\\\\"!=t.sizes\\\\u0026\\\\u0026\\\\\"\\\\\"!=t.srcset\\\\u0026\\\\u0026(l.sizes=t.sizes,l.srcset=t.srcset),l.alt=\\\\\"\\\\\",O(t.alt)||\\\\\"\\\\\"===t.alt||(l.alt=t.alt),\\\\\"\\\\\"!==t.title\\\\u0026\\\\u0026l.setAttribute(\\\\\"aria-labelledby\\\\\",o),\\\\\"\\\\\"!==t.description\\\\u0026\\\\u0026l.setAttribute(\\\\\"aria-describedby\\\\\",r),t.hasOwnProperty(\\\\\"_hasCustomWidth\\\\\")\\\\u0026\\\\u0026t._hasCustomWidth\\\\u0026\\\\u0026(l.style.width=t.width),t.hasOwnProperty(\\\\\"_hasCustomHeight\\\\\")\\\\u0026\\\\u0026t._hasCustomHeight\\\\u0026\\\\u0026(l.style.height=t.height),s.insertBefore(l,s.firstChild)}function _(e,t,i,n){var s=this,l=e.querySelector(\\\\\".ginner-container\\\\\"),o=\\\\\"gvideo\\\\\"+i,r=e.querySelector(\\\\\".gslide-media\\\\\"),a=this.getAllPlayers();d(l,\\\\\"gvideo-container\\\\\"),r.insertBefore(y(\\'\\\\u003cdiv class=\\\\\"gvideo-wrapper\\\\\"\\\\u003e\\\\u003c/div\\\\u003e\\'),r.firstChild);var h=e.querySelector(\\\\\".gvideo-wrapper\\\\\");w(this.settings.plyr.css,\\\\\"Plyr\\\\\");var c=t.href,u=null==t?void 0:t.videoProvider,g=!1;r.style.maxWidth=t.width,w(this.settings.plyr.js,\\\\\"Plyr\\\\\",(function(){if(!u\\\\u0026\\\\u0026c.match(/vimeo\\\\\\\\.com\\\\\\\\/([0-9]*)/)\\\\u0026\\\\u0026(u=\\\\\"vimeo\\\\\"),!u\\\\u0026\\\\u0026(c.match(/(youtube\\\\\\\\.com|youtube-nocookie\\\\\\\\.com)\\\\\\\\/watch\\\\\\\\?v=([a-zA-Z0-9\\\\\\\\-_]+)/)||c.match(/youtu\\\\\\\\.be\\\\\\\\/([a-zA-Z0-9\\\\\\\\-_]+)/)||c.match(/(youtube\\\\\\\\.com|youtube-nocookie\\\\\\\\.com)\\\\\\\\/embed\\\\\\\\/([a-zA-Z0-9\\\\\\\\-_]+)/)||c.match(/(youtube\\\\\\\\.com|youtube-nocookie\\\\\\\\.com)\\\\\\\\/shorts\\\\\\\\/([a-zA-Z0-9\\\\\\\\-_]+)/))\\\\u0026\\\\u0026(u=\\\\\"youtube\\\\\"),\\\\\"local\\\\\"===u||!u){u=\\\\\"local\\\\\";var l=\\'\\\\u003cvideo id=\\\\\"\\'+o+\\'\\\\\" \\';l+=\\'style=\\\\\"background:#000; max-width: \\'.concat(t.width,\\';\\\\\" \\'),l+=\\'preload=\\\\\"metadata\\\\\" \\',l+=\\'x-webkit-airplay=\\\\\"allow\\\\\" \\',l+=\\\\\"playsinline \\\\\",l+=\\\\\"controls \\\\\",l+=\\'class=\\\\\"gvideo-local\\\\\"\\\\u003e\\',l+=\\'\\\\u003csource src=\\\\\"\\'.concat(c,\\'\\\\\"\\\\u003e\\'),g=y(l+=\\\\\"\\\\u003c/video\\\\u003e\\\\\")}var r=g||y(\\'\\\\u003cdiv id=\\\\\"\\'.concat(o,\\'\\\\\" data-plyr-provider=\\\\\"\\').concat(u,\\'\\\\\" data-plyr-embed-id=\\\\\"\\').concat(c,\\'\\\\\"\\\\u003e\\\\u003c/div\\\\u003e\\'));d(h,\\\\\"\\\\\".concat(u,\\\\\"-video gvideo\\\\\")),h.appendChild(r),h.setAttribute(\\\\\"data-id\\\\\",o),h.setAttribute(\\\\\"data-index\\\\\",i);var v=P(s.settings.plyr,\\\\\"config\\\\\")?s.settings.plyr.config:{},f=new Plyr(\\\\\"#\\\\\"+o,v);f.on(\\\\\"ready\\\\\",(function(e){a[o]=e.detail.plyr,C(n)\\\\u0026\\\\u0026n()})),S((function(){return e.querySelector(\\\\\"iframe\\\\\")\\\\u0026\\\\u0026\\\\\"true\\\\\"==e.querySelector(\\\\\"iframe\\\\\").dataset.ready}),(function(){s.resize(e)})),f.on(\\\\\"enterfullscreen\\\\\",W),f.on(\\\\\"exitfullscreen\\\\\",W)}))}function W(e){var t=g(e.target,\\\\\".gslide-media\\\\\");\\\\\"enterfullscreen\\\\\"===e.type\\\\u0026\\\\u0026d(t,\\\\\"fullscreen\\\\\"),\\\\\"exitfullscreen\\\\\"===e.type\\\\u0026\\\\u0026c(t,\\\\\"fullscreen\\\\\")}function B(e,t,i,n){var s,l=this,o=e.querySelector(\\\\\".gslide-media\\\\\"),r=!(!P(t,\\\\\"href\\\\\")||!t.href)\\\\u0026\\\\u0026t.href.split(\\\\\"#\\\\\").pop().trim(),a=!(!P(t,\\\\\"content\\\\\")||!t.content)\\\\u0026\\\\u0026t.content;if(a\\\\u0026\\\\u0026(k(a)\\\\u0026\\\\u0026(s=y(\\'\\\\u003cdiv class=\\\\\"ginlined-content\\\\\"\\\\u003e\\'.concat(a,\\\\\"\\\\u003c/div\\\\u003e\\\\\"))),E(a))){\\\\\"none\\\\\"==a.style.display\\\\u0026\\\\u0026(a.style.display=\\\\\"block\\\\\");var c=document.createElement(\\\\\"div\\\\\");c.className=\\\\\"ginlined-content\\\\\",c.appendChild(a),s=c}if(r){var u=document.getElementById(r);if(!u)return!1;var g=u.cloneNode(!0);g.style.height=t.height,g.style.maxWidth=t.width,d(g,\\\\\"ginlined-content\\\\\"),s=g}if(!s)return console.error(\\\\\"Unable to append inline slide content\\\\\",t),!1;o.style.height=t.height,o.style.width=t.width,o.appendChild(s),this.events[\\\\\"inlineclose\\\\\"+r]=h(\\\\\"click\\\\\",{onElement:o.querySelectorAll(\\\\\".gtrigger-close\\\\\"),withCallback:function(e){e.preventDefault(),l.close()}}),C(n)\\\\u0026\\\\u0026n()}function H(e,t,i,n){var s=e.querySelector(\\\\\".gslide-media\\\\\"),l=function(e){var t=e.url,i=e.allow,n=e.callback,s=e.appendTo,l=document.createElement(\\\\\"iframe\\\\\");return l.className=\\\\\"vimeo-video gvideo\\\\\",l.src=t,l.style.width=\\\\\"100%\\\\\",l.style.height=\\\\\"100%\\\\\",i\\\\u0026\\\\u0026l.setAttribute(\\\\\"allow\\\\\",i),l.onload=function(){l.onload=null,d(l,\\\\\"node-ready\\\\\"),C(n)\\\\u0026\\\\u0026n()},s\\\\u0026\\\\u0026s.appendChild(l),l}({url:t.href,callback:n});s.parentNode.style.maxWidth=t.width,s.parentNode.style.height=t.height,s.appendChild(l)}var j=i((function t(){var i=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:{};e(this,t),this.defaults={href:\\\\\"\\\\\",sizes:\\\\\"\\\\\",srcset:\\\\\"\\\\\",title:\\\\\"\\\\\",type:\\\\\"\\\\\",videoProvider:\\\\\"\\\\\",description:\\\\\"\\\\\",alt:\\\\\"\\\\\",descPosition:\\\\\"bottom\\\\\",effect:\\\\\"\\\\\",width:\\\\\"\\\\\",height:\\\\\"\\\\\",content:!1,zoomable:!0,draggable:!0},I(i)\\\\u0026\\\\u0026(this.defaults=o(this.defaults,i))}),[{key:\\\\\"sourceType\\\\\",value:function(e){var t=e;return null!==(e=e.toLowerCase()).match(/\\\\\\\\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/)?\\\\\"image\\\\\":e.match(/(youtube\\\\\\\\.com|youtube-nocookie\\\\\\\\.com)\\\\\\\\/watch\\\\\\\\?v=([a-zA-Z0-9\\\\\\\\-_]+)/)||e.match(/youtu\\\\\\\\.be\\\\\\\\/([a-zA-Z0-9\\\\\\\\-_]+)/)||e.match(/(youtube\\\\\\\\.com|youtube-nocookie\\\\\\\\.com)\\\\\\\\/embed\\\\\\\\/([a-zA-Z0-9\\\\\\\\-_]+)/)||e.match(/(youtube\\\\\\\\.com|youtube-nocookie\\\\\\\\.com)\\\\\\\\/shorts\\\\\\\\/([a-zA-Z0-9\\\\\\\\-_]+)/)||e.match(/vimeo\\\\\\\\.com\\\\\\\\/([0-9]*)/)||null!==e.match(/\\\\\\\\.(mp4|ogg|webm|mov)/)?\\\\\"video\\\\\":null!==e.match(/\\\\\\\\.(mp3|wav|wma|aac|ogg)/)?\\\\\"audio\\\\\":e.indexOf(\\\\\"#\\\\\")\\\\u003e-1\\\\u0026\\\\u0026\\\\\"\\\\\"!==t.split(\\\\\"#\\\\\").pop().trim()?\\\\\"inline\\\\\":e.indexOf(\\\\\"goajax=true\\\\\")\\\\u003e-1?\\\\\"ajax\\\\\":\\\\\"external\\\\\"}},{key:\\\\\"parseConfig\\\\\",value:function(e,t){var i=this,n=o({descPosition:t.descPosition},this.defaults);if(I(e)\\\\u0026\\\\u0026!E(e)){P(e,\\\\\"type\\\\\")||(P(e,\\\\\"content\\\\\")\\\\u0026\\\\u0026e.content?e.type=\\\\\"inline\\\\\":P(e,\\\\\"href\\\\\")\\\\u0026\\\\u0026(e.type=this.sourceType(e.href)));var s=o(n,e);return this.setSize(s,t),s}var l=\\\\\"\\\\\",a=e.getAttribute(\\\\\"data-glightbox\\\\\"),h=e.nodeName.toLowerCase();if(\\\\\"a\\\\\"===h\\\\u0026\\\\u0026(l=e.href),\\\\\"img\\\\\"===h\\\\u0026\\\\u0026(l=e.src,n.alt=e.alt),n.href=l,r(n,(function(s,l){P(t,l)\\\\u0026\\\\u0026\\\\\"width\\\\\"!==l\\\\u0026\\\\u0026(n[l]=t[l]);var o=e.dataset[l];O(o)||(n[l]=i.sanitizeValue(o))})),n.content\\\\u0026\\\\u0026(n.type=\\\\\"inline\\\\\"),!n.type\\\\u0026\\\\u0026l\\\\u0026\\\\u0026(n.type=this.sourceType(l)),O(a)){if(!n.title\\\\u0026\\\\u0026\\\\\"a\\\\\"==h){var d=e.title;O(d)||\\\\\"\\\\\"===d||(n.title=d)}if(!n.title\\\\u0026\\\\u0026\\\\\"img\\\\\"==h){var c=e.alt;O(c)||\\\\\"\\\\\"===c||(n.title=c)}}else{var u=[];r(n,(function(e,t){u.push(\\\\\";\\\\\\\\\\\\\\\\s?\\\\\"+t)})),u=u.join(\\\\\"\\\\\\\\\\\\\\\\s?:|\\\\\"),\\\\\"\\\\\"!==a.trim()\\\\u0026\\\\u0026r(n,(function(e,t){var s=a,l=new RegExp(\\\\\"s?\\\\\"+t+\\\\\"s?:s?(.*?)(\\\\\"+u+\\\\\"s?:|$)\\\\\"),o=s.match(l);if(o\\\\u0026\\\\u0026o.length\\\\u0026\\\\u0026o[1]){var r=o[1].trim().replace(/;\\\\\\\\s*$/,\\\\\"\\\\\");n[t]=i.sanitizeValue(r)}}))}if(n.description\\\\u0026\\\\u0026\\\\\".\\\\\"===n.description.substring(0,1)){var g;try{g=document.querySelector(n.description).innerHTML}catch(e){if(!(e instanceof DOMException))throw e}g\\\\u0026\\\\u0026(n.description=g)}if(!n.description){var v=e.querySelector(\\\\\".glightbox-desc\\\\\");v\\\\u0026\\\\u0026(n.description=v.innerHTML)}return this.setSize(n,t,e),this.slideConfig=n,n}},{key:\\\\\"setSize\\\\\",value:function(e,t){var i=arguments.length\\\\u003e2\\\\u0026\\\\u0026void 0!==arguments[2]?arguments[2]:null,n=\\\\\"video\\\\\"==e.type?this.checkSize(t.videosWidth):this.checkSize(t.width),s=this.checkSize(t.height);return e.width=P(e,\\\\\"width\\\\\")\\\\u0026\\\\u0026\\\\\"\\\\\"!==e.width?this.checkSize(e.width):n,e.height=P(e,\\\\\"height\\\\\")\\\\u0026\\\\u0026\\\\\"\\\\\"!==e.height?this.checkSize(e.height):s,i\\\\u0026\\\\u0026\\\\\"image\\\\\"==e.type\\\\u0026\\\\u0026(e._hasCustomWidth=!!i.dataset.width,e._hasCustomHeight=!!i.dataset.height),e}},{key:\\\\\"checkSize\\\\\",value:function(e){return z(e)?\\\\\"\\\\\".concat(e,\\\\\"px\\\\\"):e}},{key:\\\\\"sanitizeValue\\\\\",value:function(e){return\\\\\"true\\\\\"!==e\\\\u0026\\\\u0026\\\\\"false\\\\\"!==e?e:\\\\\"true\\\\\"===e}}]),V=i((function t(i,n,s){e(this,t),this.element=i,this.instance=n,this.index=s}),[{key:\\\\\"setContent\\\\\",value:function(){var e=this,t=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:null,i=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]\\\\u0026\\\\u0026arguments[1];if(u(t,\\\\\"loaded\\\\\"))return!1;var n=this.instance.settings,s=this.slideConfig,l=T();C(n.beforeSlideLoad)\\\\u0026\\\\u0026n.beforeSlideLoad({index:this.index,slide:t,player:!1});var o=s.type,r=s.descPosition,a=t.querySelector(\\\\\".gslide-media\\\\\"),h=t.querySelector(\\\\\".gslide-title\\\\\"),c=t.querySelector(\\\\\".gslide-desc\\\\\"),g=t.querySelector(\\\\\".gdesc-inner\\\\\"),v=i,f=\\\\\"gSlideTitle_\\\\\"+this.index,p=\\\\\"gSlideDesc_\\\\\"+this.index;if(C(n.afterSlideLoad)\\\\u0026\\\\u0026(v=function(){C(i)\\\\u0026\\\\u0026i(),n.afterSlideLoad({index:e.index,slide:t,player:e.instance.getSlidePlayerInstance(e.index)})}),\\\\\"\\\\\"==s.title\\\\u0026\\\\u0026\\\\\"\\\\\"==s.description?g\\\\u0026\\\\u0026g.parentNode.parentNode.removeChild(g.parentNode):(h\\\\u0026\\\\u0026\\\\\"\\\\\"!==s.title?(h.id=f,h.innerHTML=s.title):h.parentNode.removeChild(h),c\\\\u0026\\\\u0026\\\\\"\\\\\"!==s.description?(c.id=p,l\\\\u0026\\\\u0026n.moreLength\\\\u003e0?(s.smallDescription=this.slideShortDesc(s.description,n.moreLength,n.moreText),c.innerHTML=s.smallDescription,this.descriptionEvents(c,s)):c.innerHTML=s.description):c.parentNode.removeChild(c),d(a.parentNode,\\\\\"desc-\\\\\".concat(r)),d(g.parentNode,\\\\\"description-\\\\\".concat(r))),d(a,\\\\\"gslide-\\\\\".concat(o)),d(t,\\\\\"loaded\\\\\"),\\\\\"video\\\\\"!==o){if(\\\\\"external\\\\\"!==o)return\\\\\"inline\\\\\"===o?(B.apply(this.instance,[t,s,this.index,v]),void(s.draggable\\\\u0026\\\\u0026new N({dragEl:t.querySelector(\\\\\".gslide-inline\\\\\"),toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:this.instance}))):void(\\\\\"image\\\\\"!==o?C(v)\\\\u0026\\\\u0026v():D(t,s,this.index,(function(){var i=t.querySelector(\\\\\"img\\\\\");s.draggable\\\\u0026\\\\u0026new N({dragEl:i,toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:e.instance}),s.zoomable\\\\u0026\\\\u0026i.naturalWidth\\\\u003ei.offsetWidth\\\\u0026\\\\u0026(d(i,\\\\\"zoomable\\\\\"),new q(i,t,(function(){e.instance.resize()}))),C(v)\\\\u0026\\\\u0026v()})));H.apply(this,[t,s,this.index,v])}else _.apply(this.instance,[t,s,this.index,v])}},{key:\\\\\"slideShortDesc\\\\\",value:function(e){var t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:50,i=arguments.length\\\\u003e2\\\\u0026\\\\u0026void 0!==arguments[2]\\\\u0026\\\\u0026arguments[2],n=document.createElement(\\\\\"div\\\\\");n.innerHTML=e;var s=n.innerText,l=i;if((e=s.trim()).length\\\\u003c=t)return e;var o=e.substr(0,t-1);return l?(n=null,o+\\'... \\\\u003ca href=\\\\\"#\\\\\" class=\\\\\"desc-more\\\\\"\\\\u003e\\'+i+\\\\\"\\\\u003c/a\\\\u003e\\\\\"):o}},{key:\\\\\"descriptionEvents\\\\\",value:function(e,t){var i=this,n=e.querySelector(\\\\\".desc-more\\\\\");if(!n)return!1;h(\\\\\"click\\\\\",{onElement:n,withCallback:function(e,n){e.preventDefault();var s=document.body,l=g(n,\\\\\".gslide-desc\\\\\");if(!l)return!1;l.innerHTML=t.description,d(s,\\\\\"gdesc-open\\\\\");var o=h(\\\\\"click\\\\\",{onElement:[s,g(l,\\\\\".gslide-description\\\\\")],withCallback:function(e,n){\\\\\"a\\\\\"!==e.target.nodeName.toLowerCase()\\\\u0026\\\\u0026(c(s,\\\\\"gdesc-open\\\\\"),d(s,\\\\\"gdesc-closed\\\\\"),l.innerHTML=t.smallDescription,i.descriptionEvents(l,t),setTimeout((function(){c(s,\\\\\"gdesc-closed\\\\\")}),400),o.destroy())}})}})}},{key:\\\\\"create\\\\\",value:function(){return y(this.instance.settings.slideHTML)}},{key:\\\\\"getConfig\\\\\",value:function(){E(this.element)||this.element.hasOwnProperty(\\\\\"draggable\\\\\")||(this.element.draggable=this.instance.settings.draggable);var e=new j(this.instance.settings.slideExtraAttributes);return this.slideConfig=e.parseConfig(this.element,this.instance.settings),this.slideConfig}}]);function F(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function R(e,t){var i=function(e,t){var i=F(e)*F(t);if(0===i)return 0;var n=function(e,t){return e.x*t.x+e.y*t.y}(e,t)/i;return n\\\\u003e1\\\\u0026\\\\u0026(n=1),Math.acos(n)}(e,t);return function(e,t){return e.x*t.y-t.x*e.y}(e,t)\\\\u003e0\\\\u0026\\\\u0026(i*=-1),180*i/Math.PI}var G=i((function t(i){e(this,t),this.handlers=[],this.el=i}),[{key:\\\\\"add\\\\\",value:function(e){this.handlers.push(e)}},{key:\\\\\"del\\\\\",value:function(e){e||(this.handlers=[]);for(var t=this.handlers.length;t\\\\u003e=0;t--)this.handlers[t]===e\\\\u0026\\\\u0026this.handlers.splice(t,1)}},{key:\\\\\"dispatch\\\\\",value:function(){for(var e=0,t=this.handlers.length;e\\\\u003ct;e++){var i=this.handlers[e];\\\\\"function\\\\\"==typeof i\\\\u0026\\\\u0026i.apply(this.el,arguments)}}}]);function Z(e,t){var i=new G(e);return i.add(t),i}var U=i((function t(i,n){e(this,t),this.element=\\\\\"string\\\\\"==typeof i?document.querySelector(i):i,this.start=this.start.bind(this),this.move=this.move.bind(this),this.end=this.end.bind(this),this.cancel=this.cancel.bind(this),this.element.addEventListener(\\\\\"touchstart\\\\\",this.start,!1),this.element.addEventListener(\\\\\"touchmove\\\\\",this.move,!1),this.element.addEventListener(\\\\\"touchend\\\\\",this.end,!1),this.element.addEventListener(\\\\\"touchcancel\\\\\",this.cancel,!1),this.preV={x:null,y:null},this.pinchStartLen=null,this.zoom=1,this.isDoubleTap=!1;var s=function(){};this.rotate=Z(this.element,n.rotate||s),this.touchStart=Z(this.element,n.touchStart||s),this.multipointStart=Z(this.element,n.multipointStart||s),this.multipointEnd=Z(this.element,n.multipointEnd||s),this.pinch=Z(this.element,n.pinch||s),this.swipe=Z(this.element,n.swipe||s),this.tap=Z(this.element,n.tap||s),this.doubleTap=Z(this.element,n.doubleTap||s),this.longTap=Z(this.element,n.longTap||s),this.singleTap=Z(this.element,n.singleTap||s),this.pressMove=Z(this.element,n.pressMove||s),this.twoFingerPressMove=Z(this.element,n.twoFingerPressMove||s),this.touchMove=Z(this.element,n.touchMove||s),this.touchEnd=Z(this.element,n.touchEnd||s),this.touchCancel=Z(this.element,n.touchCancel||s),this.translateContainer=this.element,this._cancelAllHandler=this.cancelAll.bind(this),window.addEventListener(\\\\\"scroll\\\\\",this._cancelAllHandler),this.delta=null,this.last=null,this.now=null,this.tapTimeout=null,this.singleTapTimeout=null,this.longTapTimeout=null,this.swipeTimeout=null,this.x1=this.x2=this.y1=this.y2=null,this.preTapPosition={x:null,y:null}}),[{key:\\\\\"start\\\\\",value:function(e){if(e.touches)if(e.target\\\\u0026\\\\u0026e.target.nodeName\\\\u0026\\\\u0026[\\\\\"a\\\\\",\\\\\"button\\\\\",\\\\\"input\\\\\"].indexOf(e.target.nodeName.toLowerCase())\\\\u003e=0)console.log(\\\\\"ignore drag for this touched element\\\\\",e.target.nodeName.toLowerCase());else{this.now=Date.now(),this.x1=e.touches[0].pageX,this.y1=e.touches[0].pageY,this.delta=this.now-(this.last||this.now),this.touchStart.dispatch(e,this.element),null!==this.preTapPosition.x\\\\u0026\\\\u0026(this.isDoubleTap=this.delta\\\\u003e0\\\\u0026\\\\u0026this.delta\\\\u003c=250\\\\u0026\\\\u0026Math.abs(this.preTapPosition.x-this.x1)\\\\u003c30\\\\u0026\\\\u0026Math.abs(this.preTapPosition.y-this.y1)\\\\u003c30,this.isDoubleTap\\\\u0026\\\\u0026clearTimeout(this.singleTapTimeout)),this.preTapPosition.x=this.x1,this.preTapPosition.y=this.y1,this.last=this.now;var t=this.preV;if(e.touches.length\\\\u003e1){this._cancelLongTap(),this._cancelSingleTap();var i={x:e.touches[1].pageX-this.x1,y:e.touches[1].pageY-this.y1};t.x=i.x,t.y=i.y,this.pinchStartLen=F(t),this.multipointStart.dispatch(e,this.element)}this._preventTap=!1,this.longTapTimeout=setTimeout(function(){this.longTap.dispatch(e,this.element),this._preventTap=!0}.bind(this),750)}}},{key:\\\\\"move\\\\\",value:function(e){if(e.touches){var t=this.preV,i=e.touches.length,n=e.touches[0].pageX,s=e.touches[0].pageY;if(this.isDoubleTap=!1,i\\\\u003e1){var l=e.touches[1].pageX,o=e.touches[1].pageY,r={x:e.touches[1].pageX-n,y:e.touches[1].pageY-s};null!==t.x\\\\u0026\\\\u0026(this.pinchStartLen\\\\u003e0\\\\u0026\\\\u0026(e.zoom=F(r)/this.pinchStartLen,this.pinch.dispatch(e,this.element)),e.angle=R(r,t),this.rotate.dispatch(e,this.element)),t.x=r.x,t.y=r.y,null!==this.x2\\\\u0026\\\\u0026null!==this.sx2?(e.deltaX=(n-this.x2+l-this.sx2)/2,e.deltaY=(s-this.y2+o-this.sy2)/2):(e.deltaX=0,e.deltaY=0),this.twoFingerPressMove.dispatch(e,this.element),this.sx2=l,this.sy2=o}else{if(null!==this.x2){e.deltaX=n-this.x2,e.deltaY=s-this.y2;var a=Math.abs(this.x1-this.x2),h=Math.abs(this.y1-this.y2);(a\\\\u003e10||h\\\\u003e10)\\\\u0026\\\\u0026(this._preventTap=!0)}else e.deltaX=0,e.deltaY=0;this.pressMove.dispatch(e,this.element)}this.touchMove.dispatch(e,this.element),this._cancelLongTap(),this.x2=n,this.y2=s,i\\\\u003e1\\\\u0026\\\\u0026e.preventDefault()}}},{key:\\\\\"end\\\\\",value:function(e){if(e.changedTouches){this._cancelLongTap();var t=this;e.touches.length\\\\u003c2\\\\u0026\\\\u0026(this.multipointEnd.dispatch(e,this.element),this.sx2=this.sy2=null),this.x2\\\\u0026\\\\u0026Math.abs(this.x1-this.x2)\\\\u003e30||this.y2\\\\u0026\\\\u0026Math.abs(this.y1-this.y2)\\\\u003e30?(e.direction=this._swipeDirection(this.x1,this.x2,this.y1,this.y2),this.swipeTimeout=setTimeout((function(){t.swipe.dispatch(e,t.element)}),0)):(this.tapTimeout=setTimeout((function(){t._preventTap||t.tap.dispatch(e,t.element),t.isDoubleTap\\\\u0026\\\\u0026(t.doubleTap.dispatch(e,t.element),t.isDoubleTap=!1)}),0),t.isDoubleTap||(t.singleTapTimeout=setTimeout((function(){t.singleTap.dispatch(e,t.element)}),250))),this.touchEnd.dispatch(e,this.element),this.preV.x=0,this.preV.y=0,this.zoom=1,this.pinchStartLen=null,this.x1=this.x2=this.y1=this.y2=null}}},{key:\\\\\"cancelAll\\\\\",value:function(){this._preventTap=!0,clearTimeout(this.singleTapTimeout),clearTimeout(this.tapTimeout),clearTimeout(this.longTapTimeout),clearTimeout(this.swipeTimeout)}},{key:\\\\\"cancel\\\\\",value:function(e){this.cancelAll(),this.touchCancel.dispatch(e,this.element)}},{key:\\\\\"_cancelLongTap\\\\\",value:function(){clearTimeout(this.longTapTimeout)}},{key:\\\\\"_cancelSingleTap\\\\\",value:function(){clearTimeout(this.singleTapTimeout)}},{key:\\\\\"_swipeDirection\\\\\",value:function(e,t,i,n){return Math.abs(e-t)\\\\u003e=Math.abs(i-n)?e-t\\\\u003e0?\\\\\"Left\\\\\":\\\\\"Right\\\\\":i-n\\\\u003e0?\\\\\"Up\\\\\":\\\\\"Down\\\\\"}},{key:\\\\\"on\\\\\",value:function(e,t){this[e]\\\\u0026\\\\u0026this[e].add(t)}},{key:\\\\\"off\\\\\",value:function(e,t){this[e]\\\\u0026\\\\u0026this[e].del(t)}},{key:\\\\\"destroy\\\\\",value:function(){return this.singleTapTimeout\\\\u0026\\\\u0026clearTimeout(this.singleTapTimeout),this.tapTimeout\\\\u0026\\\\u0026clearTimeout(this.tapTimeout),this.longTapTimeout\\\\u0026\\\\u0026clearTimeout(this.longTapTimeout),this.swipeTimeout\\\\u0026\\\\u0026clearTimeout(this.swipeTimeout),this.element.removeEventListener(\\\\\"touchstart\\\\\",this.start),this.element.removeEventListener(\\\\\"touchmove\\\\\",this.move),this.element.removeEventListener(\\\\\"touchend\\\\\",this.end),this.element.removeEventListener(\\\\\"touchcancel\\\\\",this.cancel),this.rotate.del(),this.touchStart.del(),this.multipointStart.del(),this.multipointEnd.del(),this.pinch.del(),this.swipe.del(),this.tap.del(),this.doubleTap.del(),this.longTap.del(),this.singleTap.del(),this.pressMove.del(),this.twoFingerPressMove.del(),this.touchMove.del(),this.touchEnd.del(),this.touchCancel.del(),this.preV=this.pinchStartLen=this.zoom=this.isDoubleTap=this.delta=this.last=this.now=this.tapTimeout=this.singleTapTimeout=this.longTapTimeout=this.swipeTimeout=this.x1=this.x2=this.y1=this.y2=this.preTapPosition=this.rotate=this.touchStart=this.multipointStart=this.multipointEnd=this.pinch=this.swipe=this.tap=this.doubleTap=this.longTap=this.singleTap=this.pressMove=this.touchMove=this.touchEnd=this.touchCancel=this.twoFingerPressMove=null,window.removeEventListener(\\\\\"scroll\\\\\",this._cancelAllHandler),null}}]);function $(e){var t=function(){var e,t=document.createElement(\\\\\"fakeelement\\\\\"),i={transition:\\\\\"transitionend\\\\\",OTransition:\\\\\"oTransitionEnd\\\\\",MozTransition:\\\\\"transitionend\\\\\",WebkitTransition:\\\\\"webkitTransitionEnd\\\\\"};for(e in i)if(void 0!==t.style[e])return i[e]}(),i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=u(e,\\\\\"gslide-media\\\\\")?e:e.querySelector(\\\\\".gslide-media\\\\\"),s=g(n,\\\\\".ginner-container\\\\\"),l=e.querySelector(\\\\\".gslide-description\\\\\");i\\\\u003e769\\\\u0026\\\\u0026(n=s),d(n,\\\\\"greset\\\\\"),f(n,\\\\\"translate3d(0, 0, 0)\\\\\"),h(t,{onElement:n,once:!0,withCallback:function(e,t){c(n,\\\\\"greset\\\\\")}}),n.style.opacity=\\\\\"\\\\\",l\\\\u0026\\\\u0026(l.style.opacity=\\\\\"\\\\\")}function J(e){if(e.events.hasOwnProperty(\\\\\"touch\\\\\"))return!1;var t,i,n,s=x(),l=s.width,o=s.height,r=!1,a=null,h=null,v=null,p=!1,m=1,y=1,b=!1,S=!1,w=null,T=null,C=null,k=null,E=0,A=0,L=!1,I=!1,O={},P={},M=0,z=0,X=document.getElementById(\\\\\"glightbox-slider\\\\\"),Y=document.querySelector(\\\\\".goverlay\\\\\"),q=new U(X,{touchStart:function(t){if(r=!0,(u(t.targetTouches[0].target,\\\\\"ginner-container\\\\\")||g(t.targetTouches[0].target,\\\\\".gslide-desc\\\\\")||\\\\\"a\\\\\"==t.targetTouches[0].target.nodeName.toLowerCase())\\\\u0026\\\\u0026(r=!1),g(t.targetTouches[0].target,\\\\\".gslide-inline\\\\\")\\\\u0026\\\\u0026!u(t.targetTouches[0].target.parentNode,\\\\\"gslide-inline\\\\\")\\\\u0026\\\\u0026(r=!1),r){if(P=t.targetTouches[0],O.pageX=t.targetTouches[0].pageX,O.pageY=t.targetTouches[0].pageY,M=t.targetTouches[0].clientX,z=t.targetTouches[0].clientY,a=e.activeSlide,h=a.querySelector(\\\\\".gslide-media\\\\\"),n=a.querySelector(\\\\\".gslide-inline\\\\\"),v=null,u(h,\\\\\"gslide-image\\\\\")\\\\u0026\\\\u0026(v=h.querySelector(\\\\\"img\\\\\")),(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)\\\\u003e769\\\\u0026\\\\u0026(h=a.querySelector(\\\\\".ginner-container\\\\\")),c(Y,\\\\\"greset\\\\\"),t.pageX\\\\u003e20\\\\u0026\\\\u0026t.pageX\\\\u003cwindow.innerWidth-20)return;t.preventDefault()}},touchMove:function(s){if(r\\\\u0026\\\\u0026(P=s.targetTouches[0],!b\\\\u0026\\\\u0026!S)){if(n\\\\u0026\\\\u0026n.offsetHeight\\\\u003eo){var a=O.pageX-P.pageX;if(Math.abs(a)\\\\u003c=13)return!1}p=!0;var d,c=s.targetTouches[0].clientX,u=s.targetTouches[0].clientY,g=M-c,m=z-u;if(Math.abs(g)\\\\u003eMath.abs(m)?(L=!1,I=!0):(I=!1,L=!0),t=P.pageX-O.pageX,E=100*t/l,i=P.pageY-O.pageY,A=100*i/o,L\\\\u0026\\\\u0026v\\\\u0026\\\\u0026(d=1-Math.abs(i)/o,Y.style.opacity=d,e.settings.touchFollowAxis\\\\u0026\\\\u0026(E=0)),I\\\\u0026\\\\u0026(d=1-Math.abs(t)/l,h.style.opacity=d,e.settings.touchFollowAxis\\\\u0026\\\\u0026(A=0)),!v)return f(h,\\\\\"translate3d(\\\\\".concat(E,\\\\\"%, 0, 0)\\\\\"));f(h,\\\\\"translate3d(\\\\\".concat(E,\\\\\"%, \\\\\").concat(A,\\\\\"%, 0)\\\\\"))}},touchEnd:function(){if(r){if(p=!1,S||b)return C=w,void(k=T);var t=Math.abs(parseInt(A)),i=Math.abs(parseInt(E));if(!(t\\\\u003e29\\\\u0026\\\\u0026v))return t\\\\u003c29\\\\u0026\\\\u0026i\\\\u003c25?(d(Y,\\\\\"greset\\\\\"),Y.style.opacity=1,$(h)):void 0;e.close()}},multipointEnd:function(){setTimeout((function(){b=!1}),50)},multipointStart:function(){b=!0,m=y||1},pinch:function(e){if(!v||p)return!1;b=!0,v.scaleX=v.scaleY=m*e.zoom;var t=m*e.zoom;if(S=!0,t\\\\u003c=1)return S=!1,t=1,k=null,C=null,w=null,T=null,void v.setAttribute(\\\\\"style\\\\\",\\\\\"\\\\\");t\\\\u003e4.5\\\\u0026\\\\u0026(t=4.5),v.style.transform=\\\\\"scale3d(\\\\\".concat(t,\\\\\", \\\\\").concat(t,\\\\\", 1)\\\\\"),y=t},pressMove:function(e){if(S\\\\u0026\\\\u0026!b){var t=P.pageX-O.pageX,i=P.pageY-O.pageY;C\\\\u0026\\\\u0026(t+=C),k\\\\u0026\\\\u0026(i+=k),w=t,T=i;var n=\\\\\"translate3d(\\\\\".concat(t,\\\\\"px, \\\\\").concat(i,\\\\\"px, 0)\\\\\");y\\\\u0026\\\\u0026(n+=\\\\\" scale3d(\\\\\".concat(y,\\\\\", \\\\\").concat(y,\\\\\", 1)\\\\\")),f(v,n)}},swipe:function(t){if(!S)if(b)b=!1;else{if(\\\\\"Left\\\\\"==t.direction){if(e.index==e.elements.length-1)return $(h);e.nextSlide()}if(\\\\\"Right\\\\\"==t.direction){if(0==e.index)return $(h);e.prevSlide()}}}});e.events.touch=q}var K=T(),Q=null!==T()||void 0!==document.createTouch||\\\\\"ontouchstart\\\\\"in window||\\\\\"onmsgesturechange\\\\\"in window||navigator.msMaxTouchPoints,ee=document.getElementsByTagName(\\\\\"html\\\\\")[0],te={selector:\\\\\".glightbox\\\\\",elements:null,skin:\\\\\"clean\\\\\",theme:\\\\\"clean\\\\\",closeButton:!0,startAt:null,autoplayVideos:!0,autofocusVideos:!0,descPosition:\\\\\"bottom\\\\\",width:\\\\\"900px\\\\\",height:\\\\\"506px\\\\\",videosWidth:\\\\\"960px\\\\\",beforeSlideChange:null,afterSlideChange:null,beforeSlideLoad:null,afterSlideLoad:null,slideInserted:null,slideRemoved:null,slideExtraAttributes:null,onOpen:null,onClose:null,loop:!1,zoomable:!0,draggable:!0,dragAutoSnap:!1,dragToleranceX:40,dragToleranceY:65,preload:!0,oneSlidePerOpen:!1,touchNavigation:!0,touchFollowAxis:!0,keyboardNavigation:!0,closeOnOutsideClick:!0,plugins:!1,plyr:{css:\\\\\"https://cdn.plyr.io/3.6.12/plyr.css\\\\\",js:\\\\\"https://cdn.plyr.io/3.6.12/plyr.js\\\\\",config:{ratio:\\\\\"16:9\\\\\",fullscreen:{enabled:!0,iosNative:!0},youtube:{noCookie:!0,rel:0,showinfo:0,iv_load_policy:3},vimeo:{byline:!1,portrait:!1,title:!1,transparent:!1}}},openEffect:\\\\\"zoom\\\\\",closeEffect:\\\\\"zoom\\\\\",slideEffect:\\\\\"slide\\\\\",moreText:\\\\\"See more\\\\\",moreLength:60,cssEfects:{fade:{in:\\\\\"fadeIn\\\\\",out:\\\\\"fadeOut\\\\\"},zoom:{in:\\\\\"zoomIn\\\\\",out:\\\\\"zoomOut\\\\\"},slide:{in:\\\\\"slideInRight\\\\\",out:\\\\\"slideOutLeft\\\\\"},slideBack:{in:\\\\\"slideInLeft\\\\\",out:\\\\\"slideOutRight\\\\\"},none:{in:\\\\\"none\\\\\",out:\\\\\"none\\\\\"}},svg:{close:\\'\\\\u003csvg xmlns=\\\\\"http://www.w3.org/2000/svg\\\\\" xmlns:xlink=\\\\\"http://www.w3.org/1999/xlink\\\\\" x=\\\\\"0px\\\\\" y=\\\\\"0px\\\\\" viewBox=\\\\\"0 0 512 512\\\\\" xml:space=\\\\\"preserve\\\\\"\\\\u003e\\\\u003cg\\\\u003e\\\\u003cg\\\\u003e\\\\u003cpath d=\\\\\"M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z\\\\\"/\\\\u003e\\\\u003c/g\\\\u003e\\\\u003c/g\\\\u003e\\\\u003cg\\\\u003e\\\\u003cg\\\\u003e\\\\u003cpath d=\\\\\"M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z\\\\\"/\\\\u003e\\\\u003c/g\\\\u003e\\\\u003c/g\\\\u003e\\\\u003c/svg\\\\u003e\\',next:\\'\\\\u003csvg xmlns=\\\\\"http://www.w3.org/2000/svg\\\\\" xmlns:xlink=\\\\\"http://www.w3.org/1999/xlink\\\\\" x=\\\\\"0px\\\\\" y=\\\\\"0px\\\\\" viewBox=\\\\\"0 0 477.175 477.175\\\\\" xml:space=\\\\\"preserve\\\\\"\\\\u003e \\\\u003cg\\\\u003e\\\\u003cpath d=\\\\\"M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z\\\\\"/\\\\u003e\\\\u003c/g\\\\u003e\\\\u003c/svg\\\\u003e\\',prev:\\'\\\\u003csvg xmlns=\\\\\"http://www.w3.org/2000/svg\\\\\" xmlns:xlink=\\\\\"http://www.w3.org/1999/xlink\\\\\" x=\\\\\"0px\\\\\" y=\\\\\"0px\\\\\" viewBox=\\\\\"0 0 477.175 477.175\\\\\" xml:space=\\\\\"preserve\\\\\"\\\\u003e\\\\u003cg\\\\u003e\\\\u003cpath d=\\\\\"M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z\\\\\"/\\\\u003e\\\\u003c/g\\\\u003e\\\\u003c/svg\\\\u003e\\'},slideHTML:\\'\\\\u003cdiv class=\\\\\"gslide\\\\\"\\\\u003e\\\\\\\\n    \\\\u003cdiv class=\\\\\"gslide-inner-content\\\\\"\\\\u003e\\\\\\\\n        \\\\u003cdiv class=\\\\\"ginner-container\\\\\"\\\\u003e\\\\\\\\n            \\\\u003cdiv class=\\\\\"gslide-media\\\\\"\\\\u003e\\\\\\\\n            \\\\u003c/div\\\\u003e\\\\\\\\n            \\\\u003cdiv class=\\\\\"gslide-description\\\\\"\\\\u003e\\\\\\\\n                \\\\u003cdiv class=\\\\\"gdesc-inner\\\\\"\\\\u003e\\\\\\\\n                    \\\\u003ch4 class=\\\\\"gslide-title\\\\\"\\\\u003e\\\\u003c/h4\\\\u003e\\\\\\\\n                    \\\\u003cdiv class=\\\\\"gslide-desc\\\\\"\\\\u003e\\\\u003c/div\\\\u003e\\\\\\\\n                \\\\u003c/div\\\\u003e\\\\\\\\n            \\\\u003c/div\\\\u003e\\\\\\\\n        \\\\u003c/div\\\\u003e\\\\\\\\n    \\\\u003c/div\\\\u003e\\\\\\\\n\\\\u003c/div\\\\u003e\\',lightboxHTML:\\'\\\\u003cdiv id=\\\\\"glightbox-body\\\\\" class=\\\\\"glightbox-container\\\\\" tabindex=\\\\\"-1\\\\\" role=\\\\\"dialog\\\\\" aria-hidden=\\\\\"false\\\\\"\\\\u003e\\\\\\\\n    \\\\u003cdiv class=\\\\\"gloader visible\\\\\"\\\\u003e\\\\u003c/div\\\\u003e\\\\\\\\n    \\\\u003cdiv class=\\\\\"goverlay\\\\\"\\\\u003e\\\\u003c/div\\\\u003e\\\\\\\\n    \\\\u003cdiv class=\\\\\"gcontainer\\\\\"\\\\u003e\\\\\\\\n    \\\\u003cdiv id=\\\\\"glightbox-slider\\\\\" class=\\\\\"gslider\\\\\"\\\\u003e\\\\u003c/div\\\\u003e\\\\\\\\n    \\\\u003cbutton class=\\\\\"gclose gbtn\\\\\" aria-label=\\\\\"Close\\\\\" data-taborder=\\\\\"3\\\\\"\\\\u003e{closeSVG}\\\\u003c/button\\\\u003e\\\\\\\\n    \\\\u003cbutton class=\\\\\"gprev gbtn\\\\\" aria-label=\\\\\"Previous\\\\\" data-taborder=\\\\\"2\\\\\"\\\\u003e{prevSVG}\\\\u003c/button\\\\u003e\\\\\\\\n    \\\\u003cbutton class=\\\\\"gnext gbtn\\\\\" aria-label=\\\\\"Next\\\\\" data-taborder=\\\\\"1\\\\\"\\\\u003e{nextSVG}\\\\u003c/button\\\\u003e\\\\\\\\n\\\\u003c/div\\\\u003e\\\\\\\\n\\\\u003c/div\\\\u003e\\'},ie=i((function t(){var i=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:{};e(this,t),this.customOptions=i,this.settings=o(te,i),this.effectsClasses=this.getAnimationClasses(),this.videoPlayers={},this.apiEvents=[],this.fullElementsList=!1}),[{key:\\\\\"init\\\\\",value:function(){var e=this,t=this.getSelector();t\\\\u0026\\\\u0026(this.baseEvents=h(\\\\\"click\\\\\",{onElement:t,withCallback:function(t,i){t.preventDefault(),e.open(i)}})),this.elements=this.getElements()}},{key:\\\\\"open\\\\\",value:function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:null,t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:null;if(0===this.elements.length)return!1;this.activeSlide=null,this.prevActiveSlideIndex=null,this.prevActiveSlide=null;var i=z(t)?t:this.settings.startAt;if(E(e)){var n=e.getAttribute(\\\\\"data-gallery\\\\\");n\\\\u0026\\\\u0026(this.fullElementsList=this.elements,this.elements=this.getGalleryElements(this.elements,n)),O(i)\\\\u0026\\\\u0026(i=this.getElementIndex(e))\\\\u003c0\\\\u0026\\\\u0026(i=0)}z(i)||(i=0),this.build(),v(this.overlay,\\\\\"none\\\\\"===this.settings.openEffect?\\\\\"none\\\\\":this.settings.cssEfects.fade.in);var s=document.body,l=window.innerWidth-document.documentElement.clientWidth;if(l\\\\u003e0){var o=document.createElement(\\\\\"style\\\\\");o.type=\\\\\"text/css\\\\\",o.className=\\\\\"gcss-styles\\\\\",o.innerText=\\\\\".gscrollbar-fixer {margin-right: \\\\\".concat(l,\\\\\"px}\\\\\"),document.head.appendChild(o),d(s,\\\\\"gscrollbar-fixer\\\\\")}d(s,\\\\\"glightbox-open\\\\\"),d(ee,\\\\\"glightbox-open\\\\\"),K\\\\u0026\\\\u0026(d(document.body,\\\\\"glightbox-mobile\\\\\"),this.settings.slideEffect=\\\\\"slide\\\\\"),this.showSlide(i,!0),1===this.elements.length?(d(this.prevButton,\\\\\"glightbox-button-hidden\\\\\"),d(this.nextButton,\\\\\"glightbox-button-hidden\\\\\")):(c(this.prevButton,\\\\\"glightbox-button-hidden\\\\\"),c(this.nextButton,\\\\\"glightbox-button-hidden\\\\\")),this.lightboxOpen=!0,this.trigger(\\\\\"open\\\\\"),C(this.settings.onOpen)\\\\u0026\\\\u0026this.settings.onOpen(),Q\\\\u0026\\\\u0026this.settings.touchNavigation\\\\u0026\\\\u0026J(this),this.settings.keyboardNavigation\\\\u0026\\\\u0026Y(this)}},{key:\\\\\"openAt\\\\\",value:function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:0;this.open(null,e)}},{key:\\\\\"showSlide\\\\\",value:function(){var e=this,t=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:0,i=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]\\\\u0026\\\\u0026arguments[1];p(this.loader),this.index=parseInt(t);var n=this.slidesContainer.querySelector(\\\\\".current\\\\\");n\\\\u0026\\\\u0026c(n,\\\\\"current\\\\\"),this.slideAnimateOut();var s=this.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[t];if(u(s,\\\\\"loaded\\\\\"))this.slideAnimateIn(s,i),m(this.loader);else{p(this.loader);var l=this.elements[t],o={index:this.index,slide:s,slideNode:s,slideConfig:l.slideConfig,slideIndex:this.index,trigger:l.node,player:null};this.trigger(\\\\\"slide_before_load\\\\\",o),l.instance.setContent(s,(function(){m(e.loader),e.resize(),e.slideAnimateIn(s,i),e.trigger(\\\\\"slide_after_load\\\\\",o)}))}this.slideDescription=s.querySelector(\\\\\".gslide-description\\\\\"),this.slideDescriptionContained=this.slideDescription\\\\u0026\\\\u0026u(this.slideDescription.parentNode,\\\\\"gslide-media\\\\\"),this.settings.preload\\\\u0026\\\\u0026(this.preloadSlide(t+1),this.preloadSlide(t-1)),this.updateNavigationClasses(),this.activeSlide=s}},{key:\\\\\"preloadSlide\\\\\",value:function(e){var t=this;if(e\\\\u003c0||e\\\\u003ethis.elements.length-1)return!1;if(O(this.elements[e]))return!1;var i=this.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[e];if(u(i,\\\\\"loaded\\\\\"))return!1;var n=this.elements[e],s=n.type,l={index:e,slide:i,slideNode:i,slideConfig:n.slideConfig,slideIndex:e,trigger:n.node,player:null};this.trigger(\\\\\"slide_before_load\\\\\",l),\\\\\"video\\\\\"===s||\\\\\"external\\\\\"===s?setTimeout((function(){n.instance.setContent(i,(function(){t.trigger(\\\\\"slide_after_load\\\\\",l)}))}),200):n.instance.setContent(i,(function(){t.trigger(\\\\\"slide_after_load\\\\\",l)}))}},{key:\\\\\"prevSlide\\\\\",value:function(){this.goToSlide(this.index-1)}},{key:\\\\\"nextSlide\\\\\",value:function(){this.goToSlide(this.index+1)}},{key:\\\\\"goToSlide\\\\\",value:function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]\\\\u0026\\\\u0026arguments[0];if(this.prevActiveSlide=this.activeSlide,this.prevActiveSlideIndex=this.index,!this.loop()\\\\u0026\\\\u0026(e\\\\u003c0||e\\\\u003ethis.elements.length-1))return!1;e\\\\u003c0?e=this.elements.length-1:e\\\\u003e=this.elements.length\\\\u0026\\\\u0026(e=0),this.showSlide(e)}},{key:\\\\\"insertSlide\\\\\",value:function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:{},t=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:-1;t\\\\u003c0\\\\u0026\\\\u0026(t=this.elements.length);var i=new V(e,this,t),n=i.getConfig(),s=o({},n),l=i.create(),r=this.elements.length-1;s.index=t,s.node=!1,s.instance=i,s.slideConfig=n,this.elements.splice(t,0,s);var a=null,h=null;if(this.slidesContainer){if(t\\\\u003er)this.slidesContainer.appendChild(l);else{var d=this.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[t];this.slidesContainer.insertBefore(l,d)}(this.settings.preload\\\\u0026\\\\u00260==this.index\\\\u0026\\\\u00260==t||this.index-1==t||this.index+1==t)\\\\u0026\\\\u0026this.preloadSlide(t),0===this.index\\\\u0026\\\\u00260===t\\\\u0026\\\\u0026(this.index=1),this.updateNavigationClasses(),a=this.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[t],h=this.getSlidePlayerInstance(t),s.slideNode=a}this.trigger(\\\\\"slide_inserted\\\\\",{index:t,slide:a,slideNode:a,slideConfig:n,slideIndex:t,trigger:null,player:h}),C(this.settings.slideInserted)\\\\u0026\\\\u0026this.settings.slideInserted({index:t,slide:a,player:h})}},{key:\\\\\"removeSlide\\\\\",value:function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:-1;if(e\\\\u003c0||e\\\\u003ethis.elements.length-1)return!1;var t=this.slidesContainer\\\\u0026\\\\u0026this.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[e];t\\\\u0026\\\\u0026(this.getActiveSlideIndex()==e\\\\u0026\\\\u0026(e==this.elements.length-1?this.prevSlide():this.nextSlide()),t.parentNode.removeChild(t)),this.elements.splice(e,1),this.trigger(\\\\\"slide_removed\\\\\",e),C(this.settings.slideRemoved)\\\\u0026\\\\u0026this.settings.slideRemoved(e)}},{key:\\\\\"slideAnimateIn\\\\\",value:function(e,t){var i=this,n=e.querySelector(\\\\\".gslide-media\\\\\"),s=e.querySelector(\\\\\".gslide-description\\\\\"),l={index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlide,slideConfig:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},o={index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideConfig:this.elements[this.index].slideConfig,slideIndex:this.index,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)};if(n.offsetWidth\\\\u003e0\\\\u0026\\\\u0026s\\\\u0026\\\\u0026(m(s),s.style.display=\\\\\"\\\\\"),c(e,this.effectsClasses),t)v(e,this.settings.cssEfects[this.settings.openEffect].in,(function(){i.settings.autoplayVideos\\\\u0026\\\\u0026i.slidePlayerPlay(e),i.trigger(\\\\\"slide_changed\\\\\",{prev:l,current:o}),C(i.settings.afterSlideChange)\\\\u0026\\\\u0026i.settings.afterSlideChange.apply(i,[l,o])}));else{var r=this.settings.slideEffect,a=\\\\\"none\\\\\"!==r?this.settings.cssEfects[r].in:r;this.prevActiveSlideIndex\\\\u003ethis.index\\\\u0026\\\\u0026\\\\\"slide\\\\\"==this.settings.slideEffect\\\\u0026\\\\u0026(a=this.settings.cssEfects.slideBack.in),v(e,a,(function(){i.settings.autoplayVideos\\\\u0026\\\\u0026i.slidePlayerPlay(e),i.trigger(\\\\\"slide_changed\\\\\",{prev:l,current:o}),C(i.settings.afterSlideChange)\\\\u0026\\\\u0026i.settings.afterSlideChange.apply(i,[l,o])}))}setTimeout((function(){i.resize(e)}),100),d(e,\\\\\"current\\\\\")}},{key:\\\\\"slideAnimateOut\\\\\",value:function(){if(!this.prevActiveSlide)return!1;var e=this.prevActiveSlide;c(e,this.effectsClasses),d(e,\\\\\"prev\\\\\");var t=this.settings.slideEffect,i=\\\\\"none\\\\\"!==t?this.settings.cssEfects[t].out:t;this.slidePlayerPause(e),this.trigger(\\\\\"slide_before_change\\\\\",{prev:{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlideIndex,slideConfig:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},current:{index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideIndex:this.index,slideConfig:this.elements[this.index].slideConfig,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)}}),C(this.settings.beforeSlideChange)\\\\u0026\\\\u0026this.settings.beforeSlideChange.apply(this,[{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},{index:this.index,slide:this.activeSlide,player:this.getSlidePlayerInstance(this.index)}]),this.prevActiveSlideIndex\\\\u003ethis.index\\\\u0026\\\\u0026\\\\\"slide\\\\\"==this.settings.slideEffect\\\\u0026\\\\u0026(i=this.settings.cssEfects.slideBack.out),v(e,i,(function(){var t=e.querySelector(\\\\\".ginner-container\\\\\"),i=e.querySelector(\\\\\".gslide-media\\\\\"),n=e.querySelector(\\\\\".gslide-description\\\\\");t.style.transform=\\\\\"\\\\\",i.style.transform=\\\\\"\\\\\",c(i,\\\\\"greset\\\\\"),i.style.opacity=\\\\\"\\\\\",n\\\\u0026\\\\u0026(n.style.opacity=\\\\\"\\\\\"),c(e,\\\\\"prev\\\\\")}))}},{key:\\\\\"getAllPlayers\\\\\",value:function(){return this.videoPlayers}},{key:\\\\\"getSlidePlayerInstance\\\\\",value:function(e){var t=\\\\\"gvideo\\\\\"+e,i=this.getAllPlayers();return!(!P(i,t)||!i[t])\\\\u0026\\\\u0026i[t]}},{key:\\\\\"stopSlideVideo\\\\\",value:function(e){if(E(e)){var t=e.querySelector(\\\\\".gvideo-wrapper\\\\\");t\\\\u0026\\\\u0026(e=t.getAttribute(\\\\\"data-index\\\\\"))}console.log(\\\\\"stopSlideVideo is deprecated, use slidePlayerPause\\\\\");var i=this.getSlidePlayerInstance(e);i\\\\u0026\\\\u0026i.playing\\\\u0026\\\\u0026i.pause()}},{key:\\\\\"slidePlayerPause\\\\\",value:function(e){if(E(e)){var t=e.querySelector(\\\\\".gvideo-wrapper\\\\\");t\\\\u0026\\\\u0026(e=t.getAttribute(\\\\\"data-index\\\\\"))}var i=this.getSlidePlayerInstance(e);i\\\\u0026\\\\u0026i.playing\\\\u0026\\\\u0026i.pause()}},{key:\\\\\"playSlideVideo\\\\\",value:function(e){if(E(e)){var t=e.querySelector(\\\\\".gvideo-wrapper\\\\\");t\\\\u0026\\\\u0026(e=t.getAttribute(\\\\\"data-index\\\\\"))}console.log(\\\\\"playSlideVideo is deprecated, use slidePlayerPlay\\\\\");var i=this.getSlidePlayerInstance(e);i\\\\u0026\\\\u0026!i.playing\\\\u0026\\\\u0026i.play()}},{key:\\\\\"slidePlayerPlay\\\\\",value:function(e){var t;if(!K||null!==(t=this.settings.plyr.config)\\\\u0026\\\\u0026void 0!==t\\\\u0026\\\\u0026t.muted){if(E(e)){var i=e.querySelector(\\\\\".gvideo-wrapper\\\\\");i\\\\u0026\\\\u0026(e=i.getAttribute(\\\\\"data-index\\\\\"))}var n=this.getSlidePlayerInstance(e);n\\\\u0026\\\\u0026!n.playing\\\\u0026\\\\u0026(n.play(),this.settings.autofocusVideos\\\\u0026\\\\u0026n.elements.container.focus())}}},{key:\\\\\"setElements\\\\\",value:function(e){var t=this;this.settings.elements=!1;var i=[];e\\\\u0026\\\\u0026e.length\\\\u0026\\\\u0026r(e,(function(e,n){var s=new V(e,t,n),l=s.getConfig(),r=o({},l);r.slideConfig=l,r.instance=s,r.index=n,i.push(r)})),this.elements=i,this.lightboxOpen\\\\u0026\\\\u0026(this.slidesContainer.innerHTML=\\\\\"\\\\\",this.elements.length\\\\u0026\\\\u0026(r(this.elements,(function(){var e=y(t.settings.slideHTML);t.slidesContainer.appendChild(e)})),this.showSlide(0,!0)))}},{key:\\\\\"getElementIndex\\\\\",value:function(e){var t=!1;return r(this.elements,(function(i,n){if(P(i,\\\\\"node\\\\\")\\\\u0026\\\\u0026i.node==e)return t=n,!0})),t}},{key:\\\\\"getElements\\\\\",value:function(){var e=this,t=[];this.elements=this.elements?this.elements:[],!O(this.settings.elements)\\\\u0026\\\\u0026A(this.settings.elements)\\\\u0026\\\\u0026this.settings.elements.length\\\\u0026\\\\u0026r(this.settings.elements,(function(i,n){var s=new V(i,e,n),l=s.getConfig(),r=o({},l);r.node=!1,r.index=n,r.instance=s,r.slideConfig=l,t.push(r)}));var i=!1;return this.getSelector()\\\\u0026\\\\u0026(i=document.querySelectorAll(this.getSelector())),i?(r(i,(function(i,n){var s=new V(i,e,n),l=s.getConfig(),r=o({},l);r.node=i,r.index=n,r.instance=s,r.slideConfig=l,r.gallery=i.getAttribute(\\\\\"data-gallery\\\\\"),t.push(r)})),t):t}},{key:\\\\\"getGalleryElements\\\\\",value:function(e,t){return e.filter((function(e){return e.gallery==t}))}},{key:\\\\\"getSelector\\\\\",value:function(){return!this.settings.elements\\\\u0026\\\\u0026(this.settings.selector\\\\u0026\\\\u0026\\\\\"data-\\\\\"==this.settings.selector.substring(0,5)?\\\\\"*[\\\\\".concat(this.settings.selector,\\\\\"]\\\\\"):this.settings.selector)}},{key:\\\\\"getActiveSlide\\\\\",value:function(){return this.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[this.index]}},{key:\\\\\"getActiveSlideIndex\\\\\",value:function(){return this.index}},{key:\\\\\"getAnimationClasses\\\\\",value:function(){var e=[];for(var t in this.settings.cssEfects)if(this.settings.cssEfects.hasOwnProperty(t)){var i=this.settings.cssEfects[t];e.push(\\\\\"g\\\\\".concat(i.in)),e.push(\\\\\"g\\\\\".concat(i.out))}return e.join(\\\\\" \\\\\")}},{key:\\\\\"build\\\\\",value:function(){var e=this;if(this.built)return!1;var t=document.body.childNodes,i=[];r(t,(function(e){e.parentNode==document.body\\\\u0026\\\\u0026\\\\\"#\\\\\"!==e.nodeName.charAt(0)\\\\u0026\\\\u0026e.hasAttribute\\\\u0026\\\\u0026!e.hasAttribute(\\\\\"aria-hidden\\\\\")\\\\u0026\\\\u0026(i.push(e),e.setAttribute(\\\\\"aria-hidden\\\\\",\\\\\"true\\\\\"))}));var n=P(this.settings.svg,\\\\\"next\\\\\")?this.settings.svg.next:\\\\\"\\\\\",s=P(this.settings.svg,\\\\\"prev\\\\\")?this.settings.svg.prev:\\\\\"\\\\\",l=P(this.settings.svg,\\\\\"close\\\\\")?this.settings.svg.close:\\\\\"\\\\\",o=this.settings.lightboxHTML;o=y(o=(o=(o=o.replace(/{nextSVG}/g,n)).replace(/{prevSVG}/g,s)).replace(/{closeSVG}/g,l)),document.body.appendChild(o);var a=document.getElementById(\\\\\"glightbox-body\\\\\");this.modal=a;var c=a.querySelector(\\\\\".gclose\\\\\");this.prevButton=a.querySelector(\\\\\".gprev\\\\\"),this.nextButton=a.querySelector(\\\\\".gnext\\\\\"),this.overlay=a.querySelector(\\\\\".goverlay\\\\\"),this.loader=a.querySelector(\\\\\".gloader\\\\\"),this.slidesContainer=document.getElementById(\\\\\"glightbox-slider\\\\\"),this.bodyHiddenChildElms=i,this.events={},d(this.modal,\\\\\"glightbox-\\\\\"+this.settings.skin),this.settings.closeButton\\\\u0026\\\\u0026c\\\\u0026\\\\u0026(this.events.close=h(\\\\\"click\\\\\",{onElement:c,withCallback:function(t,i){t.preventDefault(),e.close()}})),c\\\\u0026\\\\u0026!this.settings.closeButton\\\\u0026\\\\u0026c.parentNode.removeChild(c),this.nextButton\\\\u0026\\\\u0026(this.events.next=h(\\\\\"click\\\\\",{onElement:this.nextButton,withCallback:function(t,i){t.preventDefault(),e.nextSlide()}})),this.prevButton\\\\u0026\\\\u0026(this.events.prev=h(\\\\\"click\\\\\",{onElement:this.prevButton,withCallback:function(t,i){t.preventDefault(),e.prevSlide()}})),this.settings.closeOnOutsideClick\\\\u0026\\\\u0026(this.events.outClose=h(\\\\\"click\\\\\",{onElement:a,withCallback:function(t,i){e.preventOutsideClick||u(document.body,\\\\\"glightbox-mobile\\\\\")||g(t.target,\\\\\".ginner-container\\\\\")||g(t.target,\\\\\".gbtn\\\\\")||u(t.target,\\\\\"gnext\\\\\")||u(t.target,\\\\\"gprev\\\\\")||e.close()}})),r(this.elements,(function(t,i){e.slidesContainer.appendChild(t.instance.create()),t.slideNode=e.slidesContainer.querySelectorAll(\\\\\".gslide\\\\\")[i]})),Q\\\\u0026\\\\u0026d(document.body,\\\\\"glightbox-touch\\\\\"),this.events.resize=h(\\\\\"resize\\\\\",{onElement:window,withCallback:function(){e.resize()}}),this.built=!0}},{key:\\\\\"resize\\\\\",value:function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:null;if((e=e||this.activeSlide)\\\\u0026\\\\u0026!u(e,\\\\\"zoomed\\\\\")){var t=x(),i=e.querySelector(\\\\\".gvideo-wrapper\\\\\"),n=e.querySelector(\\\\\".gslide-image\\\\\"),s=this.slideDescription,l=t.width,o=t.height;if(l\\\\u003c=768?d(document.body,\\\\\"glightbox-mobile\\\\\"):c(document.body,\\\\\"glightbox-mobile\\\\\"),i||n){var r=!1;if(s\\\\u0026\\\\u0026(u(s,\\\\\"description-bottom\\\\\")||u(s,\\\\\"description-top\\\\\"))\\\\u0026\\\\u0026!u(s,\\\\\"gabsolute\\\\\")\\\\u0026\\\\u0026(r=!0),n)if(l\\\\u003c=768)n.querySelector(\\\\\"img\\\\\");else if(r){var a,h,g=s.offsetHeight,v=n.querySelector(\\\\\"img\\\\\"),f=null===(a=this.elements[this.index])||void 0===a?void 0:a.node,p=\\\\\"100vh\\\\\";f\\\\u0026\\\\u0026(p=null!==(h=f.getAttribute(\\\\\"data-height\\\\\"))\\\\u0026\\\\u0026void 0!==h?h:p),v.setAttribute(\\\\\"style\\\\\",\\\\\"max-height: calc(\\\\\".concat(p,\\\\\" - \\\\\").concat(g,\\\\\"px)\\\\\")),s.setAttribute(\\\\\"style\\\\\",\\\\\"max-width: \\\\\".concat(v.offsetWidth,\\\\\"px;\\\\\"))}if(i){var m=P(this.settings.plyr.config,\\\\\"ratio\\\\\")?this.settings.plyr.config.ratio:\\\\\"\\\\\";if(!m){var y=i.clientWidth,b=i.clientHeight,S=y/b;m=\\\\\"\\\\\".concat(y/S,\\\\\":\\\\\").concat(b/S)}var w=m.split(\\\\\":\\\\\"),T=this.settings.videosWidth,C=this.settings.videosWidth,k=(C=z(T)||-1!==T.indexOf(\\\\\"px\\\\\")?parseInt(T):-1!==T.indexOf(\\\\\"vw\\\\\")?l*parseInt(T)/100:-1!==T.indexOf(\\\\\"vh\\\\\")?o*parseInt(T)/100:-1!==T.indexOf(\\\\\"%\\\\\")?l*parseInt(T)/100:parseInt(i.clientWidth))/(parseInt(w[0])/parseInt(w[1]));if(k=Math.floor(k),r\\\\u0026\\\\u0026(o-=s.offsetHeight),C\\\\u003el||k\\\\u003eo||o\\\\u003ck\\\\u0026\\\\u0026l\\\\u003eC){var E=i.offsetWidth,A=i.offsetHeight,L=o/A,I={width:E*L,height:A*L};i.parentNode.setAttribute(\\\\\"style\\\\\",\\\\\"max-width: \\\\\".concat(I.width,\\\\\"px\\\\\")),r\\\\u0026\\\\u0026s.setAttribute(\\\\\"style\\\\\",\\\\\"max-width: \\\\\".concat(I.width,\\\\\"px;\\\\\"))}else i.parentNode.style.maxWidth=\\\\\"\\\\\".concat(T),r\\\\u0026\\\\u0026s.setAttribute(\\\\\"style\\\\\",\\\\\"max-width: \\\\\".concat(T,\\\\\";\\\\\"))}}}}},{key:\\\\\"reload\\\\\",value:function(){this.init()}},{key:\\\\\"updateNavigationClasses\\\\\",value:function(){var e=this.loop();c(this.nextButton,\\\\\"disabled\\\\\"),c(this.prevButton,\\\\\"disabled\\\\\"),0==this.index\\\\u0026\\\\u0026this.elements.length-1==0?(d(this.prevButton,\\\\\"disabled\\\\\"),d(this.nextButton,\\\\\"disabled\\\\\")):0!==this.index||e?this.index!==this.elements.length-1||e||d(this.nextButton,\\\\\"disabled\\\\\"):d(this.prevButton,\\\\\"disabled\\\\\")}},{key:\\\\\"loop\\\\\",value:function(){var e=P(this.settings,\\\\\"loopAtEnd\\\\\")?this.settings.loopAtEnd:null;return e=P(this.settings,\\\\\"loop\\\\\")?this.settings.loop:e,e}},{key:\\\\\"close\\\\\",value:function(){var e=this;if(!this.lightboxOpen){if(this.events){for(var t in this.events)this.events.hasOwnProperty(t)\\\\u0026\\\\u0026this.events[t].destroy();this.events=null}return!1}if(this.closing)return!1;this.closing=!0,this.slidePlayerPause(this.activeSlide),this.fullElementsList\\\\u0026\\\\u0026(this.elements=this.fullElementsList),this.bodyHiddenChildElms.length\\\\u0026\\\\u0026r(this.bodyHiddenChildElms,(function(e){e.removeAttribute(\\\\\"aria-hidden\\\\\")})),d(this.modal,\\\\\"glightbox-closing\\\\\"),v(this.overlay,\\\\\"none\\\\\"==this.settings.openEffect?\\\\\"none\\\\\":this.settings.cssEfects.fade.out),v(this.activeSlide,this.settings.cssEfects[this.settings.closeEffect].out,(function(){if(e.activeSlide=null,e.prevActiveSlideIndex=null,e.prevActiveSlide=null,e.built=!1,e.events){for(var t in e.events)e.events.hasOwnProperty(t)\\\\u0026\\\\u0026e.events[t].destroy();e.events=null}var i=document.body;c(ee,\\\\\"glightbox-open\\\\\"),c(i,\\\\\"glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer\\\\\"),e.modal.parentNode.removeChild(e.modal),e.trigger(\\\\\"close\\\\\"),C(e.settings.onClose)\\\\u0026\\\\u0026e.settings.onClose();var n=document.querySelector(\\\\\".gcss-styles\\\\\");n\\\\u0026\\\\u0026n.parentNode.removeChild(n),e.lightboxOpen=!1,e.closing=null}))}},{key:\\\\\"destroy\\\\\",value:function(){this.close(),this.clearAllEvents(),this.baseEvents\\\\u0026\\\\u0026this.baseEvents.destroy()}},{key:\\\\\"on\\\\\",value:function(e,t){var i=arguments.length\\\\u003e2\\\\u0026\\\\u0026void 0!==arguments[2]\\\\u0026\\\\u0026arguments[2];if(!e||!C(t))throw new TypeError(\\\\\"Event name and callback must be defined\\\\\");this.apiEvents.push({evt:e,once:i,callback:t})}},{key:\\\\\"once\\\\\",value:function(e,t){this.on(e,t,!0)}},{key:\\\\\"trigger\\\\\",value:function(e){var t=this,i=arguments.length\\\\u003e1\\\\u0026\\\\u0026void 0!==arguments[1]?arguments[1]:null,n=[];r(this.apiEvents,(function(t,s){var l=t.evt,o=t.once,r=t.callback;l==e\\\\u0026\\\\u0026(r(i),o\\\\u0026\\\\u0026n.push(s))})),n.length\\\\u0026\\\\u0026r(n,(function(e){return t.apiEvents.splice(e,1)}))}},{key:\\\\\"clearAllEvents\\\\\",value:function(){this.apiEvents.splice(0,this.apiEvents.length)}},{key:\\\\\"version\\\\\",value:function(){return\\\\\"3.3.1\\\\\"}}]);return function(){var e=arguments.length\\\\u003e0\\\\u0026\\\\u0026void 0!==arguments[0]?arguments[0]:{},t=new ie(e);return t.init(),t}}));\";\\n  const configElement = document.currentScript?.previousElementSibling;\\n  if (!configElement || configElement.type !== \"application/json\") return;\\n  const CONFIG = JSON.parse(configElement.textContent);\\n  const sanitizeSvgIcon = function sanitizeSvgIcon(input) {\\n    if (typeof input !== \"string\" || input.length > 24576 || /<!DOCTYPE|<!ENTITY/i.test(input)) return \"\";\\n    try {\\n        const parsed = new DOMParser().parseFromString(input, \"image/svg+xml\");\\n        const root = parsed.documentElement;\\n        if (root.localName !== \"svg\" || parsed.querySelector(\"parsererror\") || parsed.querySelectorAll(\"*\").length > 256) return \"\";\\n        const ns = \"http://www.w3.org/2000/svg\";\\n        const output = document.implementation.createDocument(ns, \"svg\", null);\\n        const allowed = new Set([\\n            \"g\",\\n            \"path\",\\n            \"rect\",\\n            \"circle\",\\n            \"ellipse\",\\n            \"line\",\\n            \"polyline\",\\n            \"polygon\"\\n        ]);\\n        const numeric = new Set([\\n            \"x\",\\n            \"y\",\\n            \"x1\",\\n            \"x2\",\\n            \"y1\",\\n            \"y2\",\\n            \"cx\",\\n            \"cy\",\\n            \"r\",\\n            \"rx\",\\n            \"ry\",\\n            \"width\",\\n            \"height\",\\n            \"stroke-width\",\\n            \"stroke-miterlimit\",\\n            \"stroke-dasharray\",\\n            \"stroke-dashoffset\",\\n            \"opacity\",\\n            \"fill-opacity\",\\n            \"stroke-opacity\"\\n        ]);\\n        let shapes = 0;\\n        function copyAttributes(source, target) {\\n            const attributes = new Map(Array.from(source.attributes, (attribute)=>[\\n                    attribute.name,\\n                    attribute.value\\n                ]));\\n            // Retain simple presentation styles without copying arbitrary CSS.\\n            for (const declaration of (source.getAttribute(\"style\") || \"\").split(\";\")){\\n                const colon = declaration.indexOf(\":\");\\n                if (colon > 0) attributes.set(declaration.slice(0, colon).trim(), declaration.slice(colon + 1).trim());\\n            }\\n            for (const [name, value] of attributes){\\n                if (value.length > 8192) continue;\\n                if ((name === \"fill\" || name === \"stroke\") && /^(none|currentColor|[a-z]+|#[0-9a-f]{3,8}|rgba?\\\\([\\\\d.,%\\\\s]+\\\\))$/i.test(value)) target.setAttribute(name, value === \"none\" ? \"none\" : \"currentColor\");\\n                else if (numeric.has(name) && /^[\\\\d.eE+\\\\-,\\\\s]+$/.test(value)) target.setAttribute(name, value);\\n                else if (name === \"d\" && /^[MmZzLlHhVvCcSsQqTtAa\\\\d.eE+\\\\-,\\\\s]+$/.test(value)) target.setAttribute(name, value);\\n                else if (name === \"points\" && /^[\\\\d.eE+\\\\-,\\\\s]+$/.test(value)) target.setAttribute(name, value);\\n                else if (name === \"transform\" && /^(?:(?:matrix|translate|scale|rotate|skewX|skewY)\\\\([\\\\d.eE+\\\\-,\\\\s]+\\\\)\\\\s*)+$/.test(value)) target.setAttribute(name, value);\\n                else if (name === \"fill-rule\" && /^(nonzero|evenodd)$/.test(value)) target.setAttribute(name, value);\\n                else if (name === \"stroke-linecap\" && /^(butt|round|square)$/.test(value)) target.setAttribute(name, value);\\n                else if (name === \"stroke-linejoin\" && /^(miter|round|bevel)$/.test(value)) target.setAttribute(name, value);\\n            }\\n        }\\n        function copyChildren(source, target, depth) {\\n            if (depth > 16) return;\\n            for (const child of Array.from(source.children)){\\n                if (child.namespaceURI !== ns || !allowed.has(child.localName)) continue;\\n                const clean = output.createElementNS(ns, child.localName);\\n                copyAttributes(child, clean);\\n                target.appendChild(clean);\\n                if (child.localName !== \"g\") shapes++;\\n                copyChildren(child, clean, depth + 1);\\n            }\\n        }\\n        let box = (root.getAttribute(\"viewBox\") || \"\").trim().split(/[\\\\s,]+/).map(Number);\\n        if (box.length !== 4 || !box.every(Number.isFinite) || box[2] <= 0 || box[3] <= 0) {\\n            const dimension = (name)=>{\\n                const value = root.getAttribute(name) || \"24\";\\n                return /^\\\\d+(?:\\\\.\\\\d+)?(?:px)?$/.test(value) ? parseFloat(value) : 24;\\n            };\\n            box = [\\n                0,\\n                0,\\n                dimension(\"width\") || 24,\\n                dimension(\"height\") || 24\\n            ];\\n        }\\n        copyAttributes(root, output.documentElement);\\n        output.documentElement.setAttribute(\"viewBox\", box.join(\" \"));\\n        output.documentElement.setAttribute(\"width\", \"100%\");\\n        output.documentElement.setAttribute(\"height\", \"100%\");\\n        copyChildren(root, output.documentElement, 0);\\n        const result = shapes ? new XMLSerializer().serializeToString(output.documentElement) : \"\";\\n        return result.length <= 24576 ? result : \"\";\\n    } catch  {\\n        return \"\";\\n    }\\n};\\n  const TARGET_MARK = \"data-cls-bound\";\\n  const TARGET_TABINDEX_MARK = \"data-cls-tabindex-added\";\\n  const CLEANUP_KEY = \"__creativeLightboxStudioCleanup\";\\n\\n  const scopedTargets = Array.isArray(CONFIG.selectionTargets)\\n    ? CONFIG.selectionTargets.filter((target) => target && typeof target === \"object\")\\n    : (CONFIG.selectionNames || []).filter(Boolean).map((name) => ({ id: \"\", name, label: name }));\\n  // Framer can add trailing spaces to data-framer-name values in the\\n  // published DOM. Keep the stored selection readable while matching the\\n  // DOM by a stable, whitespace-insensitive name. Preserve case so a\\n  // selected video group cannot accidentally match a child named Video.\\n  const normalizeLayerName = (value) => typeof value === \"string\"\\n    ? value.trim().replace(/s+/g, \" \")\\n    : \"\";\\n  const scopedNames = new Set(scopedTargets.map((target) => normalizeLayerName(target.name)).filter(Boolean));\\n  const scopedIds = new Set(scopedTargets.map((target) => target.id).filter(Boolean));\\n\\n  function cleanText(value) {\\n    if (typeof value !== \"string\") return \"\";\\n    const text = value.trim();\\n    return text && text.toLowerCase() !== \"undefined\" && text.toLowerCase() !== \"null\" ? text : \"\";\\n  }\\n\\n  function clampNumber(value, min, max, fallback) {\\n    const numeric = Number(value);\\n    return Number.isFinite(numeric) ? Math.min(max, Math.max(min, numeric)) : fallback;\\n  }\\n\\n  function safeColor(value, fallback) {\\n    const normalized = typeof value === \"string\" ? value.trim() : \"\";\\n    if (/^#[0-9a-f]{3,8}$/i.test(normalized)) return normalized;\\n    if (/^(?:rgba?|hsla?)([0-9.,%\\\\s+-]+)$/i.test(normalized)) return normalized;\\n    if (normalized === \"transparent\") return normalized;\\n    return fallback;\\n  }\\n\\n  function escapeHtml(value) {\\n    return String(value ?? \"\")\\n      .replace(/&/g, \"&amp;\")\\n      .replace(/</g, \"&lt;\")\\n      .replace(/>/g, \"&gt;\")\\n      .replace(/\"/g, \"&quot;\")\\n      .replace(/\\'/g, \"&#39;\");\\n  }\\n\\n  function resetLightboxSettings() {\\n    const root = document.documentElement;\\n    [\\n      \"--cls-gl-overlay-bg\", \"--cls-gl-overlay-opacity\", \"--cls-gl-close-color\",\\n      \"--cls-gl-close-size\", \"--cls-gl-close-bg\", \"--cls-gl-close-radius\",\\n      \"--cls-gl-close-border\", \"--cls-gl-close-opacity\", \"--cls-gl-arrow-color\", \"--cls-gl-arrow-size\",\\n      \"--cls-gl-arrow-bg\", \"--cls-gl-arrow-radius\", \"--cls-gl-arrow-border\",\\n      \"--cls-gl-arrow-opacity\", \"--cls-gl-arrow-display\", \"--cls-gl-thumb-height\",\\n      \"--cls-gl-image-fit\", \"--cls-gl-thumb-gap\", \"--cls-gl-thumb-size\",\\n      \"--cls-gl-thumb-radius\", \"--cls-gl-thumb-border-width\", \"--cls-gl-thumb-opacity\",\\n      \"--cls-gl-thumb-active-opacity\", \"--cls-gl-thumb-border-color\",\\n      \"--cls-gl-caption-color\", \"--cls-gl-caption-bg\", \"--cls-gl-caption-padding\", \"--cls-gl-caption-align\", \"--cls-gl-caption-border-color\", \"--cls-gl-caption-border-width\", \"--cls-gl-caption-radius\", \"--cls-gl-caption-font\", \"--cls-gl-caption-size\",\\n      \"--cls-gl-caption-weight\", \"--cls-gl-cms-description-color\", \"--cls-gl-cms-description-font\", \"--cls-gl-cms-description-size\", \"--cls-gl-cms-description-weight\", \"--cls-gl-cms-description-line-height\", \"--cls-gl-cms-description-letter-spacing\", \"--cls-gl-cms-description-opacity\", \"--cls-gl-cms-description-style\", \"--cls-gl-cms-description-transform\", \"--cls-gl-cms-description-align\", \"--cls-gl-cms-description-gap\", \"--cls-gl-caption-overlay-top\", \"--cls-gl-caption-overlay-right\", \"--cls-gl-caption-overlay-bottom\", \"--cls-gl-caption-overlay-left\", \"--cls-gl-caption-overlay-transform\", \"--cls-gl-caption-overlay-margin\", \"--cls-gl-radius\",\\n      \"--cls-gl-blur\", \"--cls-gl-spacing\", \"--cls-gl-cms-width\", \"--cls-gl-cms-height\",\\n      \"--cls-gl-content-align\", \"--cls-gl-image-border\", \"--cls-gl-image-radius\",\\n      \"--cls-gl-image-zoom\", \"--cls-gl-transition-duration\",\\n    ].forEach((property) => root.style.removeProperty(property));\\n    [\"data-cls-close-position\", \"data-cls-arrow-position\", \"data-cls-thumbnail-position\", \"data-cls-match-controls\"].forEach((attribute) => root.removeAttribute(attribute));\\n  }\\n\\n  function applyLightboxSettings(settings, itemCount) {\\n    const root = document.documentElement;\\n    const thumbnailVisible = settings.showThumbnails !== false && itemCount > 1;\\n    const arrowVisible = settings.showNavigationArrows !== false && itemCount > 1;\\n    const arrowColor = safeColor(settings.arrowColor, \"#ffffff\");\\n    const closeColor = settings.matchControl === true ? arrowColor : safeColor(settings.closeColor, \"#ffffff\");\\n    const closeIcon = settings.closeIcon || \"circle\";\\n    const arrowStyle = settings.arrowStyle || \"default\";\\n    const arrowPosition = [\"sides\", \"bottom-center\", \"bottom-right\", \"top-right\", \"inside-image\"].includes(settings.arrowPosition)\\n      ? settings.arrowPosition\\n      : \"sides\";\\n    const thumbnailPosition = [\"bottom\", \"top\", \"left\", \"right\"].includes(settings.thumbnailPosition)\\n      ? settings.thumbnailPosition\\n      : \"bottom\";\\n    const closePosition = [\"top-right\", \"top-left\", \"bottom-right\", \"outside\"].includes(settings.closePosition)\\n      ? settings.closePosition\\n      : \"top-right\";\\n    const captionTextAlign = [\"left\", \"center\", \"right\"].includes(settings.captionTextAlign) ? settings.captionTextAlign : \"center\"\\n    const overlayPosition = [\"top-left\", \"top-center\", \"top-right\", \"center-left\", \"center\", \"center-right\", \"bottom-left\", \"bottom-center\", \"bottom-right\", \"manual\"].includes(settings.captionOverlayPosition) ? settings.captionOverlayPosition : \"bottom-center\"\\n    const overlayLayouts = {\\n      \"top-left\": { top: \"16px\", right: \"auto\", bottom: \"auto\", left: \"16px\", transform: \"none\", margin: \"0 auto 0 0\" },\\n      \"top-center\": { top: \"16px\", right: \"16px\", bottom: \"auto\", left: \"16px\", transform: \"none\", margin: \"0 auto\" },\\n      \"top-right\": { top: \"16px\", right: \"16px\", bottom: \"auto\", left: \"auto\", transform: \"none\", margin: \"0 0 0 auto\" },\\n      \"center-left\": { top: \"50%\", right: \"auto\", bottom: \"auto\", left: \"16px\", transform: \"translateY(-50%)\", margin: \"0 auto 0 0\" },\\n      \"center\": { top: \"50%\", right: \"16px\", bottom: \"auto\", left: \"16px\", transform: \"translateY(-50%)\", margin: \"0 auto\" },\\n      \"center-right\": { top: \"50%\", right: \"16px\", bottom: \"auto\", left: \"auto\", transform: \"translateY(-50%)\", margin: \"0 0 0 auto\" },\\n      \"bottom-left\": { top: \"auto\", right: \"auto\", bottom: \"calc(var(--cls-gl-thumb-height,0px) + 16px)\", left: \"16px\", transform: \"none\", margin: \"0 auto 0 0\" },\\n      \"bottom-center\": { top: \"auto\", right: \"16px\", bottom: \"calc(var(--cls-gl-thumb-height,0px) + 16px)\", left: \"16px\", transform: \"none\", margin: \"0 auto\" },\\n      \"bottom-right\": { top: \"auto\", right: \"16px\", bottom: \"calc(var(--cls-gl-thumb-height,0px) + 16px)\", left: \"auto\", transform: \"none\", margin: \"0 0 0 auto\" },\\n      \"manual\": { top: String(clampNumber(settings.captionOverlayY, 0, 100, 50)) + \"%\", right: \"auto\", bottom: \"auto\", left: String(clampNumber(settings.captionOverlayX, 0, 100, 50)) + \"%\", transform: \"translate(-50%, -50%)\", margin: \"0\" },\\n    };\\n    const overlayLayout = overlayLayouts[overlayPosition] || overlayLayouts[\"bottom-center\"];\\n    const contentAlign = settings.contentAlignment === \"top\"\\n      ? \"flex-start\"\\n      : settings.contentAlignment === \"bottom\"\\n        ? \"flex-end\"\\n        : \"center\";\\n    const transitionSpeed = clampNumber(settings.transitionSpeed, 100, 800, 260);\\n    const imageBorder = settings.imageBorder === true\\n      ? clampNumber(settings.imageBorderWidth, 0, 8, 1) + \"px solid \" + safeColor(settings.imageBorderColor, \"#ffffff\")\\n      : \"none\";\\n    let arrowRadius = \"999px\";\\n    let arrowBorder = \"none\";\\n    const arrowBackground = safeColor(settings.arrowBackground,\\n      [\"ghost\", \"minimal\", \"outline\"].includes(arrowStyle) ? \"transparent\" : \"#ffffff\");\\n\\n    if (arrowStyle === \"square\") arrowRadius = \"6px\";\\n    if (arrowStyle === \"outline\") {\\n      arrowRadius = \"999px\";\\n      arrowBorder = \"2px solid \" + arrowColor;\\n    }\\n\\n    root.style.setProperty(\"--cls-gl-overlay-bg\", safeColor(settings.overlayColor, \"#000000\"));\\n    root.style.setProperty(\"--cls-gl-overlay-opacity\", String(clampNumber(settings.overlayOpacity, 0, 100, 90) / 100));\\n    root.style.setProperty(\"--cls-gl-blur\", clampNumber(settings.blur, 0, 30, 14) + \"px\");\\n    root.style.setProperty(\"--cls-gl-close-color\", closeColor);\\n    root.style.setProperty(\"--cls-gl-close-size\", (settings.matchControl === true ? clampNumber(settings.arrowSize, 28, 80, 44) : clampNumber(settings.closeSize, 24, 72, 44)) + \"px\");\\n    root.style.setProperty(\"--cls-gl-close-bg\", settings.matchControl === true ? arrowBackground : safeColor(settings.closeBackground, \"transparent\"));\\n    root.style.setProperty(\"--cls-gl-close-radius\", settings.matchControl === true ? arrowRadius : closeIcon === \"corner\" ? \"8px\" : closeIcon === \"minimal\" ? \"0\" : \"999px\");\\n    root.style.setProperty(\"--cls-gl-close-border\", settings.matchControl === true ? arrowBorder : closeIcon === \"corner\" ? \"1px solid currentColor\" : \"none\");\\n    root.style.setProperty(\"--cls-gl-close-opacity\", settings.matchControl === true ? String(clampNumber(settings.arrowOpacity, 0, 100, 96) / 100) : \"1\");\\n    root.style.setProperty(\"--cls-gl-arrow-color\", arrowColor);\\n    root.style.setProperty(\"--cls-gl-arrow-size\", clampNumber(settings.arrowSize, 28, 80, 44) + \"px\");\\n    root.style.setProperty(\"--cls-gl-arrow-bg\", arrowBackground);\\n    root.style.setProperty(\"--cls-gl-arrow-radius\", arrowRadius);\\n    root.style.setProperty(\"--cls-gl-arrow-border\", arrowBorder);\\n    root.style.setProperty(\"--cls-gl-arrow-opacity\", String(clampNumber(settings.arrowOpacity, 0, 100, 96) / 100));\\n    root.style.setProperty(\"--cls-gl-arrow-display\", arrowVisible ? \"flex\" : \"none\");\\n    root.style.setProperty(\"--cls-gl-thumb-height\", thumbnailVisible ? clampNumber(settings.thumbnailSize, 32, 120, 64) + 40 + \"px\" : \"0px\");\\n    root.style.setProperty(\"--cls-gl-image-fit\", [\"contain\", \"cover\", \"fill\", \"none\"].includes(settings.imageObjectFit) ? settings.imageObjectFit : \"contain\");\\n    root.style.setProperty(\"--cls-gl-thumb-gap\", clampNumber(settings.thumbnailGap, 2, 24, 8) + \"px\");\\n    root.style.setProperty(\"--cls-gl-thumb-size\", clampNumber(settings.thumbnailSize, 32, 120, 64) + \"px\");\\n    root.style.setProperty(\"--cls-gl-thumb-radius\", clampNumber(settings.thumbnailRadius, 0, 24, 8) + \"px\");\\n    root.style.setProperty(\"--cls-gl-thumb-border-width\", clampNumber(settings.thumbnailBorderWidth, 0, 6, 2) + \"px\");\\n    root.style.setProperty(\"--cls-gl-thumb-opacity\", String(clampNumber(settings.thumbnailOpacity, 20, 100, 72) / 100));\\n    root.style.setProperty(\"--cls-gl-thumb-active-opacity\", String(clampNumber(settings.thumbnailActiveOpacity, 50, 100, 100) / 100));\\n    root.style.setProperty(\"--cls-gl-thumb-border-color\", safeColor(settings.thumbnailBorderColor, \"#ffffff\"));\\n    root.style.setProperty(\"--cls-gl-caption-color\", safeColor(settings.captionColor, \"#ffffff\"));\\n    root.style.setProperty(\"--cls-gl-caption-align\", captionTextAlign);\\n    root.style.setProperty(\"--cls-gl-caption-overlay-top\", overlayLayout.top);\\n    root.style.setProperty(\"--cls-gl-caption-overlay-right\", overlayLayout.right);\\n    root.style.setProperty(\"--cls-gl-caption-overlay-bottom\", overlayLayout.bottom);\\n    root.style.setProperty(\"--cls-gl-caption-overlay-left\", overlayLayout.left);\\n    root.style.setProperty(\"--cls-gl-caption-overlay-transform\", overlayLayout.transform);\\n    root.style.setProperty(\"--cls-gl-caption-overlay-margin\", overlayLayout.margin);\\n    root.style.setProperty(\"--cls-gl-caption-bg\", safeColor(settings.captionBackground, \"transparent\"));\\n    root.style.setProperty(\"--cls-gl-caption-padding\", clampNumber(settings.captionPadding, 0, 64, 16) + \"px\");\\n    root.style.setProperty(\"--cls-gl-caption-border-color\", safeColor(settings.captionBorderColor, \"transparent\"));\\n    root.style.setProperty(\"--cls-gl-caption-border-width\", clampNumber(settings.captionBorderWidth, 0, 8, 1) + \"px\");\\n    root.style.setProperty(\"--cls-gl-caption-radius\", clampNumber(settings.captionBorderRadius, 0, 999, 0) + \"px\");\\n    root.style.setProperty(\"--cls-gl-caption-font\", cleanText(settings.captionFontFamily) || \"Inter, sans-serif\");\\n    root.style.setProperty(\"--cls-gl-caption-size\", clampNumber(settings.captionFontSize, 10, 48, 16) + \"px\");\\n    root.style.setProperty(\"--cls-gl-caption-weight\", String(clampNumber(settings.captionFontWeight, 100, 900, 400)));\\n    root.style.setProperty(\"--cls-gl-cms-description-color\", safeColor(settings.captionDescriptionColor || settings.captionColor, \"#ffffff\"));\\n    root.style.setProperty(\"--cls-gl-cms-description-font\", cleanText(settings.captionDescriptionFontFamily || settings.captionFontFamily) || \"Inter, sans-serif\");\\n    root.style.setProperty(\"--cls-gl-cms-description-size\", clampNumber(settings.captionDescriptionFontSize, 10, 72, 15) + \"px\");\\n    root.style.setProperty(\"--cls-gl-cms-description-weight\", String(clampNumber(settings.captionDescriptionFontWeight, 100, 900, 400)));\\n    root.style.setProperty(\"--cls-gl-cms-description-line-height\", String(clampNumber(settings.captionDescriptionLineHeight, 1, 3, 1.65)));\\n    root.style.setProperty(\"--cls-gl-cms-description-letter-spacing\", clampNumber(settings.captionDescriptionLetterSpacing, -2, 12, 0) + \"px\");\\n    root.style.setProperty(\"--cls-gl-cms-description-opacity\", String(clampNumber(settings.captionDescriptionOpacity, 0, 100, 76) / 100));\\n    root.style.setProperty(\"--cls-gl-cms-description-style\", settings.captionDescriptionFontStyle === \"italic\" ? \"italic\" : \"normal\");\\n    root.style.setProperty(\"--cls-gl-cms-description-transform\", [\"none\", \"uppercase\", \"capitalize\", \"lowercase\"].includes(settings.captionDescriptionTextTransform) ? settings.captionDescriptionTextTransform : \"none\");\\n    root.style.setProperty(\"--cls-gl-cms-description-align\", [\"left\", \"center\", \"right\"].includes(settings.captionDescriptionTextAlign) ? settings.captionDescriptionTextAlign : \"left\");\\n    root.style.setProperty(\"--cls-gl-cms-description-gap\", clampNumber(settings.captionDescriptionGap, 0, 64, 14) + \"px\");\\n    root.style.setProperty(\"--cls-gl-radius\", clampNumber(settings.radius, 0, 48, 20) + \"px\");\\n    root.style.setProperty(\"--cls-gl-spacing\", clampNumber(settings.spacing, 0, 64, 0) + \"px\");\\n    root.style.setProperty(\"--cls-gl-cms-width\", clampNumber(settings.cmsWidth, 320, 1920, 1120) + \"px\");\\n    root.style.setProperty(\"--cls-gl-cms-height\", clampNumber(settings.cmsHeight, 240, 1200, 720) + \"px\");\\n    root.style.setProperty(\"--cls-gl-content-align\", contentAlign);\\n    root.style.setProperty(\"--cls-gl-image-border\", imageBorder);\\n    root.style.setProperty(\"--cls-gl-image-radius\", clampNumber(settings.radius, 0, 48, 20) + \"px\");\\n    root.style.setProperty(\"--cls-gl-image-zoom\", String(clampNumber(settings.zoom, 95, 115, 100) / 100));\\n    root.style.setProperty(\"--cls-gl-transition-duration\", transitionSpeed + \"ms\");\\n    root.setAttribute(\"data-cls-match-controls\", settings.matchControl === true ? \"true\" : \"false\");\\n    root.setAttribute(\"data-cls-close-position\", closePosition);\\n    root.setAttribute(\"data-cls-arrow-position\", arrowPosition);\\n    root.setAttribute(\"data-cls-thumbnail-position\", thumbnailPosition);\\n    if (thumbnailPosition === \"left\" || thumbnailPosition === \"right\") {\\n      root.style.setProperty(\"--cls-gl-thumb-height\", \"0px\");\\n    }\\n  }\\n\\n  function getVimeoVideoId(value) {\\n    try {\\n      const normalized = normalizeMediaUrl(value);\\n      if (!normalized) return \"\";\\n      const url = new URL(normalized, window.location.href);\\n      const parts = url.pathname.split(\"/\").filter(Boolean);\\n      return parts.find((part) => /^[0-9]+$/.test(part)) || \"\";\\n    } catch {\\n      return \"\";\\n    }\\n  }\\n\\n  function normalizeMediaUrl(value) {\\n    const normalized = typeof value === \"string\" ? value.trim() : \"\";\\n    if (!normalized) return \"\";\\n    if (/^(https?:)?\\\\/\\\\//i.test(normalized)) return normalized.startsWith(\"//\") ? \"https:\" + normalized : normalized;\\n    if (/^(?:www\\\\.|youtube(?:-nocookie)?\\\\.com\\\\/|youtu\\\\.be\\\\/|(?:player\\\\.)?vimeo\\\\.com\\\\/)/i.test(normalized)) {\\n      return \"https://\" + normalized;\\n    }\\n    try {\\n      return new URL(normalized, window.location.href).toString();\\n    } catch {\\n      return normalized;\\n    }\\n  }\\n\\n  function getIframeSource(frame) {\\n    if (!(frame instanceof HTMLIFrameElement)) return \"\";\\n    const candidates = [\\n      frame.getAttribute(\"src\"),\\n      frame.getAttribute(\"data-src\"),\\n      frame.getAttribute(\"data-framer-src\"),\\n      frame.src,\\n    ];\\n    const source = candidates.find((value) => typeof value === \"string\" && value.trim() && value.trim() !== \"about:blank\") || \"\";\\n    return normalizeMediaUrl(source);\\n  }\\n\\n  function getHtmlVideoSource(video) {\\n    if (!(video instanceof HTMLVideoElement)) return \"\";\\n    const sourceElement = video.querySelector(\"source\");\\n    const candidates = [\\n      video.currentSrc,\\n      video.getAttribute(\"src\"),\\n      video.getAttribute(\"data-src\"),\\n      video.getAttribute(\"data-framer-src\"),\\n      video.src,\\n      sourceElement?.getAttribute(\"src\"),\\n      sourceElement?.getAttribute(\"data-src\"),\\n      sourceElement?.src,\\n    ];\\n    const source = candidates.find((value) => typeof value === \"string\" && value.trim()) || \"\";\\n    return normalizeMediaUrl(source);\\n  }\\n\\n  function normalizeVideoUrl(value) {\\n    const normalized = typeof value === \"string\" ? value.trim() : \"\";\\n    if (!normalized || !normalized.toLowerCase().includes(\"vimeo.com\")) return normalized;\\n\\n    try {\\n      const sourceUrl = new URL(normalized, window.location.href);\\n      const parts = sourceUrl.pathname.split(\"/\").filter(Boolean);\\n      const videoId = parts.find((part) => /^[0-9]+$/.test(part));\\n      if (!videoId) return normalized;\\n\\n      const idIndex = parts.indexOf(videoId);\\n      const privateHash = sourceUrl.searchParams.get(\"h\") || (idIndex >= 0 ? parts[idIndex + 1] : \"\");\\n      const lightboxUrl = new URL(\"https://vimeo.com/\" + videoId);\\n      if (privateHash) lightboxUrl.searchParams.set(\"h\", privateHash);\\n      return lightboxUrl.toString();\\n    } catch {\\n      return normalized;\\n    }\\n  }\\n\\n  function getYouTubeVideoId(value) {\\n    try {\\n      const normalized = normalizeMediaUrl(value);\\n      if (!normalized) return \"\";\\n      const url = new URL(normalized, window.location.href);\\n      const hostName = url.hostname.toLowerCase();\\n      const host = hostName.startsWith(\"www.\") ? hostName.slice(4) : hostName;\\n      if (host === \"youtu.be\") return url.pathname.split(\"/\").filter(Boolean)[0] || \"\";\\n      if (host === \"youtube.com\" || host.endsWith(\".youtube.com\") || host === \"youtube-nocookie.com\" || host.endsWith(\".youtube-nocookie.com\")) {\\n        const queryId = url.searchParams.get(\"v\");\\n        if (queryId) return queryId;\\n        const parts = url.pathname.split(\"/\").filter(Boolean);\\n        const markerIndex = parts.findIndex((part) => part === \"embed\" || part === \"v\" || part === \"e\" || part === \"shorts\");\\n        return markerIndex >= 0 ? parts[markerIndex + 1] || \"\" : \"\";\\n      }\\n    } catch {\\n      return \"\";\\n    }\\n    return \"\";\\n  }\\n\\n  function getFallbackThumbnail() {\\n    return \"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%20viewBox%3D%220%200%20100%20100%22%3E%3Crect%20width%3D%22100%22%20height%3D%22100%22%20fill%3D%22%23222%22%2F%3E%3Cpolygon%20points%3D%2240%2C30%2070%2C50%2040%2C70%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E\";\\n  }\\n\\n  function getThumbnailSource(item) {\\n    const poster = item && typeof item.poster === \"string\" ? item.poster : \"\";\\n    const href = poster || item && (item.href || item.src);\\n    if (!href) return getFallbackThumbnail();\\n    if (item.type === \"image\" || poster) return href;\\n\\n    const youtubeId = getYouTubeVideoId(href);\\n    if (youtubeId) return \"https://img.youtube.com/vi/\" + youtubeId + \"/hqdefault.jpg\";\\n\\n    const vimeoId = getVimeoVideoId(href);\\n    if (vimeoId) return \"https://vumbnail.com/\" + vimeoId + \".jpg\";\\n    return getFallbackThumbnail();\\n  }\\n\\n  function setThumbnailImage(button, source, label) {\\n    const image = document.createElement(\"img\");\\n    image.src = source;\\n    image.alt = label || \"Video thumbnail\";\\n    image.loading = \"lazy\";\\n    image.onerror = () => {\\n      image.onerror = null;\\n      image.src = getFallbackThumbnail();\\n    };\\n    button.replaceChildren(image);\\n  }\\n\\n  function isVideoUrl(value) {\\n    const normalized = normalizeMediaUrl(value).toLowerCase();\\n    return normalized.includes(\"youtube.com\") || normalized.includes(\"youtube-nocookie.com\") || normalized.includes(\"youtu.be\") || normalized.includes(\"vimeo.com\") || /\\\\.(?:mp4|webm|ogg|mov|m4v)(?:[?#]|$)/i.test(normalized);\\n  }\\n\\n  function getVideoSource(value) {\\n    const normalized = typeof value === \"string\" ? value.toLowerCase() : \"\";\\n    if (normalized.includes(\"youtube.com\") || normalized.includes(\"youtube-nocookie.com\") || normalized.includes(\"youtu.be\")) return \"youtube\";\\n    if (normalized.includes(\"vimeo.com\")) return \"vimeo\";\\n    return \"local\";\\n  }\\n\\n  function configureVideoFrames(root) {\\n    if (!root || !root.querySelectorAll) return;\\n    root.querySelectorAll(\"iframe\").forEach((frame) => {\\n      frame.setAttribute(\"allow\", \"autoplay; fullscreen; picture-in-picture; encrypted-media\");\\n      frame.setAttribute(\"loading\", \"eager\");\\n      frame.setAttribute(\"referrerpolicy\", \"strict-origin-when-cross-origin\");\\n    });\\n  }\\n\\n  function getImageSource(image) {\\n    if (!(image instanceof HTMLImageElement)) return \"\";\\n    const candidates = [\\n      image.getAttribute(\"data-framer-original-image\"),\\n      image.getAttribute(\"data-framer-src\"),\\n      image.getAttribute(\"data-src\"),\\n      image.getAttribute(\"data-lazy-src\"),\\n      image.getAttribute(\"data-original\"),\\n      image.currentSrc,\\n      image.src,\\n    ];\\n    return candidates.find((value) => typeof value === \"string\" && value.trim()) || \"\";\\n  }\\n\\n  function getPresentationVideo(el) {\\n    // Only a video component may own its poster and play button. Walking up\\n    // through gallery groups incorrectly associates photos with sibling videos.\\n    if (!(el instanceof Element) || !el.matches(\\'article[role=\"presentation\"]\\')) return null;\\n    const sources = Array.from(el.querySelectorAll(\"iframe, video\"))\\n      .map((media) => media instanceof HTMLVideoElement ? getHtmlVideoSource(media) : getIframeSource(media))\\n      .filter(isVideoUrl);\\n    if (sources.length === 1) return { type: \"video\", src: normalizeVideoUrl(sources[0]) };\\n    if (sources.length) return null;\\n    const images = el.querySelectorAll(\"img\");\\n    if (images.length === 1) {\\n      try {\\n        const url = new URL(getImageSource(images[0]), window.location.href);\\n        const parts = url.pathname.split(\"/\");\\n        if ((url.hostname === \"ytimg.com\" || url.hostname.endsWith(\".ytimg.com\")) &&\\n            [\"vi\", \"vi_webp\"].includes(parts[1]) && /^[a-zA-Z0-9_-]{11}$/.test(parts[2])) {\\n          return { type: \"video\", src: \"https://www.youtube.com/watch?v=\" + parts[2] };\\n        }\\n      } catch { /* Keep non-video posters as images. */ }\\n    }\\n    return null;\\n  }\\n\\n  let lightboxInstance = null;\\n  let updatePreview = null;\\n  let currentGallerySettings = null;\\n  const iframeHitTargets = new Set();\\n  const iframeHitTargetParents = new Map();\\n  let galleryAutoplayTimer = null;\\n  let enhancementContainer = null;\\n  let enhancementZoomHandler = null;\\n  let enhancementFullscreenHandler = null;\\n  let zoomedMedia = null;\\n  const markedTargets = new Set();\\n  let glightboxLoadTimeout = null;\\n  let glightboxScript = null;\\n  let glightboxLoadHandler = null;\\n  let discoveryObserver = null;\\n  let containerObserver = null;\\n  let pendingTargetRefreshTimer = null;\\n  let pendingFullDiscovery = false;\\n  const pendingContainerRefreshes = new Set();\\n  const observedContainers = new Set();\\n  let discoveryRetryTimer = null;\\n  let discoveryRetryIndex = 0;\\n  const discoveryRetryDelays = [100, 300, 1000, 3000];\\n  let runtimeStarted = false;\\n  let runtimeDisposed = false;\\n  const resolvedContainerTargets = new WeakMap();\\n  const ambiguousTargets = new Set();\\n\\n  function stopGalleryAutoplay() {\\n    if (galleryAutoplayTimer !== null) {\\n      window.clearInterval(galleryAutoplayTimer);\\n      galleryAutoplayTimer = null;\\n    }\\n  }\\n\\n  function clearLightboxEnhancements() {\\n    stopGalleryAutoplay();\\n    if (enhancementContainer && enhancementZoomHandler) {\\n      enhancementContainer.removeEventListener(\"click\", enhancementZoomHandler, true);\\n    }\\n    if (enhancementFullscreenHandler) {\\n      document.removeEventListener(\"fullscreenchange\", enhancementFullscreenHandler);\\n    }\\n    if (zoomedMedia) {\\n      zoomedMedia.classList.remove(\"cls-gl-zoomed\");\\n      zoomedMedia = null;\\n    }\\n    enhancementContainer?.querySelector(\".cls-gl-toolbar\")?.remove();\\n    enhancementContainer = null;\\n    enhancementZoomHandler = null;\\n    enhancementFullscreenHandler = null;\\n  }\\n\\n  function clearTargetMarks() {\\n    markedTargets.forEach((element) => {\\n      if (!(element instanceof HTMLElement)) return;\\n      if (element.getAttribute(TARGET_MARK) === \"true\") element.removeAttribute(TARGET_MARK);\\n      element.classList.remove(\"cls-lightbox-target\", \"cls-lightbox-hide-zoom-cursor\");\\n      if (element.getAttribute(TARGET_TABINDEX_MARK) === \"true\") {\\n        element.removeAttribute(TARGET_TABINDEX_MARK);\\n        element.removeAttribute(\"tabindex\");\\n      }\\n    });\\n    markedTargets.clear();\\n  }\\n\\n  function stopGLightboxLoading() {\\n    if (glightboxLoadTimeout !== null) {\\n      window.clearTimeout(glightboxLoadTimeout);\\n      glightboxLoadTimeout = null;\\n    }\\n  }\\n\\n  function cleanupRuntime() {\\n    runtimeDisposed = true;\\n    stopGLightboxLoading();\\n    if (glightboxScript && glightboxLoadHandler) {\\n      glightboxScript.removeEventListener(\"load\", glightboxLoadHandler);\\n    }\\n    discoveryObserver?.disconnect();\\n    discoveryObserver = null;\\n    containerObserver?.disconnect();\\n    containerObserver = null;\\n    if (discoveryRetryTimer !== null) window.clearTimeout(discoveryRetryTimer);\\n    discoveryRetryTimer = null;\\n    if (pendingTargetRefreshTimer !== null) {\\n      window.clearTimeout(pendingTargetRefreshTimer);\\n      pendingTargetRefreshTimer = null;\\n    }\\n    pendingContainerRefreshes.clear();\\n    observedContainers.clear();\\n    document.removeEventListener(\"click\", onDocumentClick, true);\\n    document.removeEventListener(\"mouseover\", onDocumentMouseOver, true);\\n    document.removeEventListener(\"keydown\", onDocumentKeyDown, true);\\n    window.removeEventListener(\"message\", onPreviewMessage);\\n    updatePreview = null;\\n    currentGallerySettings = null;\\n    document.removeEventListener(\"load\", onMediaLoad, true);\\n    window.removeEventListener(\"pageshow\", onPageShow);\\n    window.removeEventListener(\"popstate\", onPageShow);\\n    clearLightboxEnhancements();\\n    if (lightboxInstance) {\\n      try {\\n        lightboxInstance.destroy();\\n      } catch {\\n        // The library may already have disposed itself during page teardown.\\n      }\\n      lightboxInstance = null;\\n    }\\n    removeIframeHitTargets();\\n    clearTargetMarks();\\n    resetLightboxSettings();\\n    if (window[CLEANUP_KEY] === cleanupRuntime) delete window[CLEANUP_KEY];\\n  }\\n\\n  window[CLEANUP_KEY] = cleanupRuntime;\\n\\n  function getCurrentSlideIndex(fallback) {\\n    const getter = lightboxInstance && lightboxInstance.getActiveSlideIndex;\\n    if (typeof getter !== \"function\") return fallback;\\n    const index = getter.call(lightboxInstance);\\n    return Number.isFinite(index) ? index : fallback;\\n  }\\n\\n  function applyArrowIcons(container, settings) {\\n    const icon = settings.arrowIcon;\\n    const paths = {\\n      chevron: \"M9 5l7 7-7 7\",\\n      arrow: \"M4 12h16M13 5l7 7-7 7\",\\n      caret: \"M8 4l12 8-12 8Z\",\\n      \"long-arrow\": \"M2 12h20M15 5l7 7-7 7\",\\n      \"double-chevron\": \"M5 5l7 7-7 7M12 5l7 7-7 7\",\\n    };\\n    const selected = paths[icon] || paths.chevron;\\n    [container?.querySelector(\".gprev\"), container?.querySelector(\".gnext\")].forEach((button, index) => {\\n      if (!(button instanceof HTMLElement)) return;\\n      const svg = icon === \"custom\" ? sanitizeSvgIcon(index === 0 ? settings.arrowPreviousSvg : settings.arrowNextSvg) : \"\";\\n      if (svg) {\\n        const image = document.createElement(\"span\");\\n        image.className = \"cls-gl-custom-arrow\";\\n        image.setAttribute(\"aria-hidden\", \"true\");\\n        image.style.width = \"60%\";\\n        image.style.height = \"60%\";\\n        image.style.display = \"block\";\\n        image.style.backgroundColor = \"currentColor\";\\n        const mask = \\'url(\"data:image/svg+xml,\\' + encodeURIComponent(svg) + \\'\")\\';\\n        image.style.maskImage = mask;\\n        image.style.webkitMaskImage = mask;\\n        image.style.maskSize = \"contain\";\\n        image.style.maskRepeat = \"no-repeat\";\\n        image.style.maskPosition = \"center\";\\n        button.replaceChildren(image);\\n        return;\\n      }\\n      const graphic = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\\n      graphic.classList.add(\"cls-gl-built-in-arrow\");\\n      graphic.setAttribute(\"viewBox\", \"0 0 24 24\");\\n      graphic.setAttribute(\"aria-hidden\", \"true\");\\n      graphic.setAttribute(\"focusable\", \"false\");\\n      graphic.setAttribute(\"data-filled\", icon === \"caret\" ? \"true\" : \"false\");\\n      const path = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\\n      path.setAttribute(\"d\", selected);\\n      if (index === 0) path.setAttribute(\"transform\", \"translate(24 0) scale(-1 1)\");\\n      graphic.appendChild(path);\\n      button.replaceChildren(graphic);\\n    });\\n  }\\n\\n  function formatCounter(style, index, count) {\\n    const current = index + 1;\\n    if (style === \"1 of 5\") return current + \" of \" + count;\\n    if (style === \"minimal\") return String(current);\\n    return current + \"/\" + count;\\n  }\\n\\n  function getDownloadFileName(value, index) {\\n    try {\\n      const pathname = new URL(value, window.location.href).pathname;\\n      const name = pathname.split(\"/\").filter(Boolean).pop();\\n      if (name) return name.split(\"?\")[0];\\n    } catch {\\n      // Use a stable fallback for data URLs or malformed source values.\\n    }\\n    return \"lightbox-item-\" + (index + 1);\\n  }\\n\\n  function downloadItem(item, index) {\\n    if (!item || !item.src) return;\\n    const link = document.createElement(\"a\");\\n    link.href = item.src;\\n    link.download = getDownloadFileName(item.src, index);\\n    link.target = \"_blank\";\\n    link.rel = \"noopener\";\\n    document.body.appendChild(link);\\n    link.click();\\n    window.setTimeout(() => link.remove(), 0);\\n  }\\n\\n  function updateFullscreenButton(container) {\\n    const button = container?.querySelector(\"[data-cls-fullscreen]\");\\n    if (!button) return;\\n    const isFullscreen = document.fullscreenElement === container;\\n    button.setAttribute(\"aria-label\", isFullscreen ? \"Exit fullscreen\" : \"Enter fullscreen\");\\n    button.setAttribute(\"title\", isFullscreen ? \"Exit fullscreen\" : \"Enter fullscreen\");\\n  }\\n\\n  function styleToolbarButton(button, settings, prefix) {\\n    const matched = settings.matchControl === true;\\n    button.classList.toggle(\"cls-gl-tool-btn-matched\", matched);\\n    const rootStyle = document.documentElement.style;\\n    const size = matched ? clampNumber(settings.arrowSize, 28, 80, 44) : clampNumber(settings[prefix + \"Size\"], 28, 64, 40);\\n    button.style.color = matched ? rootStyle.getPropertyValue(\"--cls-gl-arrow-color\") : safeColor(settings[prefix + \"Color\"], \"#ffffff\");\\n    button.style.backgroundColor = matched ? rootStyle.getPropertyValue(\"--cls-gl-arrow-bg\") : safeColor(settings[prefix + \"Background\"], \"rgba(0,0,0,.28)\");\\n    button.style.width = size + \"px\";\\n    button.style.height = size + \"px\";\\n    button.style.flexShrink = \"0\";\\n    button.style.borderRadius = matched ? rootStyle.getPropertyValue(\"--cls-gl-arrow-radius\") : clampNumber(settings[prefix + \"Radius\"], 0, 40, 20) + \"px\";\\n    if (matched) button.style.border = rootStyle.getPropertyValue(\"--cls-gl-arrow-border\");\\n    button.style.opacity = matched ? rootStyle.getPropertyValue(\"--cls-gl-arrow-opacity\") : \"1\";\\n    const icon = button.querySelector(\"svg\");\\n    if (icon) {\\n      icon.style.width = size * (matched ? .6 : .475) + \"px\";\\n      icon.style.height = size * (matched ? .6 : .475) + \"px\";\\n    }\\n  }\\n\\n  function renderLightboxToolbar(container, settings, activeItems) {\\n    const showCounter = settings.showCounter === true;\\n    const showDownload = settings.showDownload === true;\\n    const showFullscreen = settings.showFullscreen === true;\\n    const shouldRender = showCounter || showDownload || showFullscreen;\\n    let toolbar = container.querySelector(\".cls-gl-toolbar\");\\n    if (!shouldRender) {\\n      toolbar?.remove();\\n      return;\\n    }\\n    if (!toolbar) {\\n      toolbar = document.createElement(\"div\");\\n      toolbar.className = \"cls-gl-toolbar\";\\n      toolbar.setAttribute(\"role\", \"toolbar\");\\n      toolbar.setAttribute(\"aria-label\", \"Lightbox controls\");\\n      container.appendChild(toolbar);\\n    }\\n    toolbar.replaceChildren();\\n\\n    if (showCounter) {\\n      const counter = document.createElement(\"span\");\\n      counter.className = \"cls-gl-counter\";\\n      counter.style.color = safeColor(settings.counterColor || settings.captionColor, \"#ffffff\");\\n      counter.style.backgroundColor = safeColor(settings.counterBackground, \"transparent\");\\n      counter.style.fontSize = clampNumber(settings.counterFontSize, 10, 32, 13) + \"px\";\\n      counter.style.borderRadius = clampNumber(settings.counterRadius, 0, 40, 0) + \"px\";\\n      counter.style.padding = \"0 \" + clampNumber(settings.counterPadding, 0, 32, 12) + \"px\";\\n      counter.style.textShadow = \"none\";\\n      counter.setAttribute(\"aria-live\", \"polite\");\\n      counter.textContent = formatCounter(\\n        settings.counterStyle || \"1/5\",\\n        getCurrentSlideIndex(0),\\n        activeItems.length,\\n      );\\n      toolbar.appendChild(counter);\\n    }\\n\\n    if (showDownload) {\\n      const downloadButton = document.createElement(\"button\");\\n      downloadButton.type = \"button\";\\n      downloadButton.className = \"cls-gl-tool-btn\";\\n      downloadButton.setAttribute(\"aria-label\", \"Download current item\");\\n      downloadButton.setAttribute(\"title\", \"Download current item\");\\n      downloadButton.innerHTML = \\'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3v12m0 0 5-5m-5 5-5-5M5 21h14\"></path></svg>\\';\\n      downloadButton.addEventListener(\"click\", (event) => {\\n        event.preventDefault();\\n        event.stopPropagation();\\n        const index = getCurrentSlideIndex(0);\\n        downloadItem(activeItems[index], index);\\n      });\\n      styleToolbarButton(downloadButton, settings, \"download\");\\n      toolbar.appendChild(downloadButton);\\n    }\\n\\n    if (showFullscreen) {\\n      const fullscreenButton = document.createElement(\"button\");\\n      fullscreenButton.type = \"button\";\\n      fullscreenButton.className = \"cls-gl-tool-btn\";\\n      fullscreenButton.dataset.clsFullscreen = \"true\";\\n      fullscreenButton.innerHTML = \\'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8 3H3v5M16 3h5v5M8 21H3v-5M21 16v5h-5\"></path></svg>\\';\\n      fullscreenButton.addEventListener(\"click\", (event) => {\\n        event.preventDefault();\\n        event.stopPropagation();\\n        if (document.fullscreenElement) {\\n          document.exitFullscreen?.().catch(() => undefined);\\n          return;\\n        }\\n        const requestFullscreen = container.requestFullscreen || document.documentElement.requestFullscreen;\\n        if (typeof requestFullscreen === \"function\") {\\n          requestFullscreen.call(container).catch(() => undefined);\\n        }\\n      });\\n      styleToolbarButton(fullscreenButton, settings, \"fullscreen\");\\n      toolbar.appendChild(fullscreenButton);\\n      updateFullscreenButton(container);\\n    }\\n  }\\n\\n  function startGalleryAutoplay(settings, itemCount) {\\n    stopGalleryAutoplay();\\n    if (window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) return;\\n    if (settings.autoPlay !== true || itemCount < 2 || !lightboxInstance) return;\\n    const interval = clampNumber(settings.autoPlayInterval, 1000, 60000, 3000);\\n    galleryAutoplayTimer = window.setInterval(() => {\\n      if (!lightboxInstance) return;\\n      const currentIndex = getCurrentSlideIndex(0);\\n      if (settings.loopNavigation === false && currentIndex >= itemCount - 1) {\\n        stopGalleryAutoplay();\\n        return;\\n      }\\n      lightboxInstance.nextSlide();\\n    }, interval);\\n  }\\n\\n  function bindLightboxEnhancements(container, settings, activeItems) {\\n    clearLightboxEnhancements();\\n    enhancementContainer = container;\\n    container.setAttribute(\"data-cls-hide-zoom-cursor\", String(settings.hideZoomCursor !== false));\\n    container.style.setProperty(\"--cls-gl-click-zoom\", String(clampNumber(settings.zoomOnClickLevel, 125, 400, 200) / 100));\\n    enhancementZoomHandler = (event) => {\\n      if (settings.zoomOnClick !== true) return;\\n      const target = event.target;\\n      if (!(target instanceof HTMLImageElement) || !target.closest(\".gslide.current .gslide-media\")) return;\\n      event.preventDefault();\\n      event.stopPropagation();\\n      if (zoomedMedia && zoomedMedia !== target) zoomedMedia.classList.remove(\"cls-gl-zoomed\");\\n      target.classList.toggle(\"cls-gl-zoomed\");\\n      zoomedMedia = target.classList.contains(\"cls-gl-zoomed\") ? target : null;\\n    };\\n    container.addEventListener(\"click\", enhancementZoomHandler, true);\\n    enhancementFullscreenHandler = () => updateFullscreenButton(container);\\n    document.addEventListener(\"fullscreenchange\", enhancementFullscreenHandler);\\n    renderLightboxToolbar(container, settings, activeItems);\\n  }\\n\\n  function removeIframeHitTargets() {\\n    iframeHitTargets.forEach((record) => {\\n      record.overlay.remove();\\n      window.removeEventListener(\"resize\", record.sync);\\n      record.resizeObserver?.disconnect();\\n    });\\n    iframeHitTargets.clear();\\n    iframeHitTargetParents.forEach((position, parent) => {\\n      if (position.value) parent.style.setProperty(\"position\", position.value, position.priority);\\n      else parent.style.removeProperty(\"position\");\\n    });\\n    iframeHitTargetParents.clear();\\n  }\\n\\n  function ensureIframeHitTarget(frame, item) {\\n    if (!(frame instanceof HTMLIFrameElement) || !item || item.type !== \"video\") return;\\n    const existing = Array.from(iframeHitTargets).find((record) => record.frame === frame);\\n    if (existing) {\\n      existing.item = item;\\n      existing.sync();\\n      return;\\n    }\\n    const parent = frame.parentElement;\\n    if (!parent) return;\\n\\n    if (window.getComputedStyle(parent).position === \"static\") {\\n      iframeHitTargetParents.set(parent, {\\n        value: parent.style.getPropertyValue(\"position\"),\\n        priority: parent.style.getPropertyPriority(\"position\"),\\n      });\\n      parent.style.position = \"relative\";\\n    }\\n\\n    const overlay = document.createElement(\"button\");\\n    overlay.type = \"button\";\\n    overlay.className = \"cls-lightbox-iframe-hit-target\";\\n    overlay.setAttribute(\"aria-label\", \"Open video in lightbox\");\\n    overlay.style.cssText = \"position:absolute; z-index:2147483647; display:block; margin:0; padding:0; border:0; background:transparent; cursor:zoom-in;\";\\n\\n    const sync = () => {\\n      const settings = getTargetForContainer(item.container)?.settings || CONFIG.settings;\\n      overlay.classList.toggle(\"cls-lightbox-hide-zoom-cursor\", settings.hideZoomCursor !== false);\\n      const geometry = { left: frame.offsetLeft, top: frame.offsetTop, width: frame.offsetWidth, height: frame.offsetHeight };\\n      for (const [key, value] of Object.entries(geometry)) {\\n        const next = value + \"px\";\\n        // Avoid a style-mutation loop when markTargets runs from the observer.\\n        if (overlay.style[key] !== next) overlay.style[key] = next;\\n      }\\n    };\\n    sync();\\n    window.addEventListener(\"resize\", sync);\\n    const resizeObserver = typeof ResizeObserver === \"function\" ? new ResizeObserver(sync) : null;\\n    resizeObserver?.observe(frame);\\n    resizeObserver?.observe(parent);\\n    parent.appendChild(overlay);\\n    // Route overlay clicks through the same handler as images and play buttons.\\n    iframeHitTargets.add({ frame, item, overlay, parent, resizeObserver, sync });\\n  }\\n\\n  function getScopedContainers(searchRoot = document) {\\n    const query = (selector) => [\\n      ...(searchRoot instanceof Element && searchRoot.matches(selector) ? [searchRoot] : []),\\n      ...searchRoot.querySelectorAll(selector),\\n    ].filter((node) => !node.closest(\".glightbox-container\"));\\n    const matched = new Map();\\n    const framerNamedNodes = query(\"[data-framer-name]\");\\n    const framerIdNodes = query(\"[data-framer-id], [data-framer-node-id], [id]\");\\n    const sourceKey = (source) => {\\n      try {\\n        const url = new URL(source, document.baseURI);\\n        return /(^|\\\\.)framerusercontent\\\\.com$/.test(url.hostname) ? url.origin + url.pathname : source;\\n      } catch { return source; }\\n    };\\n    const resolveChildPath = (anchor, path) => {\\n      if (!anchor || !Array.isArray(path)) return null;\\n      let current = anchor;\\n      for (const index of path) {\\n        if (!Number.isInteger(index) || index < 0 || !current.children[index]) return null;\\n        current = current.children[index];\\n      }\\n      return current;\\n    };\\n    for (const target of scopedTargets) {\\n      const expected = new Set((target.mediaSources || []).map(sourceKey));\\n      const matchesSources = (element) => {\\n        if (!expected.size || target.cms) return true;\\n        const actual = new Set(collectImagesFromContainer(element).filter((item) => item.type === \"image\").map((item) => sourceKey(item.src)));\\n        return actual.size === expected.size && Array.from(expected).every((source) => actual.has(source));\\n      };\\n      // A concrete node ID always wins over a generic name such as Stack.\\n      let candidates = framerIdNodes.filter((node) => target.id && [node.id, node.getAttribute(\"data-framer-id\"), node.getAttribute(\"data-framer-node-id\")].includes(target.id));\\n      if (!candidates.length && target.anchorName && target.childPath?.length) {\\n        candidates = framerNamedNodes.filter((node) => normalizeLayerName(node.getAttribute(\"data-framer-name\")) === normalizeLayerName(target.anchorName))\\n          .map((anchor) => resolveChildPath(anchor, target.childPath))\\n          .filter((node) => node && matchesSources(node));\\n      }\\n      if (!candidates.length && target.name) {\\n        const allNamed = framerNamedNodes.filter((node) => normalizeLayerName(node.getAttribute(\"data-framer-name\")) === normalizeLayerName(target.name));\\n        const named = allNamed.filter((node) => !allNamed.some((other) => other !== node && node.contains(other)));\\n        candidates = named.filter(matchesSources);\\n        if (!expected.size && named.length > 1) {\\n          candidates = [];\\n          if (searchRoot === document) ambiguousTargets.add(target);\\n        } else if (searchRoot === document) ambiguousTargets.delete(target);\\n      }\\n      // An omitted/renamed marker may be resolved by exact saved image assets.\\n      // Never guess a different gallery from its layout or number of images.\\n      if (!candidates.length && expected.size && !target.cms) {\\n        const exact = query(\"section, div, article, figure, img\").filter(matchesSources);\\n        candidates = exact.filter((node) => !exact.some((other) => other !== node && node.contains(other)));\\n      }\\n      // Framer may strip a CMS list\\'s node/name markers in Preview and on the\\n      // published site. Match visible collection assets, including filtered or\\n      // paginated subsets, rather than depending on editor-only attributes.\\n      if (!candidates.length && target.cms) {\\n        const cmsSources = new Set((target.cms.items || []).filter((item) => item.type === \"image\" && item.src).map((item) => canonicalMediaUrl(item.src)));\\n        if (cmsSources.size) {\\n          const scored = query(\"section, div, article, figure, img\").map((node) => {\\n            const actual = new Set(collectImagesFromContainer(node).filter((item) => item.type === \"image\").map((item) => canonicalMediaUrl(item.src)));\\n            const count = actual.size && Array.from(actual).every((source) => cmsSources.has(source)) ? actual.size : 0;\\n            return { node, count };\\n          }).filter((entry) => entry.count > 0);\\n          const maximum = scored.reduce((count, entry) => Math.max(count, entry.count), 0);\\n          const best = scored.filter((entry) => entry.count === maximum).map((entry) => entry.node);\\n          const innermost = best.filter((node) => !best.some((other) => other !== node && node.contains(other)));\\n          // Equal matches in separate lists are ambiguous. Preserve their own\\n          // behavior instead of attaching this configuration to both.\\n          if (innermost.length === 1) candidates = innermost;\\n        }\\n      }\\n      for (const candidate of candidates) {\\n        if (candidate === document.body || candidate === document.documentElement) continue;\\n        if (matched.has(candidate)) continue;\\n        matched.set(candidate, target);\\n        resolvedContainerTargets.set(candidate, target);\\n      }\\n    }\\n    return Array.from(matched.keys());\\n  }\\n\\n  function getTargetForContainer(container) {\\n    if (!container) return null;\\n    const resolvedTarget = resolvedContainerTargets.get(container);\\n    if (resolvedTarget) return resolvedTarget;\\n\\n    const framerId = container.getAttribute(\"data-framer-id\") || container.getAttribute(\"data-framer-node-id\") || \"\";\\n    const byId = scopedTargets.find((target) => target.id && target.id === framerId);\\n    if (byId) return byId;\\n\\n    const framerName = container.getAttribute(\"data-framer-name\") || \"\";\\n    const byName = scopedTargets.find((target) => target.name && normalizeLayerName(target.name) === normalizeLayerName(framerName));\\n    if (byName) return byName;\\n\\n    const elementId = container.id || \"\";\\n    return scopedTargets.find((target) => [\\n      target.id,\\n      target.name,\\n      target.name?.replace(/\\\\s+/g, \"\"),\\n      target.name?.replace(/\\\\s+/g, \"-\"),\\n      target.name?.toLowerCase().replace(/\\\\s+/g, \"-\"),\\n    ].filter(Boolean).includes(elementId)) || null;\\n  }\\n\\n  function getItemCaption(item, targetConfig, settings) {\\n    if (item.cmsTitle) return cleanText(item.cmsTitle);\\n    if (settings.captionSource === \"layer\") {\\n      return cleanText(item.layerLabel) || cleanText(targetConfig?.label) || cleanText(item.label);\\n    }\\n    return cleanText(item.label);\\n  }\\n\\n  function getCmsDetailHref(item, cms) {\\n    const prefix = cleanText(cms?.detailPagePath);\\n    const slug = cleanText(item?.cmsSlug);\\n    if (!prefix || !slug || !prefix.startsWith(\"/\") || prefix.startsWith(\"//\") || /[?#\\\\\\\\]/.test(prefix) || /[/?#\\\\\\\\]/.test(slug)) return \"\";\\n    try {\\n      if (new URL(prefix, window.location.href).origin !== window.location.origin) return \"\";\\n    } catch { return \"\"; }\\n    return (prefix.replace(/\\\\/+$/, \"\") || \"\") + \"/\" + encodeURIComponent(slug);\\n  }\\n\\n  function getMediaInfo(el) {\\n    if (!el) return null;\\n    const presentationVideo = getPresentationVideo(el);\\n    if (presentationVideo) return presentationVideo;\\n    if (el instanceof HTMLVideoElement) {\\n      const source = getHtmlVideoSource(el);\\n      return source ? { type: \"video\", src: source } : null;\\n    }\\n    if (el instanceof HTMLIFrameElement) {\\n      const source = getIframeSource(el);\\n      if (isVideoUrl(source)) return { type: \"video\", src: normalizeVideoUrl(source) };\\n    }\\n    if (el instanceof HTMLAnchorElement && isVideoUrl(el.href)) return { type: \"video\", src: normalizeVideoUrl(el.href) };\\n    if (el instanceof HTMLImageElement) {\\n      const source = getImageSource(el);\\n      return source ? { type: \"image\", src: source } : null;\\n    }\\n    // Inspect this element only. A gallery is not itself its first child video.\\n    const style = window.getComputedStyle(el);\\n    const bg = style.backgroundImage || \"\";\\n    const match = bg.match(/url\\\\(([\\'\"]?)(.*?)\\\\1\\\\)/);\\n    if (match) return { type: \"image\", src: match[2] };\\n    return null;\\n  }\\n\\n  function resolveImageLabel(value, el, seen = new Set()) {\\n    const text = cleanText(value);\\n    // Framer can emit a CMS alt binding as a CSS variable in the DOM.\\n    // Resolve its inherited value; an unset binding is not a caption.\\n    const binding = text.match(/^var\\\\(\\\\s*(--[\\\\w-]+)\\\\s*(?:,([\\\\s\\\\S]*))?\\\\)$/);\\n    if (!binding) return text;\\n    const name = binding[1];\\n    if (seen.has(name) || seen.size >= 16) return \"\";\\n    const nextSeen = new Set(seen);\\n    nextSeen.add(name);\\n    const resolved = cleanText(window.getComputedStyle(el).getPropertyValue(name));\\n    const raw = resolved || cleanText(binding[2]);\\n    const unquoted = raw.length >= 2 && ((raw.startsWith(\\'\"\\') && raw.endsWith(\\'\"\\')) || (raw.startsWith(\"\\'\") && raw.endsWith(\"\\'\")))\\n      ? raw.slice(1, -1) : raw;\\n    return resolveImageLabel(unquoted, el, nextSeen);\\n  }\\n\\n  function getImageLabel(el) {\\n    if (!el) return \"\";\\n    const image = el instanceof HTMLImageElement ? el : el.querySelector && el.querySelector(\"img\");\\n    const source = image instanceof HTMLImageElement ? image : el;\\n    if (!(source instanceof Element)) return \"\";\\n    return resolveImageLabel(source.getAttribute(\"alt\"), source)\\n      || resolveImageLabel(source.getAttribute(\"aria-label\"), source)\\n      || resolveImageLabel(source.getAttribute(\"title\"), source);\\n  }\\n\\n  function getLayerLabel(el, container) {\\n    if (!(el instanceof Element)) return \"\";\\n    let current = el;\\n    while (current && current !== container) {\\n      const name = cleanText(current.getAttribute(\"data-framer-name\"));\\n      if (name) return name;\\n      current = current.parentElement;\\n    }\\n    return \"\";\\n  }\\n\\n  function canonicalMediaUrl(value) {\\n    try { const url = new URL(value, window.location.href); return url.origin + url.pathname; } catch { return value; }\\n  }\\n\\n  function collectImagesFromContainer(container, deduplicate = true) {\\n    if (!container) return [];\\n    const seen = new Map();\\n    const configuredHosts = getConfiguredVideoHosts(container);\\n    const videoHosts = [];\\n    const candidates = [container, ...container.querySelectorAll(\"div, article, figure, a, button, picture, span, img, video, iframe\")];\\n    for (const el of candidates) {\\n      if (el.closest(\".cls-lightbox-iframe-hit-target, .glightbox-container\")) continue;\\n      if (videoHosts.some((host) => host.contains(el))) continue;\\n      const configuredUrl = configuredHosts.get(el);\\n      // Live sources take precedence once a lazy player mounts or changes URL.\\n      const liveVideo = configuredUrl\\n        ? Array.from(el.querySelectorAll(\"video, iframe\")).map(getMediaInfo).find((media) => media?.type === \"video\")\\n        : null;\\n      const media = configuredUrl\\n        ? liveVideo || { type: \"video\", src: normalizeVideoUrl(configuredUrl) }\\n        : getMediaInfo(el);\\n      if (media?.type === \"video\") videoHosts.push(el);\\n      if (!media) continue;\\n      const key = deduplicate ? media.src : el;\\n      if (seen.has(key)) continue;\\n      const rect = el.getBoundingClientRect();\\n      if (rect.width < 40 || rect.height < 40) continue;\\n      const cmsItems = getTargetForContainer(container)?.cms?.items || [];\\n      const matches = cmsItems.filter((item) => item.type === media.type && canonicalMediaUrl(item.src) === canonicalMediaUrl(media.src));\\n      // A reused CMS image may belong to multiple records. Avoid giving it\\n      // another record\\'s caption or destination when the mapping is ambiguous.\\n      const mapped = matches.length === 1 ? matches[0] : null;\\n      seen.set(key, { element: el, src: media.src, type: media.type, label: getImageLabel(el), layerLabel: getLayerLabel(el, container), container, cmsTitle: mapped?.title || \"\", cmsDescription: mapped?.description || \"\", cmsSlug: mapped?.slug || \"\" });\\n    }\\n    return Array.from(seen.values());\\n  }\\n\\n  function addCmsVideoSlides(container, items) {\\n    const cmsItems = getTargetForContainer(container)?.cms?.items || [];\\n    if (!cmsItems.length || !items.length) return items;\\n    const cmsVideos = cmsItems.filter((item) => item?.type === \"video\" && item.src && cleanText(item.slug));\\n    if (!cmsVideos.length) return items;\\n\\n    const replacements = new Map();\\n    const replacedSlugs = new Set();\\n    const pairedVideoUrls = new Set();\\n    for (const item of items) {\\n      const slug = cleanText(item.cmsSlug);\\n      if (item.type !== \"image\" || !slug || replacedSlugs.has(slug)) continue;\\n      const matchingVideos = cmsVideos.filter((video) => cleanText(video.slug) === slug);\\n      if (matchingVideos.length !== 1) continue;\\n      const video = matchingVideos[0];\\n      const videoUrl = canonicalMediaUrl(video.src);\\n      if (!videoUrl) continue;\\n      replacements.set(item, {\\n        ...item,\\n        src: video.src,\\n        type: \"video\",\\n        poster: item.src,\\n        cmsTitle: cleanText(video.title) || item.cmsTitle,\\n        cmsDescription: cleanText(video.description) || item.cmsDescription,\\n      });\\n      replacedSlugs.add(slug);\\n      pairedVideoUrls.add(videoUrl);\\n    }\\n\\n    if (!replacements.size) return items;\\n    return items.flatMap((item) => {\\n      const replacement = replacements.get(item);\\n      if (replacement) return [replacement];\\n      if (item.type === \"video\" && (replacedSlugs.has(cleanText(item.cmsSlug)) || pairedVideoUrls.has(canonicalMediaUrl(item.src)))) return [];\\n      return [item];\\n    });\\n  }\\n  function getConfiguredVideoHosts(container) {\\n    const hosts = new Map();\\n    const videos = getTargetForContainer(container)?.videos || [];\\n    const candidates = [container, ...container.querySelectorAll(\"[data-framer-name], [data-framer-id], [data-framer-node-id]\")];\\n    for (const video of videos) {\\n      const byId = candidates.filter((el) =>\\n        video.id && [el.id, el.getAttribute(\"data-framer-id\"), el.getAttribute(\"data-framer-node-id\")].includes(video.id));\\n      const matches = byId.length ? byId : candidates.filter((el) => {\\n        if (!video.name || normalizeLayerName(el.getAttribute(\"data-framer-name\")) !== normalizeLayerName(video.name)) return false;\\n        const names = [];\\n        for (let current = el; current && current !== container; current = current.parentElement) {\\n          const name = current.getAttribute(\"data-framer-name\");\\n          if (name) names.unshift(normalizeLayerName(name));\\n        }\\n        return JSON.stringify(names) === JSON.stringify((video.path || []).map(normalizeLayerName));\\n      });\\n      // Ambiguous names must never attach one child\\'s source to another child.\\n      if (matches.length === 1) hosts.set(matches[0], video.url);\\n    }\\n    return hosts;\\n  }\\n\\n  function findContainerForClick(target) {\\n    if (!(target instanceof Element)) return null;\\n    let containers = Array.from(observedContainers).filter((container) => container.isConnected);\\n    if (!containers.some((container) => container.contains(target))) {\\n      discoverNearElement(target);\\n      containers = Array.from(observedContainers).filter((container) => container.isConnected);\\n    }\\n    if (!containers.length) return null;\\n    let bestContainer = null;\\n    let bestDepth = -1;\\n    for (const container of containers) {\\n      if (!container.contains(target)) continue;\\n      let depth = 0;\\n      let node = container;\\n      while (node && node !== document.body) {\\n        depth++;\\n        node = node.parentElement;\\n      }\\n      if (depth > bestDepth) {\\n        bestDepth = depth;\\n        bestContainer = container;\\n      }\\n    }\\n    return bestContainer;\\n  }\\n\\n  function findImageCardForTarget(target, container) {\\n    if (!(target instanceof Element) || !container) return null;\\n    const items = collectImagesFromContainer(container, false);\\n    for (let current = target; current; current = current.parentElement) {\\n      const item = items.find((candidate) => candidate.element === current);\\n      if (item) return item;\\n      if (current === container) break;\\n      if (getTargetForContainer(container)?.cms && !target.closest(\"button, [role=\\'button\\']\")) {\\n        const cardItems = items.filter((candidate) => current.contains(candidate.element));\\n        if (cardItems.length === 1) return cardItems[0];\\n      }\\n    }\\n    return null;\\n  }\\n\\n  function getClickedItem(target) {\\n    if (!(target instanceof Element)) return null;\\n    if (target.closest(\".glightbox-container\")) return null;\\n    if (!scopedNames.size && !scopedIds.size) return null;\\n    const overlay = target.closest(\".cls-lightbox-iframe-hit-target\");\\n    if (overlay) return Array.from(iframeHitTargets).find((record) => record.overlay === overlay)?.item || null;\\n    if (target.closest(\"input, select, textarea, summary\")) return null;\\n    const container = findContainerForClick(target);\\n    if (!container) return null;\\n    const item = findImageCardForTarget(target, container);\\n    if (item) return item;\\n    // Leave unrelated links/buttons alone, but allow a video\\'s own play button.\\n    if (target.closest(\"a, button, [role=\\'button\\']\")) return null;\\n    const targetConfig = getTargetForContainer(container);\\n    const openBehavior = targetConfig?.settings?.openBehavior || CONFIG.settings.openBehavior || \"image\";\\n    if (openBehavior === \"layer\") {\\n      const firstItem = collectImagesFromContainer(container)[0];\\n      if (firstItem) return { ...firstItem, container };\\n    }\\n    return null;\\n  }\\n\\n  function getLightboxEffects(settings) {\\n    if (window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) return { openEffect: \"none\", closeEffect: \"none\", slideEffect: \"none\" };\\n    const animation = cleanText(settings.animation).toLowerCase();\\n    if (animation === \"none\") return { openEffect: \"none\", closeEffect: \"none\", slideEffect: \"none\" };\\n    if (animation.includes(\"slide\") || animation.includes(\"sweep\")) {\\n      return { openEffect: \"slide\", closeEffect: \"slide\", slideEffect: \"slide\" };\\n    }\\n    if (animation.includes(\"zoom\") || animation.includes(\"tilt\") || animation.includes(\"rise\") || animation.includes(\"float\")) {\\n      return { openEffect: \"zoom\", closeEffect: \"zoom\", slideEffect: \"zoom\" };\\n    }\\n    return { openEffect: \"fade\", closeEffect: \"fade\", slideEffect: \"fade\" };\\n  }\\n\\n  function buildGalleryElements(activeItems, targetConfig, settings) {\\n    return activeItems.map(item => {\\n      const captionMode = settings.captionMode || \"footer\";\\n      const rawCmsContentMode = targetConfig?.cms?.contentMode;\\n      const cmsContentMode = rawCmsContentMode === \"title\" || rawCmsContentMode === \"description\" ? rawCmsContentMode : \"both\";\\n      const label = cmsContentMode === \"description\" ? \"\" : getItemCaption(item, targetConfig, settings);\\n      const cmsLayout = targetConfig?.cms?.layout === \"split\" ? \"split\" : \"standard\";\\n      const cmsDescription = cmsContentMode === \"title\" ? \"\" : cleanText(item.cmsDescription);\\n      const hasCmsContent = Boolean(label || cmsDescription);\\n      const detailHref = getCmsDetailHref(item, targetConfig?.cms);\\n      const detailButtonLabel = cleanText(targetConfig?.cms?.detailButtonLabel) || \"View project\";\\n      const detailButtonMarkup = detailHref && targetConfig?.cms?.showDetailButton === true\\n        ? \\'<a class=\"cls-gl-cms-detail-link\" href=\"\\' + escapeHtml(detailHref) + \\'\">\\' + escapeHtml(detailButtonLabel) + \\'</a>\\'\\n        : \"\";\\n\\n      let description = \"\";\\n      if (cmsLayout === \"split\" && (hasCmsContent || detailButtonMarkup)) {\\n        const titleMarkup = label ? \\'<h2 class=\"cls-gl-cms-title\">\\' + escapeHtml(label) + \\'</h2>\\' : \"\";\\n        const descriptionMarkup = cmsDescription ? \\'<p class=\"cls-gl-cms-description\">\\' + escapeHtml(cmsDescription).replace(/\\\\n/g, \"<br>\") + \\'</p>\\' : \"\";\\n        description = \\'<div class=\"cls-gl-cms-panel cls-gl-cms-split\">\\' + titleMarkup + descriptionMarkup + detailButtonMarkup + \\'</div>\\';\\n      } else if ((hasCmsContent && captionMode !== \"hidden\") || detailButtonMarkup) {\\n        const captionClass = captionMode === \"footer\" ? \"cls-gl-caption-footer\" : captionMode === \"overlay\" ? \"cls-gl-caption-overlay\" : \"cls-gl-caption-floating\";\\n        const titleMarkup = captionMode !== \"hidden\" && label ? \\'<p>\\' + escapeHtml(label) + \\'</p>\\' : \"\";\\n        const descriptionMarkup = captionMode !== \"hidden\" && cmsDescription\\n          ? \\'<p class=\"cls-gl-cms-description\">\\' + escapeHtml(cmsDescription).replace(/\\\\n/g, \"<br>\") + \\'</p>\\'\\n          : \"\";\\n        description = \\'<div class=\"cls-gl-caption \\' + captionClass + \\'\">\\' + titleMarkup + descriptionMarkup + detailButtonMarkup + \\'</div>\\';\\n      }\\n\\n      const href = item.type === \"video\" ? normalizeVideoUrl(item.src) : item.src;\\n      const isVideo = item.type === \"video\" || item.type === \"iframe\";\\n      const element = {\\n        href,\\n        type: isVideo ? \"video\" : item.type,\\n      };\\n      if (isVideo) element.source = getVideoSource(href);\\n      if (isVideo && item.poster) element.poster = item.poster;\\n      if (description) element.description = description;\\n      return element;\\n    });\\n  }\\n\\n  function openOverlay(clickedItem) {\\n    if (!window.GLightbox) return;\\n    const container = clickedItem.container || findContainerForClick(clickedItem.element);\\n    const targetConfig = getTargetForContainer(container);\\n    const settings = targetConfig?.settings || CONFIG.settings || {};\\n    currentGallerySettings = settings;\\n    let activeItems = container ? collectImagesFromContainer(container) : [];\\n    if (container) activeItems = addCmsVideoSlides(container, activeItems);\\n    if (!activeItems.length && clickedItem.src) {\\n      activeItems = [clickedItem];\\n    }\\n    if (!activeItems.length) return;\\n\\n    const activeIndex = Math.max(0, activeItems.findIndex((item) => item.src === clickedItem.src || item.poster === clickedItem.src));\\n    applyLightboxSettings(settings, activeItems.length);\\n    const effects = getLightboxEffects(settings);\\n\\n    const elements = buildGalleryElements(activeItems, targetConfig, settings);\\n\\n    clearLightboxEnhancements();\\n    if (lightboxInstance) {\\n      lightboxInstance.destroy();\\n    }\\n\\n    lightboxInstance = window.GLightbox({\\n      elements: elements,\\n      startAt: activeIndex,\\n      touchNavigation: settings.enableSwipe !== false,\\n      draggable: settings.enableSwipe !== false,\\n      zoomable: false,\\n      loop: settings.loopNavigation !== false,\\n      keyboardNavigation: settings.keyboardNavigation !== false,\\n      closeOnOutsideClick: settings.closeOnOverlayClick !== false,\\n      autoplayVideos: true,\\n      // Framer\\'s sandbox does not grant allow-presentation to generated\\n      // iframes. Keep the player usable without invoking PresentationRequest.\\n      plyr: {\\n        config: {\\n          fullscreen: {\\n            enabled: false,\\n            iosNative: false,\\n          },\\n        },\\n      },\\n      openEffect: effects.openEffect,\\n      closeEffect: effects.closeEffect,\\n      slideEffect: effects.slideEffect,\\n    });\\n\\n    lightboxInstance.on(\"open\", () => {\\n        const container = document.querySelector(\".glightbox-container\");\\n        if (!container) return;\\n\\n        configureVideoFrames(container);\\n        const currentSlide = container.querySelector(\".gslide.current\");\\n        const localVideo = currentSlide?.querySelector(\"video.gvideo-local\");\\n        const currentPoster = activeItems[activeIndex]?.poster;\\n        if (localVideo && currentPoster) localVideo.setAttribute(\"poster\", currentPoster);\\n        applyArrowIcons(container, settings);\\n        bindLightboxEnhancements(container, settings, activeItems);\\n        startGalleryAutoplay(settings, elements.length);\\n        container.setAttribute(\"role\", \"dialog\");\\n        container.setAttribute(\"aria-modal\", \"true\");\\n        container.setAttribute(\"aria-label\", \"Media gallery\");\\n        container.querySelector(\".gclose\")?.focus({ preventScroll: true });\\n        if (settings.showThumbnails === false || elements.length <= 1) return;\\n\\n        let thumbsContainer = container.querySelector(\".cls-lightbox-thumbs-container\");\\n        if (!thumbsContainer) {\\n            thumbsContainer = document.createElement(\"div\");\\n            thumbsContainer.className = \"cls-lightbox-thumbs-container\";\\n            container.appendChild(thumbsContainer);\\n        }\\n\\n        thumbsContainer.innerHTML = \"\";\\n        elements.forEach((item, i) => {\\n            const btn = document.createElement(\"button\");\\n            btn.type = \"button\";\\n            btn.className = \"cls-lightbox-thumb-btn\";\\n            if (i === activeIndex) btn.classList.add(\"active\");\\n            const label = cleanText(activeItems[i]?.label) || \"item \" + (i + 1);\\n            setThumbnailImage(btn, getThumbnailSource(activeItems[i]), label);\\n            btn.setAttribute(\"aria-label\", \"Open \" + label);\\n            btn.onclick = (e) => {\\n                e.stopPropagation();\\n                if (lightboxInstance) lightboxInstance.goToSlide(i);\\n            };\\n            thumbsContainer.appendChild(btn);\\n        });\\n    });\\n\\n    lightboxInstance.on(\"slide_after_load\", ({ current }) => {\\n        const slide = current?.slideNode || document.querySelector(\".glightbox-container\");\\n        configureVideoFrames(slide);\\n        const videoIndex = getCurrentSlideIndex(0);\\n        const localVideo = slide?.querySelector(\"video.gvideo-local\");\\n        const poster = activeItems[videoIndex]?.poster;\\n        if (localVideo && poster) localVideo.setAttribute(\"poster\", poster);\\n    });\\n\\n    lightboxInstance.on(\"slide_changed\", ({ current }) => {\\n        if (zoomedMedia) {\\n            zoomedMedia.classList.remove(\"cls-gl-zoomed\");\\n            zoomedMedia = null;\\n        }\\n        if (enhancementContainer) renderLightboxToolbar(enhancementContainer, settings, activeItems);\\n        if (settings.showThumbnails === false || elements.length <= 1) return;\\n        const currentIdx = getCurrentSlideIndex(0);\\n        const thumbs = document.querySelectorAll(\".glightbox-container .cls-lightbox-thumb-btn\");\\n        thumbs.forEach((t, i) => {\\n            if (i === currentIdx) {\\n                t.classList.add(\"active\");\\n                t.scrollIntoView({ behavior: window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? \"auto\" : \"smooth\", block: \"nearest\", inline: \"center\" });\\n            } else {\\n                t.classList.remove(\"active\");\\n            }\\n        });\\n    });\\n\\n    lightboxInstance.on(\"close\", () => {\\n        clearLightboxEnhancements();\\n        updatePreview = null;\\n        currentGallerySettings = null;\\n        if (clickedItem.element?.isConnected) clickedItem.element.focus({ preventScroll: true });\\n    });\\n\\n    updatePreview = (nextSettings) => {\\n      Object.assign(settings, nextSettings);\\n      applyLightboxSettings(settings, activeItems.length);\\n      const gallery = document.querySelector(\".glightbox-container\");\\n      if (!gallery) return;\\n      const updatedElements = buildGalleryElements(activeItems, targetConfig, settings);\\n      const slides = gallery.querySelectorAll(\".gslide\");\\n      updatedElements.forEach((item, index) => {\\n        const stored = lightboxInstance.elements?.[index];\\n        if (stored?.slideConfig) stored.slideConfig.description = item.description || \"\";\\n        const slide = slides[index];\\n        const inner = slide?.querySelector(\".ginner-container\");\\n        if (!inner || !slide.classList.contains(\"loaded\")) return;\\n        let description = inner.querySelector(\".gslide-description\");\\n        if (!item.description) { description?.remove(); return; }\\n        if (!description) {\\n          description = document.createElement(\"div\");\\n          description.className = \"gslide-description description-bottom\";\\n          inner.appendChild(description);\\n        }\\n        description.innerHTML = \\'<div class=\"gdesc-inner\"><div class=\"gslide-desc\">\\' + item.description + \\'</div></div>\\';\\n      });\\n      Object.assign(lightboxInstance.settings, { loop: settings.loopNavigation !== false, touchNavigation: settings.enableSwipe !== false, draggable: settings.enableSwipe !== false, keyboardNavigation: settings.keyboardNavigation !== false, closeOnOutsideClick: settings.closeOnOverlayClick !== false, ...getLightboxEffects(settings) });\\n      applyArrowIcons(gallery, settings);\\n      bindLightboxEnhancements(gallery, settings, activeItems);\\n      startGalleryAutoplay(settings, activeItems.length);\\n      let thumbs = gallery.querySelector(\".cls-lightbox-thumbs-container\");\\n      if (settings.showThumbnails === false || activeItems.length <= 1) { thumbs?.remove(); return; }\\n      if (!thumbs) {\\n        thumbs = document.createElement(\"div\");\\n        thumbs.className = \"cls-lightbox-thumbs-container\";\\n        gallery.appendChild(thumbs);\\n      }\\n      thumbs.replaceChildren();\\n      activeItems.forEach((item, index) => {\\n        const button = document.createElement(\"button\");\\n        button.type = \"button\";\\n        button.className = \"cls-lightbox-thumb-btn\" + (getCurrentSlideIndex(0) === index ? \" active\" : \"\");\\n        button.setAttribute(\"aria-label\", \"Open item \" + (index + 1));\\n        setThumbnailImage(button, getThumbnailSource(item), item.label || \"item \" + (index + 1));\\n        button.onclick = () => lightboxInstance.goToSlide(index);\\n        thumbs.appendChild(button);\\n      });\\n    };\\n    lightboxInstance.open();\\n  }\\n\\n  function onPreviewMessage(event) {\\n    if (!CONFIG.previewSessionId || event.source !== window.parent || event.data?.sessionId !== CONFIG.previewSessionId || event.data?.type !== \"layerbox-preview-settings\") return;\\n    const next = event.data.settings;\\n    if (!next || typeof next !== \"object\" || Array.isArray(next)) return;\\n    // This bridge exists only in the plugin\\'s isolated preview document.\\n    const target = CONFIG.selectionTargets[0];\\n    if (target) target.settings = next;\\n    CONFIG.settings = next;\\n    markTargets(Array.from(observedContainers));\\n    let fontStyle = document.getElementById(\"layerbox-preview-fonts\");\\n    if (!fontStyle) {\\n      fontStyle = document.createElement(\"style\");\\n      fontStyle.id = \"layerbox-preview-fonts\";\\n      document.head.appendChild(fontStyle);\\n    }\\n    fontStyle.textContent = typeof event.data.fontCss === \"string\" ? event.data.fontCss : \"\";\\n    updatePreview?.(next);\\n  }\\n\\n  function markTargets(containers) {\\n    const activeContainers = observedContainers.size\\n      ? Array.from(observedContainers).filter((container) => container?.isConnected)\\n      : containers;\\n    for (const element of markedTargets) {\\n      if (element.isConnected && activeContainers.some((container) => container.contains(element))) continue;\\n      element.removeAttribute(TARGET_MARK);\\n      element.classList.remove(\"cls-lightbox-target\", \"cls-lightbox-hide-zoom-cursor\");\\n      if (element.getAttribute(TARGET_TABINDEX_MARK) === \"true\") {\\n        element.removeAttribute(TARGET_TABINDEX_MARK);\\n        element.removeAttribute(\"tabindex\");\\n      }\\n      markedTargets.delete(element);\\n    }\\n    for (const record of iframeHitTargets) {\\n      if (record.frame.isConnected && record.parent === record.frame.parentElement &&\\n          activeContainers.some((container) => container.contains(record.frame))) continue;\\n      record.overlay.remove();\\n      record.resizeObserver?.disconnect();\\n      window.removeEventListener(\"resize\", record.sync);\\n      iframeHitTargets.delete(record);\\n      if (!Array.from(iframeHitTargets).some((other) => other.parent === record.parent)) {\\n        const position = iframeHitTargetParents.get(record.parent);\\n        if (position) {\\n          if (position.value) record.parent.style.setProperty(\"position\", position.value, position.priority);\\n          else record.parent.style.removeProperty(\"position\");\\n          iframeHitTargetParents.delete(record.parent);\\n        }\\n      }\\n    }\\n    for (const container of containers) {\\n      const items = collectImagesFromContainer(container, false);\\n      const settings = getTargetForContainer(container)?.settings || CONFIG.settings;\\n      const frames = [\\n        ...(container instanceof HTMLIFrameElement ? [container] : []),\\n        ...container.querySelectorAll(\"iframe\"),\\n      ];\\n      for (const frame of frames) {\\n        const source = normalizeVideoUrl(getIframeSource(frame));\\n        const item = items.find((candidate) => candidate.type === \"video\" &&\\n          (candidate.element === frame || candidate.element.contains(frame))) ||\\n          items.find((candidate) => candidate.type === \"video\" && candidate.src === source);\\n        ensureIframeHitTarget(frame, item);\\n      }\\n      for (const item of items) {\\n        const el = item.element;\\n        if (!(el instanceof HTMLElement)) continue;\\n        el.classList.toggle(\"cls-lightbox-hide-zoom-cursor\", settings.hideZoomCursor !== false);\\n        if (el.getAttribute(TARGET_MARK) === \"true\") {\\n          markedTargets.add(el);\\n          continue;\\n        }\\n        el.setAttribute(TARGET_MARK, \"true\");\\n        el.classList.add(\"cls-lightbox-target\");\\n        markedTargets.add(el);\\n        if (!el.hasAttribute(\"tabindex\")) {\\n          el.setAttribute(\"tabindex\", \"0\");\\n          el.setAttribute(TARGET_TABINDEX_MARK, \"true\");\\n        }\\n      }\\n    }\\n  }\\n\\n  function syncObservedContainers(containers) {\\n    observedContainers.clear();\\n    containers.forEach((container) => {\\n      if (container?.isConnected) observedContainers.add(container);\\n    });\\n\\n    containerObserver?.disconnect();\\n    if (!containerObserver) return;\\n    observedContainers.forEach((container) => {\\n      containerObserver.observe(container, {\\n        childList: true,\\n        subtree: true,\\n        attributes: true,\\n        attributeFilter: [\"src\", \"srcset\", \"data-src\", \"data-framer-src\", \"poster\", \"data-framer-name\", \"data-framer-id\", \"data-framer-node-id\", \"id\"],\\n      });\\n    });\\n    // Watch only direct children along managed galleries\\' ancestor chains.\\n    // This catches replacements without receiving every mutation on the page.\\n    discoveryObserver?.disconnect();\\n    const parents = new Set();\\n    observedContainers.forEach((container) => {\\n      for (let parent = container.parentElement; parent; parent = parent.parentElement) {\\n        if (parent === document.body || parent === document.documentElement) break;\\n        parents.add(parent);\\n      }\\n    });\\n    parents.forEach((parent) => {\\n      if (parent) discoveryObserver?.observe(parent, { childList: true });\\n    });\\n    if (scopedTargets.every((target) => Array.from(observedContainers).some((container) => resolvedContainerTargets.get(container) === target))) {\\n      if (discoveryRetryTimer !== null) window.clearTimeout(discoveryRetryTimer);\\n      discoveryRetryTimer = null;\\n    }\\n  }\\n\\n  function discoverNearElement(element) {\\n    if (!(element instanceof Element) || element.closest(\".glightbox-container\")) return;\\n    if (scopedTargets.every((target) => Array.from(observedContainers).some((container) => container.isConnected && resolvedContainerTargets.get(container) === target))) return;\\n    // Late hydration can be resolved on demand, without scanning unrelated\\n    // branches for every click or pointer movement.\\n    for (let candidate = element; candidate && candidate !== document.body; candidate = candidate.parentElement) {\\n      const name = normalizeLayerName(candidate.getAttribute(\"data-framer-name\"));\\n      const ids = [candidate.id, candidate.getAttribute(\"data-framer-id\"), candidate.getAttribute(\"data-framer-node-id\")];\\n      if (!scopedTargets.some((target) => (target.id && ids.includes(target.id)) ||\\n          (!ambiguousTargets.has(target) && ((target.name && normalizeLayerName(target.name) === name) ||\\n          (target.anchorName && normalizeLayerName(target.anchorName) === name))))) continue;\\n      const found = getScopedContainers(candidate);\\n      if (!found.length) continue;\\n      syncObservedContainers([...Array.from(observedContainers).filter((container) => container.isConnected), ...found]);\\n      markTargets(found);\\n      return;\\n    }\\n    const image = element instanceof HTMLImageElement ? element : element.parentElement?.querySelector(\"img\");\\n    const source = image ? canonicalMediaUrl(getImageSource(image)) : \"\";\\n    if (source && scopedTargets.some((target) => target.cms?.items?.some((item) => item.type === \"image\" && canonicalMediaUrl(item.src) === source))) {\\n      // A late CMS list may have neither marker. Perform one asset-based scan\\n      // on interaction, rather than adding page-wide observers or polling.\\n      const found = getScopedContainers();\\n      syncObservedContainers(found);\\n      markTargets(found);\\n    }\\n  }\\n\\n  function scheduleDiscoveryRetry() {\\n    if (runtimeDisposed || discoveryRetryTimer !== null || discoveryRetryIndex >= discoveryRetryDelays.length) return;\\n    if (scopedTargets.every((target) => Array.from(observedContainers).some((container) => resolvedContainerTargets.get(container) === target))) return;\\n    discoveryRetryTimer = window.setTimeout(() => {\\n      discoveryRetryTimer = null;\\n      if (runtimeDisposed) return;\\n      discoverAndMarkTargets();\\n      scheduleDiscoveryRetry();\\n    }, discoveryRetryDelays[discoveryRetryIndex++]);\\n  }\\n\\n  const onMediaLoad = (event) => {\\n    const element = event.target;\\n    if (!(element instanceof HTMLImageElement || element instanceof HTMLVideoElement || element instanceof HTMLIFrameElement)) return;\\n    const containers = Array.from(observedContainers).filter((container) => container.contains(element));\\n    if (containers.length) scheduleTargetRefresh(containers);\\n    else discoverNearElement(element);\\n  };\\n\\n  const onPageShow = (event) => {\\n    if (event.type === \"pageshow\" && !event.persisted) return;\\n    discoveryRetryIndex = 0;\\n    scheduleTargetRefresh(null, true);\\n    scheduleDiscoveryRetry();\\n  };\\n\\n  function discoverAndMarkTargets() {\\n    const containers = getScopedContainers();\\n    syncObservedContainers(containers);\\n    markTargets(containers);\\n    scheduleDiscoveryRetry();\\n  }\\n\\n  function flushTargetRefresh() {\\n    pendingTargetRefreshTimer = null;\\n    if (runtimeDisposed) return;\\n\\n    if (pendingFullDiscovery) {\\n      pendingFullDiscovery = false;\\n      pendingContainerRefreshes.clear();\\n      discoverAndMarkTargets();\\n      return;\\n    }\\n\\n    const containers = Array.from(pendingContainerRefreshes).filter((container) =>\\n      container?.isConnected && observedContainers.has(container));\\n    pendingContainerRefreshes.clear();\\n    if (containers.length) markTargets(containers);\\n  }\\n\\n  function scheduleTargetRefresh(containers, fullDiscovery = false) {\\n    if (runtimeDisposed) return;\\n    if (fullDiscovery) pendingFullDiscovery = true;\\n    if (containers) containers.forEach((container) => pendingContainerRefreshes.add(container));\\n    if (pendingTargetRefreshTimer !== null) return;\\n    // One refresh per frame-sized window keeps lazy media responsive while\\n    // coalescing Framer\\'s bursty DOM updates into a single discovery pass.\\n    pendingTargetRefreshTimer = window.setTimeout(flushTargetRefresh, 16);\\n  }\\n\\n  function nodeMayContainScopedTarget(node) {\\n    if (!(node instanceof Element)) return false;\\n    const candidates = [node, ...node.querySelectorAll(\"[data-framer-name], [data-framer-id], [data-framer-node-id], [id]\")];\\n    return candidates.some((candidate) => {\\n      const id = candidate.id || candidate.getAttribute(\"data-framer-id\") || candidate.getAttribute(\"data-framer-node-id\") || \"\";\\n      const name = normalizeLayerName(candidate.getAttribute(\"data-framer-name\"));\\n      return scopedTargets.some((target) =>\\n        (target.id && target.id === id) ||\\n        (target.name && normalizeLayerName(target.name) === name) ||\\n        (target.anchorName && normalizeLayerName(target.anchorName) === name));\\n    });\\n  }\\n\\n  function onDiscoveryMutations(mutations) {\\n    for (const mutation of mutations) {\\n      const changedInsideContainer = Array.from(observedContainers).some((container) =>\\n        container === mutation.target || container.contains(mutation.target));\\n      if (changedInsideContainer) continue;\\n\\n      const removedObservedContainer = Array.from(mutation.removedNodes).some((node) =>\\n        node instanceof Element && Array.from(observedContainers).some((container) => node === container || node.contains(container)));\\n      const addedScopedTarget = Array.from(mutation.addedNodes).some(nodeMayContainScopedTarget);\\n      if (removedObservedContainer || addedScopedTarget) {\\n        scheduleTargetRefresh(null, true);\\n        return;\\n      }\\n    }\\n  }\\n\\n  function onContainerMutations(mutations) {\\n    const containers = new Set();\\n    for (const mutation of mutations) {\\n      const container = Array.from(observedContainers).find((candidate) =>\\n        candidate === mutation.target || candidate.contains(mutation.target));\\n      if (!container) continue;\\n      if (mutation.type === \"attributes\" && mutation.target === container &&\\n          [\"data-framer-name\", \"data-framer-id\", \"data-framer-node-id\", \"id\"].includes(mutation.attributeName)) {\\n        scheduleTargetRefresh(null, true);\\n        return;\\n      }\\n      containers.add(container);\\n    }\\n    scheduleTargetRefresh(containers);\\n  }\\n\\n  const onDocumentClick = (event) => {\\n    if (event.target instanceof Element && event.target.closest(\".glightbox-container\")) return;\\n    const item = getClickedItem(event.target);\\n    if (!item) return;\\n    const openBehavior = getTargetForContainer(item.container)?.settings?.openBehavior || CONFIG.settings.openBehavior || \"image\";\\n    if (openBehavior === \"hover\") return;\\n    event.preventDefault();\\n    event.stopPropagation();\\n    openOverlay(item);\\n  };\\n\\n  const onDocumentMouseOver = (event) => {\\n    if (!scopedTargets.some((target) => (target.settings?.openBehavior || CONFIG.settings.openBehavior) === \"hover\")) return;\\n    if (event.target instanceof Element && event.target.closest(\".glightbox-container\")) return;\\n    const item = getClickedItem(event.target);\\n    if (!item) return;\\n    const openBehavior = getTargetForContainer(item.container)?.settings?.openBehavior || CONFIG.settings.openBehavior || \"image\";\\n    if (openBehavior !== \"hover\") return;\\n    if (item.element instanceof Element && event.relatedTarget instanceof Node && item.element.contains(event.relatedTarget)) return;\\n    openOverlay(item);\\n  };\\n\\n  const onDocumentKeyDown = (event) => {\\n    const gallery = document.querySelector(\".glightbox-container\");\\n    if (gallery) {\\n      if (event.key === \"Tab\") {\\n        const controls = Array.from(gallery.querySelectorAll(\\'button, a[href], input, select, textarea, iframe, [tabindex=\"0\"]\\')).filter((control) => {\\n          const slide = control.closest(\".gslide\");\\n          return !control.disabled && control.getAttribute(\"aria-hidden\") !== \"true\" && (!slide || slide.classList.contains(\"current\")) && control.getClientRects().length && getComputedStyle(control).visibility !== \"hidden\";\\n        });\\n        event.preventDefault();\\n        event.stopImmediatePropagation();\\n        const index = controls.indexOf(document.activeElement);\\n        const next = event.shiftKey ? (index <= 0 ? controls.length - 1 : index - 1) : (index + 1) % controls.length;\\n        controls[next]?.focus({ preventScroll: true });\\n      } else if (currentGallerySettings?.keyboardNavigation !== false && [\"Escape\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)) {\\n        if (event.target instanceof Element && event.target.closest(\"input, textarea, select, [contenteditable=\\'true\\']\")) { event.stopPropagation(); return; }\\n        event.preventDefault();\\n        event.stopImmediatePropagation();\\n        if (event.key === \"Escape\") lightboxInstance?.close();\\n        else if (event.key === \"ArrowRight\") lightboxInstance?.nextSlide();\\n        else lightboxInstance?.prevSlide();\\n      }\\n      return;\\n    }\\n    if (event.key !== \"Enter\" && event.key !== \" \") return;\\n    if (event.target instanceof Element && event.target.closest(\".glightbox-container\")) return;\\n    const item = getClickedItem(event.target);\\n    if (!item) return;\\n    event.preventDefault();\\n    openOverlay(item);\\n  };\\n\\n  function startGLightboxRuntime() {\\n    if (runtimeDisposed || runtimeStarted || !window.GLightbox) return;\\n    runtimeStarted = true;\\n    if (CONFIG.previewSessionId) window.addEventListener(\"message\", onPreviewMessage);\\n    stopGLightboxLoading();\\n    document.addEventListener(\"click\", onDocumentClick, true);\\n    document.addEventListener(\"mouseover\", onDocumentMouseOver, true);\\n    document.addEventListener(\"keydown\", onDocumentKeyDown, true);\\n    document.addEventListener(\"load\", onMediaLoad, true);\\n    window.addEventListener(\"pageshow\", onPageShow);\\n    window.addEventListener(\"popstate\", onPageShow);\\n    containerObserver = new MutationObserver(onContainerMutations);\\n    discoveryObserver = new MutationObserver(onDiscoveryMutations);\\n    discoverAndMarkTargets();\\n    scheduleDiscoveryRetry();\\n  }\\n\\n  const initGLightbox = () => {\\n    if (runtimeDisposed || runtimeStarted) return;\\n    if (window.GLightbox) {\\n      startGLightboxRuntime();\\n      return;\\n    }\\n\\n    if (glightboxLoadTimeout === null) {\\n      glightboxLoadTimeout = window.setTimeout(() => {\\n        if (!window.GLightbox) stopGLightboxLoading();\\n      }, 15000);\\n    }\\n  };\\n\\n  if (!window.GLightbox) {\\n    let script = document.querySelector(\\'script[data-layerbox-glightbox]\\');\\n    if (!script) {\\n      script = document.createElement(\"script\");\\n      script.setAttribute(\"data-layerbox-glightbox\", \"true\");\\n      script.textContent = BUNDLED_GLIGHTBOX_JS;\\n      document.body.appendChild(script);\\n    }\\n    glightboxScript = script;\\n    glightboxLoadHandler = initGLightbox;\\n    script.addEventListener(\"load\", glightboxLoadHandler);\\n    initGLightbox(); // Inline bundled scripts execute synchronously; external ones emit load.\\n  } else {\\n    initGLightbox();\\n  }\\n\\n})();';const CONFIG='{\"selectionNames\":[\"Project collection\"],\"selectionTargets\":[{\"id\":\"qzQBMGzww\",\"name\":\"Project collection\",\"label\":\"Project collection \\xb7 CMS\",\"anchorName\":\"Selected work\",\"childPath\":[1],\"cms\":{\"imageFieldId\":\"bWM6Wyze0\",\"videoFieldId\":\"\",\"titleFieldId\":\"IoXu1tBV4\",\"descriptionFieldId\":\"TyXXtXTBc\",\"detailPagePath\":\"/work/\",\"detailButtonLabel\":\"View project\",\"showDetailButton\":true,\"layout\":\"split\",\"contentMode\":\"both\",\"collectionId\":\"WSzeVjnM3\",\"collectionName\":\"Projects\",\"items\":[{\"src\":\"https://framerusercontent.com/images/AOnFRqhAC0DQaPB7s7BveDbgK34.png\",\"type\":\"image\",\"title\":\"Cobalt orb\",\"slug\":\"cobalt-orb\",\"description\":\"Ivory tailoring and a blue glass orb against a deep cobalt backdrop.\"},{\"src\":\"https://framerusercontent.com/images/v5MeDSVESeIfGRMR8vO2MS96lNY.png\",\"type\":\"image\",\"title\":\"Chrome bloom\",\"slug\":\"chrome-bloom\",\"description\":\"Chrome fragrance, warm stone, and the curve of an orange calla lily.\"},{\"src\":\"https://framerusercontent.com/images/ijU95QmhrDsoKPaZGAKz2rTuFU.png\",\"type\":\"image\",\"title\":\"Tangerine stride\",\"slug\":\"tangerine-stride\",\"description\":\"Tangerine tailoring in motion through a pale blue architectural set.\"},{\"src\":\"https://framerusercontent.com/images/2wSBnEOp8l0xtF4EoSv2BUzdtY.png\",\"type\":\"image\",\"title\":\"Glasswave\",\"slug\":\"glasswave\",\"description\":\"Emerald eyewear on wet slate with water and reflected light.\"},{\"src\":\"https://framerusercontent.com/images/UgBO3PtivSsn0GSkmEam170TQQ.png\",\"type\":\"image\",\"title\":\"Crimson drape\",\"slug\":\"crimson-drape\",\"description\":\"Crimson satin caught in motion against a quiet studio backdrop.\"},{\"src\":\"https://framerusercontent.com/images/Evh1ig1wpvyb7moKMhKaE5fi4.png\",\"type\":\"image\",\"title\":\"Butter yellow\",\"slug\":\"butter-yellow\",\"description\":\"Butter-yellow leather and a curved handle on burgundy lacquer.\"},{\"src\":\"https://framerusercontent.com/images/WfSj29EWdPuTbT5qShhk6EAr8g.png\",\"type\":\"image\",\"title\":\"Electric pleats\",\"slug\":\"electric-pleats\",\"description\":\"Electric blue pleats under open sky and sharp concrete lines.\"},{\"src\":\"https://framerusercontent.com/images/HzjGbU4XQqv2KgBQnvLs1gVsrOU.png\",\"type\":\"image\",\"title\":\"Pearl circuitry\",\"slug\":\"pearl-circuitry\",\"description\":\"Pearl-white headphones balanced on a dark stone arc.\"},{\"src\":\"https://framerusercontent.com/images/e7eCLqyk8cnO51Qc0wjzYDn0Eb4.png\",\"type\":\"image\",\"title\":\"Lilac veil\",\"slug\":\"lilac-veil\",\"description\":\"Lilac organza and copper curls in a soft editorial portrait.\"},{\"src\":\"https://framerusercontent.com/images/iXfysjjKbtYVn3xTwVmCmJuzPDQ.png\",\"type\":\"image\",\"title\":\"Orange orbit\",\"slug\":\"orange-orbit\",\"description\":\"Amber glass and curled citrus peel in warm afternoon light.\"},{\"src\":\"https://framerusercontent.com/images/wMXrPjNagsffwZmPR1Dsmknf6s.png\",\"type\":\"image\",\"title\":\"Mint silhouette\",\"slug\":\"mint-silhouette\",\"description\":\"Mint tailoring framed by a deep forest-green studio.\"},{\"src\":\"https://framerusercontent.com/images/1uhxN9ujG5wxkRZBAcO3NJk6iu4.png\",\"type\":\"image\",\"title\":\"Ruby sole\",\"slug\":\"ruby-sole\",\"description\":\"Ruby-red sneakers arranged on soft pink steps.\"},{\"src\":\"https://framerusercontent.com/images/2eKPhpN1uzNaxmoCku0CTQCbQ0.png\",\"type\":\"image\",\"title\":\"Silver hour\",\"slug\":\"silver-hour\",\"description\":\"Silver fabric and sculptural earrings against midnight navy.\"},{\"src\":\"https://framerusercontent.com/images/OxeQxg8uib3d3SkR4v1eVILdc2Q.png\",\"type\":\"image\",\"title\":\"Cloud ceramic\",\"slug\":\"cloud-ceramic\",\"description\":\"Matte ceramic, cream fabric, and pale stone in cool light.\"},{\"src\":\"https://framerusercontent.com/images/mypjB4lc8pLarpwrcQdAZyZBs.png\",\"type\":\"image\",\"title\":\"Apricot rhythm\",\"slug\":\"apricot-rhythm\",\"description\":\"Apricot draping and ivory trousers on a clear acrylic seat.\"},{\"src\":\"https://framerusercontent.com/images/qhzYaKfo4Q5pEDdHmu7cySyJQ.png\",\"type\":\"image\",\"title\":\"Citrus lens\",\"slug\":\"citrus-lens\",\"description\":\"Acid-yellow eyewear against saturated cobalt blue.\"},{\"src\":\"https://framerusercontent.com/images/GzLONoR1g97g97uAS1SPCmHD8Y.png\",\"type\":\"image\",\"title\":\"Indigo gesture\",\"slug\":\"indigo-gesture\",\"description\":\"Indigo denim and natural curls in warm terracotta light.\"},{\"src\":\"https://framerusercontent.com/images/JoP4mlsUX4wmYSZHFw9pHp0Z8bI.png\",\"type\":\"image\",\"title\":\"Rose metal\",\"slug\":\"rose-metal\",\"description\":\"Rose-gold headphones resting on folded sage silk.\"},{\"src\":\"https://framerusercontent.com/images/ly9TemR3wqMpWbsBMEtj5NQAef4.png\",\"type\":\"image\",\"title\":\"Velvet midnight\",\"slug\":\"velvet-midnight\",\"description\":\"Black velvet and pearl earrings against deep burgundy.\"},{\"src\":\"https://framerusercontent.com/images/CYEUVjtsGV20FOlGyM4QtLpusJQ.png\",\"type\":\"image\",\"title\":\"Saffron sculpt\",\"slug\":\"saffron-sculpt\",\"description\":\"Saffron leather with a sculptural handle on brushed metal.\"},{\"src\":\"https://framerusercontent.com/images/9zerbGBqsxlDGGuMjIYFrVOQmo4.png\",\"type\":\"image\",\"title\":\"Coral linen\",\"slug\":\"coral-linen\",\"description\":\"Coral linen and ivory trousers in soft morning light.\"},{\"src\":\"https://framerusercontent.com/images/efthOIGgfyL36h8sP13wsu8G0c.png\",\"type\":\"image\",\"title\":\"Ice flask\",\"slug\":\"ice-flask\",\"description\":\"Brushed steel, blue accents, and clear ice in a cool product study.\"},{\"src\":\"https://framerusercontent.com/images/1h9nSkagitk9mAJyEoKFco6TTdA.png\",\"type\":\"image\",\"title\":\"Citron movement\",\"slug\":\"citron-movement\",\"description\":\"Citron outerwear captured in an athletic gesture.\"},{\"src\":\"https://framerusercontent.com/images/jRASVxCj3Jh9mH0QmysIfyc4.png\",\"type\":\"image\",\"title\":\"Olive form\",\"slug\":\"olive-form\",\"description\":\"Olive leather and sandstone in warm directional light.\"},{\"src\":\"https://framerusercontent.com/images/U1mrTo91b7LaccZP6jedwTIkUvU.png\",\"type\":\"image\",\"title\":\"Pink architecture\",\"slug\":\"pink-architecture\",\"description\":\"Dusty-pink tailoring beside a curved concrete wall.\"},{\"src\":\"https://framerusercontent.com/images/vJ5Ostq5fIsYO6R0Q0IidX1b7s.png\",\"type\":\"image\",\"title\":\"Violet vessel\",\"slug\":\"violet-vessel\",\"description\":\"Violet glass and a clear sphere casting refracted light.\"},{\"src\":\"https://framerusercontent.com/images/QurarBKWD0ltf5ewUG2WmE0nA.png\",\"type\":\"image\",\"title\":\"Copper fringe\",\"slug\":\"copper-fringe\",\"description\":\"Copper hair and bronze pleats against a rich teal backdrop.\"},{\"src\":\"https://framerusercontent.com/images/ZeuXD3C2PihkmYbt3sB3mkptzTM.png\",\"type\":\"image\",\"title\":\"Cloudrunner\",\"slug\":\"cloudrunner\",\"description\":\"White mesh and a sky-blue sole on a curved cobalt platform.\"},{\"src\":\"https://framerusercontent.com/images/0cNyDqcQYQk3lwEeM7yFTQujV8.png\",\"type\":\"image\",\"title\":\"Satin tide\",\"slug\":\"satin-tide\",\"description\":\"Sea-green satin flowing through a warm sand-colored studio.\"},{\"src\":\"https://framerusercontent.com/images/SKyEGKERfpazE1KtCj1AJ61Fw.png\",\"type\":\"image\",\"title\":\"Ivory curve\",\"slug\":\"ivory-curve\",\"description\":\"Cream leather and a folded orange ribbon on textured stone.\"}]},\"presetId\":\"hero-showcase\",\"settings\":{\"overlayColor\":\"#050505\",\"overlayOpacity\":100,\"blur\":0,\"radius\":0,\"spacing\":0,\"zoom\":106,\"openBehavior\":\"image\",\"contentAlignment\":\"center\",\"imageObjectFit\":\"contain\",\"imageBorder\":false,\"imageBorderColor\":\"#ffffff\",\"imageBorderWidth\":0,\"showNavigationArrows\":true,\"arrowStyle\":\"minimal\",\"arrowSize\":64,\"arrowColor\":\"#ffffff\",\"arrowBackground\":\"transparent\",\"arrowOpacity\":96,\"arrowPosition\":\"sides\",\"arrowIcon\":\"chevron\",\"arrowPreviousSvg\":\"\",\"arrowNextSvg\":\"\",\"showThumbnails\":true,\"thumbnailPosition\":\"bottom\",\"thumbnailSize\":38,\"thumbnailGap\":3,\"thumbnailRadius\":0,\"thumbnailBorderWidth\":2,\"thumbnailBorderColor\":\"#f96c6c\",\"thumbnailOpacity\":60,\"thumbnailActiveOpacity\":100,\"captionMode\":\"footer\",\"captionSource\":\"alt\",\"captionTextAlign\":\"center\",\"captionOverlayPosition\":\"bottom-center\",\"captionOverlayX\":50,\"captionOverlayY\":50,\"captionColor\":\"#ffffff\",\"captionBackground\":\"transparent\",\"captionPadding\":16,\"captionBorderColor\":\"transparent\",\"captionBorderWidth\":1,\"captionBorderRadius\":0,\"captionFontFamily\":\"Manrope, sans-serif\",\"captionFontFaces\":[{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/R46SR2KWPHAT6QKQ5J22GMKGX57ZRVAR/Z5WLPW3IGEZJHN5HBLPCBJIK6QBBSHX6/2W7RU2QRQHEAEGUDZDHBPHR6WI27JNIQ.woff2\",\"weight\":300,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/2TYFCBHUANEXS6QGR5EQDUNAFH6LSWM3/AYNOU3VEA4LRTDNKJQUFNVNUTYSGOUOP/UXO4O7K2G3HI3D2VKD7UXVJVJD26P4BQ.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/BNWG6MUI4RTC6WEND2VPDH4MHMIVU3XZ/R5YXY5FMVG6PXU36GNEEA24MIPMEPGSM/CIM4KQCLZSMMLWPVH25IDDSTY4ENPHEY.woff2\",\"weight\":500,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/6U2SGH566NSNERG6RGEV3DSNEK7DL2RF/JRDYRKMSAW2H35IWEQIPL67HAJQ35MG5/JNU3GNMUBPWW6V6JTED3S27XL5HN7NM5.woff2\",\"weight\":600,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/NGBUP45ES3F7RD5XGKPEDJ6QEPO4TMOK/EXDVWJ2EDDVVV65UENMX33EDDYBX6OF7/6P4FPMFQH7CCC7RZ4UU4NKSGJ2RLF7V5.woff2\",\"weight\":700,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/7EWHG4AMROQSXDCQTDPGBVASATB7CED2/TJSQTK5FHJ2MYKML5IXF2G6YTGFJLTYL/K4ZMLVLHYIFVTTTWGVOTVGOFUUX7NVGI.woff2\",\"weight\":800,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/6KNUAYMK3PTPQA22366IWF5JUVT35NZ3/E4CLT6PE4W64IV56BHAWFRZFLHPZIXFF/DEPNXL2T77QGX4DXZAN3G53TXHO2JEFP.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59FO_A87jxeN7B.woff2\",\"weight\":200,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk6jFO_A87jxeN7B.woff2\",\"weight\":300,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_A87jxeN7B.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_A87jxeN7B.woff2\",\"weight\":500,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_A87jxeN7B.woff2\",\"weight\":600,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_A87jxeN7B.woff2\",\"weight\":700,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59E-_A87jxeN7B.woff2\",\"weight\":800,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRsgW7S9XdZN8.woff2\",\"weight\":400,\"style\":\"normal\"}],\"captionFontSize\":18,\"captionFontWeight\":400,\"captionDescriptionColor\":\"\",\"captionDescriptionTextAlign\":\"left\",\"captionDescriptionGap\":14,\"captionDescriptionFontFamily\":\"\",\"captionDescriptionFontFaces\":[{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyeMZ1rib2Bg-4.woff2\",\"weight\":100,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyfMZ1rib2Bg-4.woff2\",\"weight\":200,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZ1rib2Bg-4.woff2\",\"weight\":300,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZ1rib2Bg-4.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",\"weight\":500,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZ1rib2Bg-4.woff2\",\"weight\":600,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",\"weight\":700,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyYMZ1rib2Bg-4.woff2\",\"weight\":800,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuBWYMZ1rib2Bg-4.woff2\",\"weight\":900,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc2dphiJ-Ek-7MeA.woff2\",\"weight\":100,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcWdthiJ-Ek-7MeA.woff2\",\"weight\":200,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTch9thiJ-Ek-7MeA.woff2\",\"weight\":300,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc2dthiJ-Ek-7MeA.woff2\",\"weight\":400,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69thiJ-Ek-7MeA.woff2\",\"weight\":500,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcB9xhiJ-Ek-7MeA.woff2\",\"weight\":600,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcPtxhiJ-Ek-7MeA.woff2\",\"weight\":700,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcWdxhiJ-Ek-7MeA.woff2\",\"weight\":800,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTccNxhiJ-Ek-7MeA.woff2\",\"weight\":900,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTfvgaQc78lA2.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnYwYZ90A2B58.woff2\",\"weight\":400,\"style\":\"italic\"}],\"captionDescriptionFontSize\":15,\"captionDescriptionFontWeight\":400,\"captionDescriptionLineHeight\":1.65,\"captionDescriptionLetterSpacing\":0,\"captionDescriptionOpacity\":76,\"captionDescriptionFontStyle\":\"normal\",\"captionDescriptionTextTransform\":\"none\",\"closeIcon\":\"minimal\",\"closePosition\":\"top-right\",\"closeSize\":42,\"closeColor\":\"#ffffff\",\"closeBackground\":\"transparent\",\"animation\":\"Soft Rise\",\"transitionSpeed\":300,\"loopNavigation\":true,\"enableSwipe\":true,\"keyboardNavigation\":true,\"closeOnOverlayClick\":true,\"autoPlay\":false,\"autoPlayInterval\":3000,\"showCounter\":true,\"counterStyle\":\"1/5\",\"counterColor\":\"\",\"counterBackground\":\"transparent\",\"counterFontSize\":13,\"counterRadius\":0,\"counterPadding\":12,\"showDownload\":true,\"downloadColor\":\"#ffffff\",\"downloadBackground\":\"rgba(0,0,0,0.28)\",\"downloadSize\":40,\"downloadRadius\":20,\"showFullscreen\":false,\"fullscreenColor\":\"#ffffff\",\"fullscreenBackground\":\"rgba(0,0,0,0.28)\",\"fullscreenSize\":40,\"fullscreenRadius\":20,\"zoomOnClick\":false,\"hideZoomCursor\":true,\"zoomOnClickLevel\":200,\"matchControl\":false,\"widthStyle\":\"auto\",\"cmsWidth\":1120,\"cmsHeight\":720},\"videos\":[]}],\"settings\":{\"overlayColor\":\"#050505\",\"overlayOpacity\":100,\"blur\":0,\"radius\":0,\"spacing\":0,\"zoom\":106,\"openBehavior\":\"image\",\"contentAlignment\":\"center\",\"imageObjectFit\":\"contain\",\"imageBorder\":false,\"imageBorderColor\":\"#ffffff\",\"imageBorderWidth\":0,\"showNavigationArrows\":true,\"arrowStyle\":\"minimal\",\"arrowSize\":64,\"arrowColor\":\"#ffffff\",\"arrowBackground\":\"transparent\",\"arrowOpacity\":96,\"arrowPosition\":\"sides\",\"arrowIcon\":\"chevron\",\"arrowPreviousSvg\":\"\",\"arrowNextSvg\":\"\",\"showThumbnails\":true,\"thumbnailPosition\":\"bottom\",\"thumbnailSize\":38,\"thumbnailGap\":3,\"thumbnailRadius\":0,\"thumbnailBorderWidth\":2,\"thumbnailBorderColor\":\"#f96c6c\",\"thumbnailOpacity\":60,\"thumbnailActiveOpacity\":100,\"captionMode\":\"footer\",\"captionSource\":\"alt\",\"captionTextAlign\":\"center\",\"captionOverlayPosition\":\"bottom-center\",\"captionOverlayX\":50,\"captionOverlayY\":50,\"captionColor\":\"#ffffff\",\"captionBackground\":\"transparent\",\"captionPadding\":16,\"captionBorderColor\":\"transparent\",\"captionBorderWidth\":1,\"captionBorderRadius\":0,\"captionFontFamily\":\"Manrope, sans-serif\",\"captionFontFaces\":[{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/R46SR2KWPHAT6QKQ5J22GMKGX57ZRVAR/Z5WLPW3IGEZJHN5HBLPCBJIK6QBBSHX6/2W7RU2QRQHEAEGUDZDHBPHR6WI27JNIQ.woff2\",\"weight\":300,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/2TYFCBHUANEXS6QGR5EQDUNAFH6LSWM3/AYNOU3VEA4LRTDNKJQUFNVNUTYSGOUOP/UXO4O7K2G3HI3D2VKD7UXVJVJD26P4BQ.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/BNWG6MUI4RTC6WEND2VPDH4MHMIVU3XZ/R5YXY5FMVG6PXU36GNEEA24MIPMEPGSM/CIM4KQCLZSMMLWPVH25IDDSTY4ENPHEY.woff2\",\"weight\":500,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/6U2SGH566NSNERG6RGEV3DSNEK7DL2RF/JRDYRKMSAW2H35IWEQIPL67HAJQ35MG5/JNU3GNMUBPWW6V6JTED3S27XL5HN7NM5.woff2\",\"weight\":600,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/NGBUP45ES3F7RD5XGKPEDJ6QEPO4TMOK/EXDVWJ2EDDVVV65UENMX33EDDYBX6OF7/6P4FPMFQH7CCC7RZ4UU4NKSGJ2RLF7V5.woff2\",\"weight\":700,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/7EWHG4AMROQSXDCQTDPGBVASATB7CED2/TJSQTK5FHJ2MYKML5IXF2G6YTGFJLTYL/K4ZMLVLHYIFVTTTWGVOTVGOFUUX7NVGI.woff2\",\"weight\":800,\"style\":\"normal\"},{\"url\":\"https://framerusercontent.com/third-party-assets/fontshare/wf/6KNUAYMK3PTPQA22366IWF5JUVT35NZ3/E4CLT6PE4W64IV56BHAWFRZFLHPZIXFF/DEPNXL2T77QGX4DXZAN3G53TXHO2JEFP.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59FO_A87jxeN7B.woff2\",\"weight\":200,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk6jFO_A87jxeN7B.woff2\",\"weight\":300,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_A87jxeN7B.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_A87jxeN7B.woff2\",\"weight\":500,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_A87jxeN7B.woff2\",\"weight\":600,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_A87jxeN7B.woff2\",\"weight\":700,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59E-_A87jxeN7B.woff2\",\"weight\":800,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRsgW7S9XdZN8.woff2\",\"weight\":400,\"style\":\"normal\"}],\"captionFontSize\":18,\"captionFontWeight\":400,\"captionDescriptionColor\":\"\",\"captionDescriptionTextAlign\":\"left\",\"captionDescriptionGap\":14,\"captionDescriptionFontFamily\":\"\",\"captionDescriptionFontFaces\":[{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyeMZ1rib2Bg-4.woff2\",\"weight\":100,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyfMZ1rib2Bg-4.woff2\",\"weight\":200,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZ1rib2Bg-4.woff2\",\"weight\":300,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZ1rib2Bg-4.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",\"weight\":500,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZ1rib2Bg-4.woff2\",\"weight\":600,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",\"weight\":700,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyYMZ1rib2Bg-4.woff2\",\"weight\":800,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuBWYMZ1rib2Bg-4.woff2\",\"weight\":900,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc2dphiJ-Ek-7MeA.woff2\",\"weight\":100,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcWdthiJ-Ek-7MeA.woff2\",\"weight\":200,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTch9thiJ-Ek-7MeA.woff2\",\"weight\":300,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc2dthiJ-Ek-7MeA.woff2\",\"weight\":400,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69thiJ-Ek-7MeA.woff2\",\"weight\":500,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcB9xhiJ-Ek-7MeA.woff2\",\"weight\":600,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcPtxhiJ-Ek-7MeA.woff2\",\"weight\":700,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTcWdxhiJ-Ek-7MeA.woff2\",\"weight\":800,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTccNxhiJ-Ek-7MeA.woff2\",\"weight\":900,\"style\":\"italic\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTfvgaQc78lA2.woff2\",\"weight\":400,\"style\":\"normal\"},{\"url\":\"https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnYwYZ90A2B58.woff2\",\"weight\":400,\"style\":\"italic\"}],\"captionDescriptionFontSize\":15,\"captionDescriptionFontWeight\":400,\"captionDescriptionLineHeight\":1.65,\"captionDescriptionLetterSpacing\":0,\"captionDescriptionOpacity\":76,\"captionDescriptionFontStyle\":\"normal\",\"captionDescriptionTextTransform\":\"none\",\"closeIcon\":\"minimal\",\"closePosition\":\"top-right\",\"closeSize\":42,\"closeColor\":\"#ffffff\",\"closeBackground\":\"transparent\",\"animation\":\"Soft Rise\",\"transitionSpeed\":300,\"loopNavigation\":true,\"enableSwipe\":true,\"keyboardNavigation\":true,\"closeOnOverlayClick\":true,\"autoPlay\":false,\"autoPlayInterval\":3000,\"showCounter\":true,\"counterStyle\":\"1/5\",\"counterColor\":\"\",\"counterBackground\":\"transparent\",\"counterFontSize\":13,\"counterRadius\":0,\"counterPadding\":12,\"showDownload\":true,\"downloadColor\":\"#ffffff\",\"downloadBackground\":\"rgba(0,0,0,0.28)\",\"downloadSize\":40,\"downloadRadius\":20,\"showFullscreen\":false,\"fullscreenColor\":\"#ffffff\",\"fullscreenBackground\":\"rgba(0,0,0,0.28)\",\"fullscreenSize\":40,\"fullscreenRadius\":20,\"zoomOnClick\":false,\"hideZoomCursor\":true,\"zoomOnClickLevel\":200,\"matchControl\":false,\"widthStyle\":\"auto\",\"cmsWidth\":1120,\"cmsHeight\":720}}';/**\n * @framerDisableUnlink\n */export default function Layerbox(){useEffect(()=>{if(typeof document===\"undefined\")return;const runtimeWindow=window;const previousCleanup=runtimeWindow[CLEANUP_KEY];if(typeof previousCleanup===\"function\")previousCleanup();document.getElementById(STYLE_ID)?.remove();document.getElementById(SCRIPT_ID)?.remove();document.getElementById(CONFIG_ID)?.remove();const style=document.createElement(\"style\");style.id=STYLE_ID;style.textContent=STYLE;document.head.appendChild(style);const config=document.createElement(\"script\");config.id=CONFIG_ID;config.type=\"application/json\";config.textContent=CONFIG;document.body.appendChild(config);const script=document.createElement(\"script\");script.id=SCRIPT_ID;script.textContent=SCRIPT;document.body.appendChild(script);const installedCleanup=runtimeWindow[CLEANUP_KEY];return()=>{// Framer can mount the updated module before unmounting its predecessor.\n// An old effect must never dispose the runtime installed by a newer one.\nif(runtimeWindow[CLEANUP_KEY]===installedCleanup&&typeof installedCleanup===\"function\")installedCleanup();script.remove();config.remove();style.remove();};},[CONFIG_HASH,SCRIPT,CONFIG]);return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{height:0,pointerEvents:\"none\",width:0}});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Layerbox\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Layerbox.map","// Generated by Framer (f8e97a5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,Link,PropertyOverrides,RenderTarget,RichText,runTasksWithYield,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LargeStudioSignature from\"#framer/local/canvasComponent/HT8pVOHX7/HT8pVOHX7.js\";import Cursor from\"#framer/local/canvasComponent/zrFgfKr5d/zrFgfKr5d.js\";import Layerbox from\"#framer/local/codeFile/TYRO7fi/Layerbox.js\";import*as sharedStyle from\"#framer/local/css/uj3bgNAjO/uj3bgNAjO.js\";const LargeStudioSignatureFonts=getFonts(LargeStudioSignature);const LayerboxFonts=getFonts(Layerbox);const CursorFonts=getFonts(Cursor);const breakpoints={eq1gLnU71:\"(max-width: 809.98px)\",Ip0kCquay:\"(min-width: 810px) and (max-width: 1199.98px)\",NMCeuO9x2:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-p1e8q\";const variantClassNames={eq1gLnU71:\"framer-v-1u61yp5\",Ip0kCquay:\"framer-v-tvupuh\",NMCeuO9x2:\"framer-v-1ktnzit\"};const breakpointRules={eq1gLnU71:[\".framer-p1e8q .framer-2bkfo9 { padding: 48px 20px 24px 20px; }\",\".framer-p1e8q .framer-1nwkmek { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 20px; justify-content: flex-start; }\",\".framer-p1e8q .framer-1e0830f { white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-p1e8q .framer-iktuk2 { width: min-content; }\",\".framer-p1e8q .framer-cv5vzv-container { height: 63px; width: 46px; }\",\".framer-p1e8q .framer-atzbr1-container { height: 63px; width: 40px; }\",\".framer-p1e8q .framer-sh4qff-container { height: 63px; width: 37px; }\",\".framer-p1e8q .framer-y0l5ir-container, .framer-p1e8q .framer-154p7h6-container { height: 63px; width: 45px; }\",\".framer-p1e8q .framer-1dvaggi-container, .framer-p1e8q .framer-exsj1z-container { height: 63px; width: 44px; }\",\".framer-p1e8q .framer-1dvkspf-container { height: 63px; width: 57px; }\",\".framer-p1e8q .framer-1ouzrwh { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 12px; justify-content: flex-start; }\"],Ip0kCquay:[\".framer-p1e8q .framer-2bkfo9 { padding: 48px 32px 24px 32px; }\",\".framer-p1e8q .framer-iktuk2 { padding: 0px 97px 0px 97px; width: 100%; }\",\".framer-p1e8q .framer-cv5vzv-container { height: 106px; width: 82px; }\",\".framer-p1e8q .framer-atzbr1-container { height: 106px; width: 71px; }\",\".framer-p1e8q .framer-sh4qff-container { height: 106px; width: 69px; }\",\".framer-p1e8q .framer-y0l5ir-container { height: 106px; width: 80px; }\",\".framer-p1e8q .framer-1dvaggi-container { height: 106px; width: 81px; }\",\".framer-p1e8q .framer-exsj1z-container { height: 106px; width: 77px; }\",\".framer-p1e8q .framer-1dvkspf-container { height: 106px; width: 106px; }\",\".framer-p1e8q .framer-154p7h6-container { height: 106px; width: 79px; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={eq1gLnU71:\".framer-1u61yp5-override\",Ip0kCquay:\".framer-tvupuh-override\"};const rules=[\".framer-p1e8q.framer-fqd3mz, .framer-p1e8q .framer-fqd3mz { display: block; }\",\".framer-p1e8q.framer-1ktnzit { align-content: center; align-items: center; background-color: var(--token-9594bd4a-57c4-41e4-a0cb-9f8fc1793b93); 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-p1e8q .framer-l2euok { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-p1e8q .framer-2bkfo9 { --border-bottom-width: 0px; --border-color: #d7d4ca; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; max-width: 1200px; order: 1001; padding: 64px 40px 32px 40px; position: relative; width: 100%; }\",\".framer-p1e8q .framer-1nwkmek, .framer-p1e8q .framer-1ouzrwh { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; padding: 0px; position: relative; width: 100%; }\",\".framer-p1e8q .framer-1e0830f, .framer-p1e8q .framer-1qgw0g8, .framer-p1e8q .framer-1cul65k, .framer-p1e8q .framer-1p2t5p { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-p1e8q .framer-iktuk2 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1098px; }\",\".framer-p1e8q .framer-cv5vzv-container { flex: none; height: auto; position: relative; width: 105px; }\",\".framer-p1e8q .framer-atzbr1-container { flex: none; height: auto; position: relative; width: 92px; }\",\".framer-p1e8q .framer-sh4qff-container { flex: none; height: auto; position: relative; width: 88px; }\",\".framer-p1e8q .framer-y0l5ir-container, .framer-p1e8q .framer-1dvaggi-container, .framer-p1e8q .framer-154p7h6-container { flex: none; height: auto; position: relative; width: 102px; }\",\".framer-p1e8q .framer-exsj1z-container { flex: none; height: auto; position: relative; width: 99px; }\",\".framer-p1e8q .framer-1dvkspf-container { flex: none; height: auto; position: relative; width: 134px; }\",\".framer-p1e8q .framer-s8ejdg-container { flex: none; height: auto; order: 1002; position: relative; width: auto; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }',...sharedStyle.css,'.framer-p1e8q[data-border=\"true\"]::after, .framer-p1e8q [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={eq1gLnU71:\"(max-width: 809.98px)\",Ip0kCquay:\"(min-width: 810px) and (max-width: 1199.98px)\",NMCeuO9x2:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"NMCeuO9x2\",Phone:\"eq1gLnU71\",Tablet:\"Ip0kCquay\"};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??\"NMCeuO9x2\"};};const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const cursor={component:Cursor,transition:transition1,variant:\"wt_UCBxQh\"};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=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({\"1j8g2jx\":cursor});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"NMCeuO9x2\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-9594bd4a-57c4-41e4-a0cb-9f8fc1793b93); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1ktnzit\",className),\"data-framer-cursor\":\"1j8g2jx\",\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-l2euok\"}),/*#__PURE__*/_jsxs(motion.footer,{className:\"framer-2bkfo9\",\"data-border\":true,\"data-framer-name\":\"Site footer\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1nwkmek\",\"data-framer-name\":\"Contact invitation\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTZXJpZi1yZWd1bGFy\",\"--framer-font-family\":'\"Instrument Serif\", \"Instrument Serif Placeholder\", serif',\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"1.1em\",\"--framer-text-color\":\"var(--token-0c420601-0029-4dfb-b203-c77cce19cba7)\"},children:\"Have a campaign in mind?\"})})},Ip0kCquay:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTZXJpZi1yZWd1bGFy\",\"--framer-font-family\":'\"Instrument Serif\", \"Instrument Serif Placeholder\", serif',\"--framer-font-size\":\"40px\",\"--framer-line-height\":\"1.1em\",\"--framer-text-color\":\"var(--token-0c420601-0029-4dfb-b203-c77cce19cba7)\"},children:\"Have a campaign in mind?\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTZXJpZi1yZWd1bGFy\",\"--framer-font-family\":'\"Instrument Serif\", \"Instrument Serif Placeholder\", serif',\"--framer-font-size\":\"44px\",\"--framer-line-height\":\"1.1em\",\"--framer-text-color\":\"var(--token-0c420601-0029-4dfb-b203-c77cce19cba7)\"},children:\"Have a campaign in mind?\"})}),className:\"framer-1e0830f\",\"data-framer-name\":\"Contact invitation text\",fonts:[\"GF;Instrument Serif-regular\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"RlM7TWFucm9wZS1zZW1pYm9sZA==\",\"--framer-font-family\":'\"Manrope\", \"Manrope Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"600\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"K53f_pn66\"},motionChild:true,nodeId:\"Xpn9I5UZj\",openInNewTab:false,relValues:[],scopeId:\"ztRL_0yU5\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-s4avz7\",\"data-styles-preset\":\"uj3bgNAjO\",children:\"Start a conversation\"})})})}),className:\"framer-1qgw0g8\",\"data-framer-name\":\"Contact invitation link\",fonts:[\"FS;Manrope-semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-iktuk2\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"46px\",y:1294},Ip0kCquay:{height:106,width:\"82.1125px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"105px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-cv5vzv-container\",nodeId:\"rkWQbFcwn\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"rkWQbFcwn\",kL2zOaGlB:\"o\",layoutId:\"rkWQbFcwn\",Qv1CWuc3f:\"var(--token-78439b2a-8847-4c19-a099-b4a8d5253386, rgb(186, 61, 41))\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"40px\",y:1294},Ip0kCquay:{height:106,width:\"71.4022px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"92px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-atzbr1-container\",nodeId:\"CQM8jLBsM\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"CQM8jLBsM\",kL2zOaGlB:\"f\",layoutId:\"CQM8jLBsM\",Qv1CWuc3f:\"rgb(41, 186, 46)\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"37px\",y:1294},Ip0kCquay:{height:106,width:\"69.0221px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"88px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-sh4qff-container\",nodeId:\"w5PJ9QcdY\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"w5PJ9QcdY\",kL2zOaGlB:\"f\",layoutId:\"w5PJ9QcdY\",Qv1CWuc3f:\"rgb(57, 94, 204)\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"45px\",y:1294},Ip0kCquay:{height:106,width:\"79.7325px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"102px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-y0l5ir-container\",nodeId:\"KswDvfnt1\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"KswDvfnt1\",kL2zOaGlB:\"s\",layoutId:\"KswDvfnt1\",Qv1CWuc3f:\"var(--token-78439b2a-8847-4c19-a099-b4a8d5253386, rgb(186, 61, 41))\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"44px\",y:1294},Ip0kCquay:{height:106,width:\"80.9225px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"102px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1dvaggi-container\",nodeId:\"UTc4mwujv\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"UTc4mwujv\",kL2zOaGlB:\"r\",layoutId:\"UTc4mwujv\",Qv1CWuc3f:\"rgb(146, 230, 108)\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"44px\",y:1294},Ip0kCquay:{height:106,width:\"77.3524px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"99px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-exsj1z-container\",nodeId:\"yvT0nBHBm\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"yvT0nBHBm\",kL2zOaGlB:\"e\",layoutId:\"yvT0nBHBm\",Qv1CWuc3f:\"rgb(186, 41, 186)\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"57px\",y:1294},Ip0kCquay:{height:106,width:\"105.9133px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"134px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1dvkspf-container\",nodeId:\"HAwIdOcuw\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"HAwIdOcuw\",kL2zOaGlB:\"e\",layoutId:\"HAwIdOcuw\",Qv1CWuc3f:\"rgb(173, 147, 73)\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{height:63,width:\"45px\",y:1294},Ip0kCquay:{height:106,width:\"78.5424px\",y:1124}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:201,width:\"102px\",y:1144.4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-154p7h6-container\",nodeId:\"KonEYqGue\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{eq1gLnU71:{rGuyqMCs1:74,style:{height:\"100%\",width:\"100%\"}},Ip0kCquay:{rGuyqMCs1:170,style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(LargeStudioSignature,{height:\"100%\",id:\"KonEYqGue\",kL2zOaGlB:\"n\",layoutId:\"KonEYqGue\",Qv1CWuc3f:\"rgb(217, 87, 67)\",rGuyqMCs1:201,style:{width:\"100%\"},width:\"100%\"})})})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1ouzrwh\",\"data-framer-name\":\"Footer details\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"RlM7TWFucm9wZS1yZWd1bGFy\",\"--framer-font-family\":'\"Manrope\", \"Manrope Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"var(--token-4d30f62c-f017-4db5-ba6f-202c6a36333e)\"},children:\"\\xa9 2026 Offscreen Studio\"})}),className:\"framer-1cul65k\",\"data-framer-name\":\"Copyright\",fonts:[\"FS;Manrope-regular\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"RlM7TWFucm9wZS1yZWd1bGFy\",\"--framer-font-family\":'\"Manrope\", \"Manrope Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"var(--token-4d30f62c-f017-4db5-ba6f-202c6a36333e)\"},children:\"Made with a different point of view.\"})}),className:\"framer-1p2t5p\",\"data-framer-name\":\"Studio note\",fonts:[\"FS;Manrope-regular\"],verticalAlignment:\"top\",withExternalLayout:true})]})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-s8ejdg-container\",\"data-code-component-plugin-id\":\"dev_n4x8q2\",isAuthoredByUser:true,nodeId:\"q39pxZ_ff\",scopeId:\"ztRL_0yU5\",children:/*#__PURE__*/_jsx(Layerbox,{height:\"100%\",id:\"q39pxZ_ff\",layoutId:\"q39pxZ_ff\",width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=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 1600\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Ip0kCquay\":{\"layout\":[\"fixed\",\"fixed\"]},\"eq1gLnU71\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"NMCeuO9x2\":[\".framer-2bkfo9\",\".framer-s8ejdg-container\"],\"Ip0kCquay\":[\".framer-2bkfo9\",\".framer-s8ejdg-container\"],\"eq1gLnU71\":[\".framer-2bkfo9\",\".framer-s8ejdg-container\"]}\n * @framerBreakpoints {\"NMCeuO9x2\":{\"min\":1200,\"canvasClassName\":\"framer-1ktnzit-override\",\"minHeight\":1600,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"Ip0kCquay\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-tvupuh-override\",\"minHeight\":1600,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"eq1gLnU71\":{\"max\":809,\"canvasClassName\":\"framer-1u61yp5-override\",\"minHeight\":1600,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant NMCeuO9x2\n * @framerLayoutTemplate true\n */const FramerztRL_0yU5=withCSS(Component,css,\"framer-p1e8q\");export default FramerztRL_0yU5;FramerztRL_0yU5.displayName=\"Portfolio Layout\";FramerztRL_0yU5.defaultProps={height:1600,width:1200};addFonts(FramerztRL_0yU5,[{explicitInter:true,fonts:[{cssFamilyName:\"Instrument Serif\",source:\"google\",style:\"normal\",uiFamilyName:\"Instrument Serif\",url:\"https://fonts.gstatic.com/s/instrumentserif/v5/jizBRFtNs2ka5fXjeivQ4LroWlx-2zcZj1bIkNo.woff2\",weight:\"400\"},{cssFamilyName:\"Manrope\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Manrope\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/6U2SGH566NSNERG6RGEV3DSNEK7DL2RF/JRDYRKMSAW2H35IWEQIPL67HAJQ35MG5/JNU3GNMUBPWW6V6JTED3S27XL5HN7NM5.woff2\",weight:\"600\"},{cssFamilyName:\"Manrope\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Manrope\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/2TYFCBHUANEXS6QGR5EQDUNAFH6LSWM3/AYNOU3VEA4LRTDNKJQUFNVNUTYSGOUOP/UXO4O7K2G3HI3D2VKD7UXVJVJD26P4BQ.woff2\",weight:\"400\"}]},...LargeStudioSignatureFonts,...LayerboxFonts,...CursorFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerztRL_0yU5.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(LargeStudioSignature,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerztRL_0yU5\",\"slots\":[],\"annotations\":{\"framerDefaultVariant\":\"NMCeuO9x2\",\"framerIntrinsicHeight\":\"1600\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerHitTargets\":\"{\\\"NMCeuO9x2\\\":[\\\".framer-2bkfo9\\\",\\\".framer-s8ejdg-container\\\"],\\\"Ip0kCquay\\\":[\\\".framer-2bkfo9\\\",\\\".framer-s8ejdg-container\\\"],\\\"eq1gLnU71\\\":[\\\".framer-2bkfo9\\\",\\\".framer-s8ejdg-container\\\"]}\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerLayoutTemplate\":\"true\",\"framerBreakpoints\":\"{\\\"NMCeuO9x2\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1ktnzit-override\\\",\\\"minHeight\\\":1600,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"Ip0kCquay\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-tvupuh-override\\\",\\\"minHeight\\\":1600,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"eq1gLnU71\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-1u61yp5-override\\\",\\\"minHeight\\\":1600,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Ip0kCquay\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"eq1gLnU71\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"__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 PortfolioLayout from \"https://framerusercontent.com/modules/XiMllyB2gCbGck5bRKEe/dmSZejxpP8nw64Nkew3C/ztRL_0yU5.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {lsl123l8Y: \"banner\", NEvRAac04: \"selected-work\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/3nHmvv2NWt0ftquYDIHS/3UMTkDEnLlbBLMnMyLkN/augiA20Il.js\")), path: \"/\"}, LvLACU5pG: {elements: {Dn1wacenP: \"work\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/tR2HMjSd6oe96v5vIqJx/hwa2aZAGWIsmuZfU59lA/LvLACU5pG.js\")), path: \"/work\"}, Q38goFYo4: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nmRcrqJ8IJXTKD4sqISR/obRnm7jMUfMpHSZ5VtrV/Q38goFYo4.js\")), path: \"/about\"}, K53f_pn66: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/MKy7mTgpJvktczYITnpX/UkYa2UfCgu9WkVvVAhSC/K53f_pn66.js\")), path: \"/contact\"}, CtsHkWVmm: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nQFj1N5yUGbg3x4E5XL2/MCaetWlUizj97fBlC8zA/CtsHkWVmm.js\")), path: \"/404\"}, a6obv6Ygb: {collectionId: \"WSzeVjnM3\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/NZeShivU5zHgfbEglJoP/HZ98eggYUVgyuNkNmjID/a6obv6Ygb.js\")), path: \"/work/:FSTewayva\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {WSzeVjnM3: async () => (await import(\"https://framerusercontent.com/modules/TEaEAytWaQ3IqAL1qo7D/DTjaWItPVnkoYDE0M51X/WSzeVjnM3.js\"))?.[\"utils\"]}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"be2e863603eb34e942dcddb25797ad68349ecfaff09b118213eb4475540d9522\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"LvLACU5pG\":\r\ncase \"Q38goFYo4\":\r\ncase \"K53f_pn66\":\r\ncase \"a6obv6Ygb\":\r\nreturn React.createElement(PortfolioLayout, {...props, key: \"PortfolioLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"LvLACU5pG\":\r\ncase \"Q38goFYo4\":\r\ncase \"K53f_pn66\":\r\ncase \"a6obv6Ygb\":\r\nreturn [{hash: \"1ktnzit\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"tvupuh\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"1u61yp5\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\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\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nQFj1N5yUGbg3x4E5XL2/MCaetWlUizj97fBlC8zA/CtsHkWVmm.js\")),\r\n\t\t\t\t\tisReducedMotion: true,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://humble-area-709620.framer.app\",\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/4iG7altXNMiRBELUYdQJ/icez2Svt1qIE048PeQcJ/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\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\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\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, contentLocaleId, pathVariables, canonicalPathVariables, 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\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\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\t\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\t\t\t\t\tconst serverRoute = 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\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\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\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\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\t;(function () {\r\n\t\t\tif (!isBrowser) return\r\n\r\n\t\t\tReact.startTransition(() => {\r\n\t\t\t\tReactDOM.hydrateRoot(\r\n\t\t\t\t\tdocument.getElementById(\"__framer-badge-container\"),\r\n\t\t\t\t\tReact.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t})()\r\n\t"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}