(()=>{var Wt=Object.defineProperty;var ot=Object.getOwnPropertySymbols;var Lt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable;var rt=(i,t,e)=>t in i?Wt(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,I=(i,t)=>{for(var e in t||(t={}))Lt.call(t,e)&&rt(i,e,t[e]);if(ot)for(var e of ot(t))Ft.call(t,e)&&rt(i,e,t[e]);return i};function y(i,t){return Math.random()*(t-i)+i}var g=void 0,Ht=parseFloat(scrollSliderPassedData.ss_portrait_element_width_minimum),jt=parseFloat(scrollSliderPassedData.ss_landscape_element_width_minimum),Nt=parseFloat(scrollSliderPassedData.ss_portrait_element_width_maximum),Qt=parseFloat(scrollSliderPassedData.ss_landscape_element_width_maximum),Rt=scrollSliderPassedData.ss_portrait_element_width_unit==="%"?"vw":"px",Vt=parseFloat(scrollSliderPassedData.ss_element_padding_minimum),kt=parseFloat(scrollSliderPassedData.ss_element_padding_maximum),Bt=scrollSliderPassedData.ss_element_padding_unit==="%"?"vw":"px",$t=parseFloat(scrollSliderPassedData.ss_tablet_portrait_element_width_minimum),Ut=parseFloat(scrollSliderPassedData.ss_tablet_landscape_element_width_minimum),qt=parseFloat(scrollSliderPassedData.ss_tablet_portrait_element_width_maximum),Gt=parseFloat(scrollSliderPassedData.ss_tablet_landscape_element_width_maximum),Jt=scrollSliderPassedData.ss_tablet_portrait_element_width_unit==="%"?"vw":"px",Kt=parseFloat(scrollSliderPassedData.ss_tablet_element_padding_minimum),te=parseFloat(scrollSliderPassedData.ss_tablet_element_padding_maximum),ee=scrollSliderPassedData.ss_tablet_element_padding_unit==="%"?"vw":"px",ie=parseFloat(scrollSliderPassedData.ss_phone_portrait_element_width_minimum),se=parseFloat(scrollSliderPassedData.ss_phone_landscape_element_width_minimum),oe=parseFloat(scrollSliderPassedData.ss_phone_portrait_element_width_maximum),re=parseFloat(scrollSliderPassedData.ss_phone_landscape_element_width_maximum),ne=scrollSliderPassedData.ss_phone_portrait_element_width_unit==="%"?"vw":"px",ae=parseFloat(scrollSliderPassedData.ss_phone_element_padding_minimum),le=parseFloat(scrollSliderPassedData.ss_phone_element_padding_maximum),ce=scrollSliderPassedData.ss_phone_element_padding_unit==="%"?"vw":"px",he=function(i){if(i.hasClass("type-img")){if(i.find(">.img").hasClass("portrait"))return!0;if(i.find(">.img").hasClass("landscape"))return!1}else if(i.hasClass("type-project")){if(i.find(".thumb").hasClass("portrait"))return!0;if(i.find(".thumb").hasClass("landscape"))return!1}return!0},nt=function(){g!==void 0&&g.length&&jQuery.data(g[0],"packery")&&g.packery("layout")},O=function(i,t=!0){if(scrollSliderPassedData.ss_element_layout=="random"&&!(i==null||i==null||i==!1)){var e=i.closest(".lay-content");e.addClass("scrollslider-randompos-active");var s=i,o=s.find(".grid-inner");$cols=s.find(".grid-inner>.col"),scrollSliderPassedData.ss_randompos=="on"&&t&&$cols.sort(function(){return Math.random()-.5}).each(function(){var n=jQuery(this);n.remove(),o.append(n)}),s.find(".grid-inner>.col").each(function(){var n=he(jQuery(this)),l=window.utility.isPhoneSize,a=window.utility.isTabletSize,c=window.utility.isDesktopSize,m,d,u,_;l?(m=n?y(ie,oe):y(se,re),d=y(ae,le),u=ne,_=ce):a?(m=n?y($t,qt):y(Ut,Gt),d=y(Kt,te),u=Jt,_=ee):c&&(m=n?y(Ht,Nt):y(jt,Qt),d=y(Vt,kt),u=Rt,_=Bt),jQuery(this).css({width:m+u,margin:d+_,"transition-delay":""})}),g=s.packery({itemSelector:".grid-inner>.col",gutter:0,percentPosition:!0,transitionDuration:0,resize:!0});var r=function(){s.find(".grid-inner>.col").each(function(){var n=this;n.style.transitionDelay&&n.style.removeProperty("transition-delay");var l=n.getAttribute("style");if(l&&l.includes("transition-delay")){var a=l.replace(/transition-delay\s*:\s*[^;]+;?/gi,"").trim();a.endsWith(";")&&(a=a.slice(0,-1)),a?n.setAttribute("style",a):n.removeAttribute("style")}})};setTimeout(r,0),setTimeout(r,50),setTimeout(r,200),g&&g.length>0&&g[0]&&g.on("layoutComplete",r),setTimeout(function(){window.layUpdateImageSizes()},100),jQuery(window).on("window_width_changed",nt)}},at=function(){if(g!==void 0&&g.length&&jQuery.data(g[0],"packery"))try{g.packery("destroy")}catch(i){console.log(i)}g=void 0,jQuery(window).off("window_width_changed",nt),jQuery(".lay-content.scrollslider-randompos-active #grid .grid-inner").removeClass("scrollslider-randompos-active"),jQuery(".lay-content.scrollslider-randompos-active #grid .grid-inner .col").removeClass("scrollslider-randompos-active"),jQuery(".lay-content.scrollslider-randompos-active #grid .grid-inner .col").css({width:"",margin:""}),jQuery(".lay-content.scrollslider-randompos-active").removeClass("scrollslider-randompos-active"),jQuery(".lay-content.scrollslider-randompos-active #grid").removeClass("scrollslider-randompos-active")};var R=function(i){var t=void 0;switch(i){case"desktop":{var e=[];e=e.concat(Array.from(document.querySelectorAll("body>.lay-content #grid, #lay-project-overlay>.lay-content #grid"))),t=jQuery(e);break}case"phone":{var e=[];jQuery("body>.lay-content").each(function(){var o=jQuery(this).find("#custom-phone-grid").length!=0;o?e=e.concat(Array.from(this.querySelectorAll("#custom-phone-grid"))):e=e.concat(Array.from(this.querySelectorAll("#grid")))}),jQuery("#lay-project-overlay>.lay-content").each(function(){var o=jQuery(this).find("#custom-phone-grid").length!=0;o?e=e.concat(Array.from(this.querySelectorAll("#custom-phone-grid"))):e=e.concat(Array.from(this.querySelectorAll("#grid")))}),t=jQuery(e);break}}return t},Y=function(){if(jQuery("html").hasClass("show-project-overlay")||jQuery("#lay-project-overlay #grid, #lay-project-overlay #custom-phone-grid").length>0)return!1;var i=jQuery("body"),t=parseInt(i.attr("data-id"),10),e=!1;if(i.attr("data-type")=="project"){if(scrollSliderPassedData.activeInProjects=="on"||scrollSliderPassedData.activeInProjects=="all")e=!0;else if(scrollSliderPassedData.activeInProjects=="individual"&&scrollSliderPassedData.individualProjectIds!=""){var s=JSON.parse(scrollSliderPassedData.individualProjectIds);jQuery.inArray(t,s)>-1&&(e=!0)}}else if(i.attr("data-type")=="category"){if(scrollSliderPassedData.activeInCategories=="on"||scrollSliderPassedData.activeInCategories=="all")e=!0;else if(scrollSliderPassedData.activeInCategories=="individual"&&scrollSliderPassedData.individualCategoryIds!=""){var s=JSON.parse(scrollSliderPassedData.individualCategoryIds);jQuery.inArray(t,s)>-1&&(e=!0)}}else if(i.attr("data-type")=="page"){if(scrollSliderPassedData.activeInPages=="on"||scrollSliderPassedData.activeInPages=="all")e=!0;else if(scrollSliderPassedData.activeInPages=="individual"&&scrollSliderPassedData.individualPageIds!=""){var s=JSON.parse(scrollSliderPassedData.individualPageIds);jQuery.inArray(t,s)>-1&&(e=!0)}}return e&&scrollSliderPassedData.ss_disable_for_phone=="on"&&window.utility.isPhoneSize&&(e=!1),e},p=function(i,t,e,s,o){return s+(o-s)*((Math.min(e,Math.max(t,i))-t)/(e-t))};window.layscrollslider={isActiveHere:Y};var b=new Map,f={INFINITE_SCROLL:"infinite_scroll",CENTER_ANIMATION:"center_animation",PARALLAX:"parallax",RANDOM_PARALLAX:"random_parallax",MOUSE_PARALLAX:"mouse_parallax"},lt=i=>(b.has(i)||b.set(i,{transforms:new Map,lastApplied:""}),b.get(i)),M=(i,t,e)=>{let s=lt(i);e&&e.trim()?s.transforms.set(t,e.trim()):s.transforms.delete(t),me(i)};var me=i=>{let t=lt(i),e=[];t.transforms.has(f.INFINITE_SCROLL)&&e.push(t.transforms.get(f.INFINITE_SCROLL)),t.transforms.has(f.CENTER_ANIMATION)&&e.push(t.transforms.get(f.CENTER_ANIMATION)),t.transforms.has(f.PARALLAX)&&e.push(t.transforms.get(f.PARALLAX)),t.transforms.has(f.RANDOM_PARALLAX)&&e.push(t.transforms.get(f.RANDOM_PARALLAX)),t.transforms.has(f.MOUSE_PARALLAX)&&e.push(t.transforms.get(f.MOUSE_PARALLAX));let s=e.join(" ").trim();s!==t.lastApplied&&(s?i.style.setProperty("transform",s,"important"):i.style.removeProperty("transform"),i.style.transitionDelay&&i.style.removeProperty("transition-delay"),t.lastApplied=s)};var ct=()=>{b.forEach((i,t)=>{t.style.removeProperty("transform")}),b.clear()};var ht="body>.lay-content>#grid .column-wrap>.col";scrollSliderPassedData.ss_element_layout=="random"&&(ht="body>.lay-content>#grid .grid-inner>.col");var w=ht;var W=null,V=new Set,mt=null,ft=new Map,de=()=>{let i=parseFloat(scrollSliderPassedData.ss_scale_from)/100,t=parseFloat(scrollSliderPassedData.ss_scale_to)/100,e=parseFloat(scrollSliderPassedData.ss_opacity_from)/100,s=parseFloat(scrollSliderPassedData.ss_opacity_to)/100,o=parseFloat(scrollSliderPassedData.ss_animation_speed);return{scaleFrom:i,scaleTo:t,opacityFrom:e,opacityTo:s,animationSpeed:o}},dt=i=>{let t=i.getBoundingClientRect(),e={x:t.left+t.width/2,y:t.top+t.height/2},s=window.utility&&window.utility.isPhoneSize,o=window.innerWidth/(s?4:2),r=window.innerHeight/(s?4:2);scrollSliderPassedData.ss_alternative_animations=="style3"&&(o=0,r=0);let n={x:window.innerWidth/2,y:window.innerHeight/2},l=Math.max(0,Math.abs(e.x-n.x)-o/2),a=Math.max(0,Math.abs(e.y-n.y)-r/2);if(l===0&&a===0)return 0;let c=Math.max(window.innerWidth-o,window.innerHeight-r),m=Math.sqrt(l*l+a*a);return Math.min(m/c,1)},ut=(i,t,e)=>{let s="",o=1;if(scrollSliderPassedData.ss_scale_animation==="on"&&(o=e.scaleFrom+(e.scaleTo-e.scaleFrom)*(1-t),s=`scale(${o})`),ft.set(i,o),M(i,f.CENTER_ANIMATION,s),scrollSliderPassedData.ss_opacity_animation==="on"){let r=e.opacityFrom+(e.opacityTo-e.opacityFrom)*(1-t);i.style.setProperty("opacity",r,"important")}},gt=i=>ft.get(i)||1;var ue=i=>{i.forEach(t=>{t.isIntersecting?V.add(t.target):V.delete(t.target)})},pt=i=>{W=i.querySelectorAll(w);let t={threshold:0,rootMargin:"0px"};mt=new IntersectionObserver(ue,t),W.forEach(e=>{mt.observe(e)})},vt=()=>{if(!W)return;let i=de();scrollSliderPassedData.ss_parallax==="parallax"?W.forEach(t=>{let e=dt(t);ut(t,e,i)}):V.forEach(t=>{let e=dt(t);ut(t,e,i)})};var B=["type-vl","type-hr","type-stack","type-news","type-projectindex","type-productindex","type-elemengrid","type-thumbnailgrid"],C=new Map,z=new Map,k=new Map,fe=i=>{if(!C.has(i)){let t=document.querySelectorAll(w);if(t.length===0){let c=.5+i*.1%.5;return C.set(i,c),c}let e=Array.from(t).filter(c=>!B.some(m=>c.classList.contains(m)));if(e.length===0){let c=.5+i*.1%.5;return C.set(i,c),c}let s=e.map(c=>{let m=c.getBoundingClientRect();return m.width*m.height}),o=Math.min(...s),r=Math.max(...s),n=s[i]||o,l=r-o,a;l===0?a=.5+i*.1%.5:a=.5+(n-o)/l*.5,C.set(i,a)}return C.get(i)},ge=i=>{if(!z.has(i)){let t=document.querySelectorAll(w);if(t.length===0){let c=.5+i*.1%.5;return z.set(i,c),c}let e=Array.from(t).filter(c=>!B.some(m=>c.classList.contains(m)));if(e.length===0){let c=.5+i*.1%.5;return z.set(i,c),c}let s=e.map(c=>{let m=c.getBoundingClientRect();return m.width*m.height}),o=Math.min(...s),r=Math.max(...s),n=s[i]||o,l=r-o,a;l===0?a=.5+i*.1%.5:a=1-(n-o)/l*.5,z.set(i,a)}return z.get(i)},pe=i=>{if(B.some(e=>i.classList.contains(e)))return!0;let t=i.style;return!!(t.borderWidth||t.borderColor||t.borderStyle||t.backgroundColor||t.boxShadow||t.borderRadius)},$=i=>{if(scrollSliderPassedData.ss_parallax!=="parallax")return!1;let e=document.querySelectorAll(w)[i];if(!e||pe(e))return!1;let s=Z();if(s&&s.isZooming())return!1;let o=_t(),r=fe(i),n=ge(i),l=5*o.x*n,a=5*o.y*n;if(scrollSliderPassedData.ss_zoom_scroll=="on"&&s&&s.isZooming()){let d=1-Z().getMappedZoomLevel();l=l*d,a=a*d}let c=l,m=a;if(scrollSliderPassedData.ss_movement_type==="momentum"){let d=k.get(i)||{x:0,y:0},u=.4;c=d.x*(1-u)+l*u,m=d.y*(1-u)+a*u,k.set(i,{x:c,y:m})}return c!==0||m!==0?{x:c,y:m}:{x:0,y:0}},yt=()=>{if(scrollSliderPassedData.ss_parallax!=="parallax")return;let i=document.querySelectorAll(w),t=0;i.forEach(e=>{let s=$(t);s!=!1&&(e.firstElementChild.style.transform=`translate(${s.x}px, ${s.y}px) `),t++})},wt=()=>{C.clear(),z.clear(),k.clear()};var U=class{constructor(t){this.container=t,this.viewport=t.parentElement,this.elements=[],this.elementData=[],this.isActive=!1,this.scroll={current:{x:0,y:0},last:{x:0,y:0}},this.containerWidth=0,this.containerHeight=0,this.viewportWidth=0,this.viewportHeight=0,this.elementBounds=null,this.boundsWidth=0,this.boundsHeight=0,this.init()}init(){scrollSliderPassedData.ss_infinite_scroll==="on"&&(this.isActive=!0,this.initializeElements(),this.updateDimensions(),this.calculateBounds(),window.addEventListener("resize",this.handleResize.bind(this)))}initializeElements(){this.elements=Array.from(this.container.querySelectorAll(".col")),this.elementData=this.elements.map((t,e)=>{let s=t.getBoundingClientRect(),o=this.container.getBoundingClientRect();return{element:t,originalX:s.left-o.left,originalY:s.top-o.top,width:s.width,height:s.height,infiniteScrollTransform:{x:0,y:0}}})}calculateBounds(){this.boundsWidth=this.containerWidth,this.boundsHeight=this.containerHeight}updateDimensions(){this.containerWidth=this.container.offsetWidth,this.containerHeight=this.container.offsetHeight,this.viewportWidth=this.viewport.offsetWidth,this.viewportHeight=this.viewport.offsetHeight}handleResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.elementData&&this.elementData.forEach(t=>{M(t.element,f.INFINITE_SCROLL,"")}),this.updateDimensions(),this.initializeElements(),this.calculateBounds(),this.updateElementPositions()},100)}updateScrollPosition(t,e){this.isActive&&(this.scroll.current.x=t,this.scroll.current.y=e,this.updateElementPositions())}updateElementPositions(){this.elementData.length&&this.elementData.forEach((t,e)=>{let s=t.originalX+this.scroll.current.x,o=t.originalY+this.scroll.current.y,r=s,n=o;if(scrollSliderPassedData.ss_parallax==="parallax"){let c=$(e);c!=!1&&(r+=c.x,n+=c.y)}if(scrollSliderPassedData.ss_scale_animation==="on"){let c=gt(t.element),m=t.width*(c-1),d=t.height*(c-1);r+=m,n+=d}if(this.boundsWidth>0){for(;r+t.width<0;)s+=this.boundsWidth,r+=this.boundsWidth;for(;r>this.viewportWidth;)s-=this.boundsWidth,r-=this.boundsWidth}if(this.boundsHeight>0){for(;n+t.height<0;)o+=this.boundsHeight,n+=this.boundsHeight;for(;n>this.viewportHeight;)o-=this.boundsHeight,n-=this.boundsHeight}let l=s-t.originalX,a=o-t.originalY;t.infiniteScrollTransform={x:l,y:a},this.applyInfiniteScrollTransform(t.element,t.infiniteScrollTransform)})}applyInfiniteScrollTransform(t,e){let s=e.x,o=e.y,r=`translate3d(${s}px, ${o}px, 0)`;M(t,f.INFINITE_SCROLL,r)}destroy(){this.isActive=!1,this.elementData&&this.elementData.forEach(t=>{M(t.element,f.INFINITE_SCROLL,"")}),this.resizeTimeout&&clearTimeout(this.resizeTimeout),window.removeEventListener("resize",this.handleResize.bind(this))}},xt=U;var q=class{constructor(t,e={}){this.container=t,this.altZoomTargetWasSet=!1,this.zoomOutTargetIfWeNeverZoomedIn_X=void 0,this.zoomOutTargetIfWeNeverZoomedIn_Y=void 0,this.child=t.firstElementChild,this.viewport=t.parentElement,this.onZoomChange=e.onZoomChange||null,this.onZoomingIn=e.onZoomingIn||null,this.onZoomingOut=e.onZoomingOut||null,this.previousZoom=-999,this.startOfContainerCoordinates={x:0,y:0},this.zoomTargetContainerCoordinates={x:0,y:0,zoom:1},this.containerCoordinatesWhenStartingZoom={x:0,y:0,zoom:1},this.startOfContainerCoordinatesTemp={x:0,y:0},this.containerCoordinatesWhenStartingZoomTemp={x:0,y:0,zoom:1},this.zoomTargetWindowCoordinatesTemp={x:0,y:0,zoom:1},this.zoomTargetContainerCoordinatesTemp={x:0,y:0,zoom:1},this.absCheck=.001,this.zoomingIn=!1,this.zoomingOut=!1,this.originalChildDimensions=this.child?{width:this.child.offsetWidth,height:this.child.offsetHeight}:{width:0,height:0},this.debugPoint=null,this.debugPointState={isZooming:!1,percentX:0,percentY:0},this.zoom={target:parseFloat(scrollSliderPassedData.ss_zoom_starting)/100,current:parseFloat(scrollSliderPassedData.ss_zoom_starting)/100,min:parseFloat(scrollSliderPassedData.ss_zoom_minimum)/100,max:parseFloat(scrollSliderPassedData.ss_zoom_maximum)/100,ease:.1},this.touch={initialDistance:0,initialZoom:1,isPinching:!1,centerX:void 0,centerY:void 0,hasZoomedInSession:!1,zoomSessionActive:!1},this.scrollZoom={accumulator:0,sensitivity:5e-4},this.lenisWheelMultiplier=3.2,this.isZoomingIn=!1,this.zoomOutTargetX=void 0,this.zoomOutTargetY=void 0,this.lenisInstance=null,this.lenisRafId=null,this.useLenisForZoom=!1,navigator.platform.toUpperCase().indexOf("WIN")>=0&&typeof Lenis!="undefined"&&(this.useLenisForZoom=!0),this.isEnabled=scrollSliderPassedData.ss_zoom_scroll==="on",this.isEnabled&&(this.useLenisForZoom&&this.initLenisZoom(),this.bindEvents())}initLenisZoom(){if(typeof Lenis=="undefined")return;let t=document.createElement("div");t.style.cssText="position: fixed; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; z-index: -9999;";let e=document.createElement("div"),s=2e4;e.style.cssText=`width: 1px; height: ${s}px;`,t.appendChild(e),document.body.appendChild(t),this.virtualScrollContainer=t,this.virtualContent=e,this.maxScrollValue=s;let o=this.zoom.max-this.zoom.min;this.lenisInstance=new Lenis({wrapper:t,content:e,duration:1.2,easing:a=>Math.min(1,1.001-Math.pow(2,-10*a)),orientation:"vertical",gestureOrientation:"vertical",smoothWheel:!0,wheelMultiplier:this.lenisWheelMultiplier,smoothTouch:!1,infinite:!1});let n=(this.zoom.target-this.zoom.min)/o*s;this.lenisInstance.scrollTo(n,{immediate:!0});let l=a=>{if(!this.lenisInstance)return;this.lenisInstance.raf(a);let c=this.lenisInstance.scroll,m=Math.max(0,Math.min(1,c/s)),d=this.zoom.min+m*o;this.zoom.target=Math.max(this.zoom.min,Math.min(this.zoom.max,d)),this.lenisRafId=requestAnimationFrame(l)};this.lenisRafId=requestAnimationFrame(l)}bindEvents(){this.isEnabled&&(this.useLenisForZoom?this.onWheelHandler=t=>{if(this.lenisInstance&&this.virtualScrollContainer){t.preventDefault();let e=new WheelEvent("wheel",{deltaY:t.deltaY,deltaX:t.deltaX,bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY});this.virtualScrollContainer.dispatchEvent(e)}}:this.onWheelHandler=t=>this.onWheel(t),this.viewport.addEventListener("wheel",this.onWheelHandler,{passive:!1})),this.isEnabled&&(this.onTouchStartHandler=t=>this.onTouchStart(t),this.onTouchMoveHandler=t=>this.onTouchMove(t),this.onTouchEndHandler=t=>this.onTouchEnd(t),this.viewport.addEventListener("touchstart",this.onTouchStartHandler,{passive:!1}),this.viewport.addEventListener("touchmove",this.onTouchMoveHandler,{passive:!1}),this.viewport.addEventListener("touchend",this.onTouchEndHandler,{passive:!1}),this.viewport.addEventListener("touchcancel",this.onTouchEndHandler,{passive:!1})),this.onMouseMoveHandler=t=>this.onMouseMove(t),this.viewport.addEventListener("mousemove",this.onMouseMoveHandler)}getMappedZoomLevel(){return(this.zoom.target-this.zoom.min)/(this.zoom.max-this.zoom.min)}onWheel(t){if(!this.isEnabled||this.useLenisForZoom)return;if(t.preventDefault(),navigator.platform.toUpperCase().indexOf("MAC")>=0){let s=t.deltaY*this.scrollZoom.sensitivity*3;this.zoom.target=Math.max(this.zoom.min,Math.min(this.zoom.max,this.zoom.target+s))}else{let s=t.deltaY*this.scrollZoom.sensitivity*3;this.zoom.target=Math.max(this.zoom.min,Math.min(this.zoom.max,this.zoom.target-s))}}onTouchStart(t){if(this.isEnabled)if(t.touches.length===2){t.preventDefault(),this.touch.hasZoomedInSession=!0,this.touch.zoomSessionActive=!0;let e=t.touches[0],s=t.touches[1];this.touch.initialDistance=this.getDistance(e,s),this.touch.initialZoom=this.zoom.target,this.touch.isPinching=!0;let o=this.getTouchCenter(e,s);this.touch.centerX=o.x,this.touch.centerY=o.y}else t.touches.length===1&&(this.touch.zoomSessionActive=!1,this.touch.hasZoomedInSession=!1)}onTouchMove(t){if(this.isEnabled){if(this.touch.isPinching&&t.touches.length===2){t.preventDefault();let e=t.touches[0],s=t.touches[1],r=this.getDistance(e,s)/this.touch.initialDistance,n=Math.max(this.zoom.min,Math.min(this.zoom.max,this.touch.initialZoom*r));n>this.zoom.target&&(this.touch.hasZoomedInSession=!0),this.zoom.target=n;let l=this.getTouchCenter(e,s);this.touch.centerX=l.x,this.touch.centerY=l.y}else if(t.touches.length===1){let e=this.touch.zoomSessionActive}}}onTouchEnd(t){this.isEnabled&&(this.touch.isPinching?this.touch.isPinching=!1:this.isInZoomSession()&&t.touches.length)}getDistance(t,e){let s=t.clientX-e.clientX,o=t.clientY-e.clientY;return Math.sqrt(s*s+o*o)}getTouchCenter(t,e){return{x:(t.clientX+e.clientX)/2,y:(t.clientY+e.clientY)/2}}update(){if(!this.isEnabled)return;this.zoom.current+=(this.zoom.target-this.zoom.current)*this.zoom.ease,this.previousZoom==-999&&(this.previousZoom=this.zoom.current),this.zoom.current>this.previousZoom?this.isZoomingIn==!1&&(this.setValuesForZoom(),this.setTargetValuesToUseForZoomingIn(),this.onZoomingIn&&this.onZoomingIn(this.zoom.current,this.previousZoom),this.isZoomingIn=!0,this.isZoomingOut=!1):this.zoom.current<this.previousZoom&&this.isZoomingOut==!1&&(this.onZoomingOut&&this.onZoomingOut(this.zoom.current,this.previousZoom),this.isZoomingOut=!0,this.isZoomingIn=!1),Math.abs(this.zoom.current-this.zoom.target)<this.absCheck&&this.touch.zoomSessionActive==!1&&this.touch.hasZoomedInSession==!1&&(this.isZoomingIn=!1,this.isZoomingOut=!1),this.onZoomChange&&Math.abs(this.zoom.current-this.previousZoom)>this.absCheck&&this.onZoomChange(this.zoom.current),this.previousZoom=this.zoom.current}getZoomLevel(){return this.zoom.current}setZoomLevel(t){this.zoom.target=Math.max(this.zoom.min,Math.min(this.zoom.max,t))}resetZoom(){this.zoom.target=parseFloat(scrollSliderPassedData.ss_zoom_starting)/100}isPinching(){return this.touch.isPinching}isInZoomSession(){return this.touch.zoomSessionActive}shouldAllowDragging(){return!this.touch.isPinching&&!this.isInZoomSession()}isZooming(){return this.isZoomingIn||this.isZoomingOut}getZoomState(){return{target:this.zoom.target,current:this.zoom.current,isPinching:this.touch.isPinching,isInZoomSession:this.isInZoomSession(),hasZoomedInSession:this.touch.hasZoomedInSession,isEnabled:this.isEnabled}}getEffectiveChildSize(){let t=this.container;if(!t)return{width:0,height:0};let e=t.offsetWidth,s=t.offsetHeight,o=e*this.zoom.current,r=s*this.zoom.current;return{width:o,height:r,offsetX:(o-e)/2,offsetY:(r-s)/2}}destroy(){this.isEnabled&&(this.lenisInstance&&(this.lenisRafId&&(cancelAnimationFrame(this.lenisRafId),this.lenisRafId=null),this.lenisInstance.destroy(),this.lenisInstance=null),this.virtualScrollContainer&&this.virtualScrollContainer.parentNode&&(this.virtualScrollContainer.parentNode.removeChild(this.virtualScrollContainer),this.virtualScrollContainer=null,this.virtualContent=null),this.debugPoint&&this.debugPoint.parentNode&&this.debugPoint.parentNode.removeChild(this.debugPoint),this.greenDebugDot&&this.greenDebugDot.parentNode&&this.greenDebugDot.parentNode.removeChild(this.greenDebugDot),this.resetChildTransforms(),this.onWheelHandler&&this.viewport.removeEventListener("wheel",this.onWheelHandler),this.onTouchStartHandler&&this.viewport.removeEventListener("touchstart",this.onTouchStartHandler),this.onTouchMoveHandler&&this.viewport.removeEventListener("touchmove",this.onTouchMoveHandler),this.onTouchEndHandler&&(this.viewport.removeEventListener("touchend",this.onTouchEndHandler),this.viewport.removeEventListener("touchcancel",this.onTouchEndHandler)),this.onMouseMoveHandler&&this.viewport.removeEventListener("mousemove",this.onMouseMoveHandler))}resetChildTransforms(){let t=this.container.firstElementChild;t&&(t.style.transform="")}startZoomInToPoint(){let t=window.innerWidth/2,e=window.innerHeight/2,s=this.zoomTargetWindowCoordinates.x,o=this.zoomTargetWindowCoordinates.y,r=this.getTransformValues(),n=r.x,l=r.y,m=100/this.zoomTargetContainerCoordinates.zoom*this.zoom.min/100,d=t+n*m-s*m,u=e+l*m-o*m;!isNaN(d)&&!isNaN(u)&&(this.zoomOutTargetX=d,this.zoomOutTargetY=u)}startZoomOutToPoint(t,e){this.zoomingOut=!0,this.zoomingIn=!1,this.startOfZoomOutX=t,this.startOfZoomOutY=e,this.startZoomOfZoomOut=this.zoom.current}setZoomOutPointOnceForWhenWeNeverZoomedIn(){if(this.altZoomOutTargetWasSet)return;let t=window.innerWidth/2,e=window.innerHeight/2,s=window.innerWidth/2,o=window.innerHeight/2,r=this.getTransformValues(),n=r.x,l=r.y,m=100/this.zoomTargetContainerCoordinates.zoom*this.zoom.min/100,d=t+n*m-s*m,u=e+l*m-o*m;this.zoomOutTargetIfWeNeverZoomedIn_X=d,this.zoomOutTargetIfWeNeverZoomedIn_Y=u,this.altZoomOutTargetWasSet=!0}getZoomToPointCoordinatesForZoomingOut(){let t=this.startOfZoomOutX,e=this.startOfZoomOutY,s=this.startZoomOfZoomOut,o,r;this.zoomOutTargetX!=null&&this.zoomOutTargetY!=null?(o=this.zoomOutTargetX,r=this.zoomOutTargetY):(this.setZoomOutPointOnceForWhenWeNeverZoomedIn(),o=this.zoomOutTargetIfWeNeverZoomedIn_X,r=this.zoomOutTargetIfWeNeverZoomedIn_Y);let n=p(this.zoom.current,this.zoom.min,s,0,1);n=1-n;let l=t+(o-t)*n,a=e+(r-e)*n;return{x:l,y:a}}getZoomToPointCoordinatesForZoomingIn(){let t=this.startOfContainerCoordinates.x,e=this.startOfContainerCoordinates.y,s=this.zoomTargetWindowCoordinates.x,o=this.zoomTargetWindowCoordinates.y,r=this.zoomTargetContainerCoordinates.zoom,n=this.zoom.max,a=100/r*n/100,c=window.innerWidth/2,m=window.innerHeight/2,d=this.containerCoordinatesWhenStartingZoom.x,u=this.containerCoordinatesWhenStartingZoom.y,_=c+d*a-s*a,Q=m+u*a-o*a,X=p(this.zoom.current,r,this.zoom.max,0,1),Ot=t+(_-t)*X,Yt=e+(Q-e)*X;return{x:Ot,y:Yt}}stopZoomToPoint(){}setTargetValuesToUseForZoomingIn(){this.zoomTargetWindowCoordinates=I({},this.zoomTargetWindowCoordinatesTemp),this.zoomTargetContainerCoordinates=I({},this.zoomTargetContainerCoordinatesTemp),this.containerCoordinatesWhenStartingZoom=I({},this.containerCoordinatesWhenStartingZoomTemp),this.startOfContainerCoordinates=I({},this.startOfContainerCoordinatesTemp)}getTransformValues(){let t=this.container.style.transform,e=0,s=0;if(t){let o=t.match(/translate3d\(([^,]+),\s*([^,]+),\s*([^)]+)\)/);if(o)e=parseFloat(o[1]),s=parseFloat(o[2]);else{let r=t.match(/translate\(([^,]+),\s*([^)]+)\)/);r&&(e=parseFloat(r[1]),s=parseFloat(r[2]))}}return{x:e,y:s}}setValuesForZoom(){if(!this.isEnabled)return;(this.zoom.current<=0||!isFinite(this.zoom.current))&&(this.zoom.current=this.zoom.min||.1);let t=this.getTransformValues(),e=t.x,s=t.y,o,r;this.touch.centerX!==void 0&&this.touch.centerY!==void 0?(o=this.touch.centerX,r=this.touch.centerY):(o=this.mouseX,r=this.mouseY),r!=null&&o!=null&&(this.startOfContainerCoordinatesTemp={x:e,y:s},this.containerCoordinatesWhenStartingZoomTemp={x:e,y:s,zoom:this.zoom.current},this.zoomTargetWindowCoordinatesTemp={x:o,y:r,zoom:this.zoom.current},this.zoomTargetContainerCoordinatesTemp={x:e,y:s,zoom:this.zoom.current})}onMouseMove(t){this.mouseX=t.clientX,this.mouseY=t.clientY}},St=q;var ve=!0,G=null,ye=i=>{if(scrollSliderPassedData.ss_infinite_scroll=="")return[i];if(!i||!i.parentNode)return[i];let t=i.parentNode;return Array.from(t.children)},we=(i,t,e)=>{let s=`transform ${e}ms cubic-bezier(0.23, 1, 0.32, 1), opacity ${e}ms`;ye(i).forEach(r=>{r.style.transition=s,t?(scrollSliderPassedData.ss_scale_animation==="on"&&(r.style.transform=`scale(${parseFloat(scrollSliderPassedData.ss_scale_to)/100})`),scrollSliderPassedData.ss_opacity_animation==="on"&&r.style.setProperty("opacity",parseFloat(scrollSliderPassedData.ss_opacity_to)/100,"important")):(scrollSliderPassedData.ss_scale_animation==="on"&&(r.style.transform=`scale(${parseFloat(scrollSliderPassedData.ss_scale_from)/100})`),scrollSliderPassedData.ss_opacity_animation==="on"&&r.style.setProperty("opacity",parseFloat(scrollSliderPassedData.ss_opacity_from)/100,"important"))})},_e=i=>{},xe=(i,t)=>{i.forEach(e=>{if(!ve||e.target.parentNode.classList.contains("no-animation"))return;let s=parseFloat(scrollSliderPassedData.ss_animation_speed),o=e.target;scrollSliderPassedData.ss_infinite_scroll=="on"?o=e.target.firstElementChild.firstElementChild:o=e.target,we(o,e.isIntersecting,s)})},Se={threshold:0,rootMargin:"-30px"},A=null,Pt=()=>{G=document.querySelectorAll(w),A=new IntersectionObserver(xe,Se),G.forEach(i=>{A.observe(i)})},L=()=>{A&&(G.forEach(i=>{let t=i.firstElementChild.firstElementChild;_e(t),A.unobserve(i)}),A=null)};var Mt=!0;scrollSliderPassedData.ss_disable_animations_touch==="on"&&window.utility.isTouchDevice&&(Mt=!1);var D=null,F=new Set,v={width:window.innerWidth,height:window.innerHeight},S={x:1e-6,y:1e-6},h=null;function Tt(){let i=typeof scrollSliderPassedData!="undefined"&&scrollSliderPassedData.ss_momentum_velocity!=null?scrollSliderPassedData.ss_momentum_velocity:"16",t=parseFloat(i);return Number.isFinite(t)&&t>0?t:16}window.addEventListener("resize",()=>{v.width=window.innerWidth,v.height=window.innerHeight});function Ct(){F.forEach(i=>{i.render()}),D=requestAnimationFrame(Ct)}var _t=()=>S,J=class{constructor(t){this.container=t,this.viewport=t.parentElement,this.containerChild=t.firstElementChild,this.scroll={target:{x:0,y:0},current:{x:0,y:0},last:{x:0,y:0},ease:.1},this.mouse={x:{t:0,c:0},y:{t:0,c:0},press:{t:0}},this.drag={startX:0,startY:0,scrollX:0,scrollY:0,startTime:0,hasMoved:!1},this.momentum={velocityX:0,velocityY:0,lastTime:0,lastX:0,lastY:0,decay:.8,dragDecay:.95,minVelocity:.1,maxVelocity:100,isFromDrag:!1},this.isDragging=!1,this.isZoomingOut=!1,this.containerWidth=this.container.offsetWidth,this.containerHeight=this.container.offsetHeight,this.viewportWidth=this.viewport.offsetWidth,this.viewportHeight=this.viewport.offsetHeight,scrollSliderPassedData.ss_infinite_scroll==="on"&&(this.infiniteScrollManager=new xt(this.container)),scrollSliderPassedData.ss_zoom_scroll==="on"&&(h=new St(this.container,{onZoomChange:e=>{},onZoomingOut:()=>{h.isZoomingOut==!1&&h.startZoomOutToPoint(this.scroll.current.x,this.scroll.current.y),this.isZoomingOut=!0},onZoomingIn:()=>{if(h){let e,s;h.isPinching()?(e=h.touch.centerX,s=h.touch.centerY):(e=this.mouse.x.t*v.width,s=this.mouse.y.t*v.height),h.startZoomInToPoint(e,s,this.scroll.target.x,this.scroll.target.y)}this.isZoomingOut=!1}})),this.bindEvents(),this.positionViewPortAtStart(),setTimeout(()=>{this.updateBoundaries(),window.laytheme.emit("scrollslider-initialized")},100),Mt&&(scrollSliderPassedData.ss_alternative_animations=="style2"||scrollSliderPassedData.ss_alternative_animations=="style3")&&pt(this.container),F.add(this),D||(D=requestAnimationFrame(Ct)),window.addEventListener("resize",this.handleResize.bind(this))}handleResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.scroll.target.x=0,this.scroll.target.y=0,this.scroll.current.x=0,this.scroll.current.y=0,this.scroll.last.x=0,this.scroll.last.y=0,scrollSliderPassedData.ss_movement_type==="momentum"&&(this.momentum.velocityX=0,this.momentum.velocityY=0,this.momentum.lastTime=0,this.momentum.lastX=0,this.momentum.lastY=0),this.containerWidth=this.container.offsetWidth,this.containerHeight=this.container.offsetHeight,this.viewportWidth=this.viewport.offsetWidth,this.viewportHeight=this.viewport.offsetHeight,this.updateBoundaries(),this.infiniteScrollManager&&this.infiniteScrollManager.isActive&&this.infiniteScrollManager.handleResize()},100)}updateBoundaries(){if(h){let t=h.getEffectiveChildSize(),e=t.width,s=t.height,o=h.zoom.current;o<h.zoom.min&&(o=h.zoom.min),o>h.zoom.max&&(o=h.zoom.max);let r=h.getMappedZoomLevel(),n=e*.3,l=s*.3,a=-(e-this.viewportWidth);a-=this.viewportWidth/2;let c=0;c+=this.viewportWidth/2;let m=-(s-this.viewportHeight);m-=this.viewportHeight/2;let d=0;d+=this.viewportHeight/2;let u=-e+n,_=Math.max(0,this.viewportWidth-n),Q=-s+l,X=Math.max(0,this.viewportHeight-l);this.minX=p(r,0,.5,u,a),this.maxX=p(r,0,.5,_,c),this.minY=p(r,0,.5,Q,m),this.maxY=p(r,0,.5,X,d)}else this.maxX=0,this.minX=-(this.containerWidth-this.viewportWidth),this.maxY=0,this.minY=-(this.containerHeight-this.viewportHeight)}bindEvents(){this.onMouseDownHandler=t=>this.onMouseDown(t),this.onMouseMoveHandler=t=>this.onMouseMove(t),this.onMouseUpHandler=()=>this.onMouseUp(),this.onTouchStartHandler=t=>this.onTouchStart(t),this.onTouchMoveHandler=t=>this.onTouchMove(t),this.onTouchEndHandler=t=>this.onTouchEnd(t),this.onWheelHandler=t=>this.onWheel(t),this.viewport.addEventListener("mousedown",this.onMouseDownHandler),this.viewport.addEventListener("mousemove",this.onMouseMoveHandler),this.viewport.addEventListener("mouseup",this.onMouseUpHandler),this.viewport.addEventListener("mouseleave",this.onMouseUpHandler),this.viewport.addEventListener("touchstart",this.onTouchStartHandler,{passive:!1}),this.viewport.addEventListener("touchmove",this.onTouchMoveHandler,{passive:!1}),this.viewport.addEventListener("touchend",this.onTouchEndHandler,{passive:!1}),this.viewport.addEventListener("touchcancel",this.onTouchEndHandler,{passive:!1}),this.viewport.addEventListener("wheel",this.onWheelHandler,{passive:!1})}onWheel(t){if(scrollSliderPassedData.ss_zoom_scroll==="on")return;if(navigator.platform.toUpperCase().indexOf("WIN")>=0){t.preventDefault();return}t.preventDefault();let s=.2;scrollSliderPassedData.ss_movement_type==="momentum"?(this.momentum.velocityX-=t.deltaX*s,this.momentum.velocityY-=t.deltaY*s,window.utility.isTouchDevice||(this.momentum.velocityX=Math.max(-this.momentum.maxVelocity,Math.min(this.momentum.maxVelocity,this.momentum.velocityX)),this.momentum.velocityY=Math.max(-this.momentum.maxVelocity,Math.min(this.momentum.maxVelocity,this.momentum.velocityY))),this.momentum.isFromDrag=!1):(this.scroll.target.x-=t.deltaX*s,this.scroll.target.y-=t.deltaY*s,this.constrainTarget())}onMouseDown(t){t.preventDefault(),this.isDragging=!0,document.documentElement.classList.add("dragging"),this.mouse.press.t=1,this.drag.startX=t.clientX,this.drag.startY=t.clientY,scrollSliderPassedData.ss_movement_type==="momentum"&&(this.scroll.target.x=this.scroll.current.x,this.scroll.target.y=this.scroll.current.y),this.drag.scrollX=this.scroll.target.x,this.drag.scrollY=this.scroll.target.y,scrollSliderPassedData.ss_movement_type==="momentum"&&(this.momentum.velocityX*=.1,this.momentum.velocityY*=.1,this.momentum.lastTime=Date.now(),this.momentum.lastX=this.scroll.target.x,this.momentum.lastY=this.scroll.target.y),h&&h.stopZoomToPoint()}onMouseUp(){this.isDragging=!1,document.documentElement.classList.remove("dragging"),this.mouse.press.t=0}onMouseMove(t){if(!(h&&Math.abs(h.zoom.target-h.zoom.current)>.001)&&(this.mouse.x.t=t.clientX/v.width,this.mouse.y.t=t.clientY/v.height,this.isDragging)){let e=t.clientX-this.drag.startX,s=t.clientY-this.drag.startY;if(this.scroll.target.x=this.drag.scrollX+e,this.scroll.target.y=this.drag.scrollY+s,this.constrainTarget(),scrollSliderPassedData.ss_movement_type==="momentum"){let o=Date.now();if(this.momentum.lastTime>0){let r=o-this.momentum.lastTime;if(r>0){let n=this.scroll.target.x-this.momentum.lastX,l=this.scroll.target.y-this.momentum.lastY,a=Tt();this.momentum.velocityX=n/r*a,this.momentum.velocityY=l/r*a,this.momentum.velocityX=Math.max(-this.momentum.maxVelocity,Math.min(this.momentum.maxVelocity,this.momentum.velocityX)),this.momentum.velocityY=Math.max(-this.momentum.maxVelocity,Math.min(this.momentum.maxVelocity,this.momentum.velocityY)),this.momentum.isFromDrag=!0}}this.momentum.lastTime=o,this.momentum.lastX=this.scroll.target.x,this.momentum.lastY=this.scroll.target.y}}}onTouchStart(t){if(scrollSliderPassedData.ss_zoom_scroll==="on"&&t.touches.length===2){t.preventDefault();return}if(scrollSliderPassedData.ss_zoom_scroll==="on"&&h&&!h.shouldAllowDragging())return;let e=t.touches[0];this.mouse.x.t=e.clientX/v.width,this.mouse.y.t=e.clientY/v.height,this.drag.startX=e.clientX,this.drag.startY=e.clientY,this.drag.startTime=Date.now(),this.drag.hasMoved=!1,scrollSliderPassedData.ss_movement_type==="momentum"&&(this.scroll.target.x=this.scroll.current.x,this.scroll.target.y=this.scroll.current.y),this.drag.scrollX=this.scroll.target.x,this.drag.scrollY=this.scroll.target.y,scrollSliderPassedData.ss_movement_type==="momentum"&&(this.momentum.velocityX*=.1,this.momentum.velocityY*=.1,this.momentum.lastTime=Date.now(),this.momentum.lastX=this.scroll.target.x,this.momentum.lastY=this.scroll.target.y)}onTouchMove(t){if(scrollSliderPassedData.ss_zoom_scroll==="on"&&t.touches.length===2){t.preventDefault();return}if(scrollSliderPassedData.ss_zoom_scroll==="on"&&h&&!h.shouldAllowDragging())return;let e=t.touches[0],s=e.clientX-this.drag.startX,o=e.clientY-this.drag.startY;if(Math.sqrt(s*s+o*o)>10&&!this.drag.hasMoved&&(this.drag.hasMoved=!0,this.isDragging=!0,document.documentElement.classList.add("dragging"),this.mouse.press.t=1),this.drag.hasMoved){if(this.mouse.x.t=e.clientX/v.width,this.mouse.y.t=e.clientY/v.height,this.scroll.target.x=this.drag.scrollX+s,this.scroll.target.y=this.drag.scrollY+o,this.constrainTarget(),scrollSliderPassedData.ss_movement_type==="momentum"){let l=Date.now();if(this.momentum.lastTime>0){let a=l-this.momentum.lastTime;if(a>0){let c=this.scroll.target.x-this.momentum.lastX,m=this.scroll.target.y-this.momentum.lastY,d=Tt();this.momentum.velocityX=c/a*d,this.momentum.velocityY=m/a*d,this.momentum.velocityX=Math.max(-this.momentum.maxVelocity,Math.min(this.momentum.maxVelocity,this.momentum.velocityX)),this.momentum.velocityY=Math.max(-this.momentum.maxVelocity,Math.min(this.momentum.maxVelocity,this.momentum.velocityY)),this.momentum.isFromDrag=!0}}this.momentum.lastTime=l,this.momentum.lastX=this.scroll.target.x,this.momentum.lastY=this.scroll.target.y}t.preventDefault()}}onTouchEnd(t){if(scrollSliderPassedData.ss_zoom_scroll==="on"&&t.touches.length===2){t.preventDefault();return}scrollSliderPassedData.ss_zoom_scroll==="on"&&h&&!h.shouldAllowDragging()||(this.drag.hasMoved&&t.preventDefault(),this.isDragging=!1,this.drag.hasMoved=!1,document.documentElement.classList.remove("dragging"),this.mouse.press.t=0)}positionViewPortAtStartAlt(){let t,e,s=h.getEffectiveChildSize(),o=s.width,r=s.height,n=s.offsetX,l=s.offsetY;t=-(o/2-this.viewportWidth/2)+n,e=-(r/2-this.viewportHeight/2)+l;let a=(1-h.getMappedZoomLevel())/10;this.scroll.target.x+=(t-this.scroll.target.x)*a,this.scroll.target.y+=(e-this.scroll.target.y)*a}constrainTarget(){scrollSliderPassedData.ss_infinite_scroll!=="on"&&(this.scroll.target.x>this.maxX&&(this.scroll.target.x=this.maxX-1),this.scroll.target.x<this.minX&&(this.scroll.target.x=this.minX+1),this.scroll.target.y>this.maxY&&(this.scroll.target.y=this.maxY-1),this.scroll.target.y<this.minY&&(this.scroll.target.y=this.minY+1))}positionViewPortAtStart(){switch(scrollSliderPassedData.ss_starting_position){case"center":if(h){let t=h.getEffectiveChildSize(),e=t.width,s=t.height;this.scroll.target.x=this.viewportWidth/2-e/2,this.scroll.target.y=this.viewportHeight/2-s/2}else this.scroll.target.x=-(this.containerWidth/2-this.viewportWidth/2),this.scroll.target.y=-(this.containerHeight/2-this.viewportHeight/2);break;case"top-left":break;case"top-center":if(h){let t=h.getEffectiveChildSize(),e=t.width,s=t.height;this.scroll.target.x=this.viewportWidth/2-e/2,this.scroll.target.y=0}else{let t=this.container.getBoundingClientRect();this.scroll.target.x=this.viewportWidth/2-t.width/2,this.scroll.target.y=0}break}this.scroll.current.x=this.scroll.target.x,this.scroll.current.y=this.scroll.target.y,this.scroll.last.x=this.scroll.current.x,this.scroll.last.y=this.scroll.current.y}render(){let t=!1;if(h&&(h.update(),!this.isDragging||h.isPinching()||h.isInZoomSession())){let o=h.isZoomingIn,r=h.isZoomingOut,n=!1;o?n=h.getZoomToPointCoordinatesForZoomingIn():r&&(n=h.getZoomToPointCoordinatesForZoomingOut()),n!=!1&&isFinite(n.x)&&isFinite(n.y)&&(this.scroll.current.x=n.x,this.scroll.current.y=n.y,this.scroll.target.x=n.x,this.scroll.target.y=n.y,t=!0)}if(!t)if(scrollSliderPassedData.ss_movement_type==="momentum"&&!this.isDragging){this.scroll.current.x+=this.momentum.velocityX,this.scroll.current.y+=this.momentum.velocityY;let o=this.momentum.isFromDrag?this.momentum.dragDecay:this.momentum.decay;this.momentum.velocityX*=o,this.momentum.velocityY*=o,Math.abs(this.momentum.velocityX)<this.momentum.minVelocity&&(this.momentum.velocityX=0),Math.abs(this.momentum.velocityY)<this.momentum.minVelocity&&(this.momentum.velocityY=0),(!this.infiniteScrollManager||!this.infiniteScrollManager.isActive)&&(this.scroll.current.x>this.maxX&&(this.scroll.current.x=this.maxX,this.momentum.velocityX=0),this.scroll.current.x<this.minX&&(this.scroll.current.x=this.minX,this.momentum.velocityX=0),this.scroll.current.y>this.maxY&&(this.scroll.current.y=this.maxY,this.momentum.velocityY=0),this.scroll.current.y<this.minY&&(this.scroll.current.y=this.minY,this.momentum.velocityY=0))}else(!h||!h.isZooming())&&(this.scroll.current.x+=(this.scroll.target.x-this.scroll.current.x)*this.scroll.ease,this.scroll.current.y+=(this.scroll.target.y-this.scroll.current.y)*this.scroll.ease);let e=this.scroll.current.x-this.scroll.last.x,s=this.scroll.current.y-this.scroll.last.y;if((Math.abs(e)>.001||Math.abs(s)>.001)&&window.laytheme.emit("scrollslider-sliding"),scrollSliderPassedData.ss_movement_type==="momentum"?(S.x=S.x*(1-.3)+e*.3,S.y=S.y*(1-.3)+s*.3):(S.x=e,S.y=s),yt(),this.mouse.x.c+=(this.mouse.x.t-this.mouse.x.c)*.1,this.mouse.y.c+=(this.mouse.y.t-this.mouse.y.c)*.1,this.infiniteScrollManager&&this.infiniteScrollManager.isActive){if(this.infiniteScrollManager.updateScrollPosition(this.scroll.current.x,this.scroll.current.y),scrollSliderPassedData.ss_extra_mouse_movement=="on"){let o=K(),r=o.x,n=o.y,l=r,a=n,c=`translate3d(${l}px, ${a}px, 0)`;if(h){let d=h.getZoomLevel();c=`translate3d(${l}px, ${a}px, 0) scale(${d})`}let m=h?`${l}-${a}-${h.getZoomLevel()}`:`${l}-${a}`;(!this.cachedTransform||this.cachedTransform.key!==m)&&(this.cachedTransform={x:l,y:a,key:m},this.container.style.transform=c)}}else{let o=this.scroll.current.x,r=this.scroll.current.y;if(scrollSliderPassedData.ss_extra_mouse_movement=="on"){let a=K(),c=a.x,m=a.y;c=c*-1,m=m*-1,this.containerChild.style.transform=`translate3d(${c}px, ${m}px, 0)`}let n=`translate3d(${o}px, ${r}px, 0)`;if(h){let a=h.getZoomLevel();n=`translate3d(${o}px, ${r}px, 0) scale(${a})`}let l=h?`${o}-${r}-${h.getZoomLevel()}`:`${o}-${r}`;(!this.cachedTransform||this.cachedTransform.key!==l)&&(this.cachedTransform={x:o,y:r,key:l},this.container.style.transform=n)}(scrollSliderPassedData.ss_alternative_animations=="style2"||scrollSliderPassedData.ss_alternative_animations=="style3")&&vt(this.container),this.scroll.last.x=this.scroll.current.x,this.scroll.last.y=this.scroll.current.y,this.updateBoundaries()}destroy(){F.delete(this),F.size===0&&D&&(cancelAnimationFrame(D),D=null),this.viewport.removeEventListener("mousedown",this.onMouseDownHandler),this.viewport.removeEventListener("mousemove",this.onMouseMoveHandler),this.viewport.removeEventListener("mouseup",this.onMouseUpHandler),this.viewport.removeEventListener("mouseleave",this.onMouseUpHandler),this.viewport.removeEventListener("touchstart",this.onTouchStartHandler),this.viewport.removeEventListener("touchmove",this.onTouchMoveHandler),this.viewport.removeEventListener("touchend",this.onTouchEndHandler),this.viewport.removeEventListener("touchcancel",this.onTouchEndHandler),this.viewport.removeEventListener("wheel",this.onWheelHandler),this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.infiniteScrollManager&&this.infiniteScrollManager.destroy(),L(),h&&h.destroy()}},Z=()=>h,zt=J;var Dt=30,T,j=!1,P=null,Et=function(){j||(T=new Particle(0,0),Pe(),bt(),j=!0)},H=1,It=function(i){P||(P=requestAnimationFrame(()=>{let t=Z();if(t&&t.isZooming()){P=null;return}var e=p(i.clientX,0,window.innerWidth,-H,H),s=p(i.clientY,0,window.innerHeight,-H,H);T.updateDestination(e,s),P=null}))},K=function(){return T?{x:T.x,y:T.y}:{x:0,y:0}},bt=function(){T&&T.update(),requestAnimationFrame(bt)},Pe=function(){window.utility.isTouchDevice||window.addEventListener("mousemove",It,{passive:!0})},Zt=function(){P&&(cancelAnimationFrame(P),P=null),j&&(window.removeEventListener("mousemove",It),j=!1)};(function(){function i(t,e){this.x=t,this.y=e,this.virtualX=t,this.virtualY=e,this.destX=t,this.destY=e,this.xvelocity=0,this.yvelocity=0}i.prototype.update=function(){this.xvelocity=this.destX-this.virtualX,this.yvelocity=this.destY-this.virtualY,Math.abs(this.xvelocity)>.001&&(this.xvelocity*=.05),Math.abs(this.yvelocity)>.001&&(this.yvelocity*=.05),this.virtualX+=this.xvelocity,this.virtualY+=this.yvelocity,this.x=Math.min(1,Math.max(-1,this.virtualX))*Dt,this.y=Math.min(1,Math.max(-1,this.virtualY))*Dt},i.prototype.updateDestination=function(t,e){this.destX=t,this.destY=e},window.Particle=i})();var Te=!1;$grids=void 0;var et=[],N=!1,x=null,it=!1;window.laytheme.on("newpageshown",function(i,t,e,s){let o=i&&i.type?i.type:null,r=i&&i.id!=null?parseInt(i.id,10):null;if(s&&s.isProjectOverlay===!0){if(jQuery("html").hasClass("scrollslider-active")){N=!0;let l=document.body.getAttribute("data-type")||null,a=document.body.getAttribute("data-id"),c=a!=null?parseInt(a,10):null;x={type:l,id:c}}else N=!1,x=null;return}if(N&&x){let l=x.type!=null&&o===x.type,a=x.id!=null&&r===x.id;l&&a&&(it=!0),N=!1}});window.laytheme.on("project_overlay_before_animate_in",function(){(jQuery("body>.lay-content").hasClass("scrollslider-active")||jQuery("body>.lay-content").hasClass("infinite-scrollslider-active"))&&(jQuery("html").hasClass("scrollslider-active")||jQuery("html").addClass("scrollslider-active"))});var Me=function(){window.laytheme.on("content_ready",function(i,t,e){let o=window.utility_controller.isProjectsOverlayEnabled()&&window.projects_overlays.isOverlayDisplayBlock(),r=e&&e.isProjectOverlay===!0;if(r||o&&window.projects_overlays.shouldOpenOverlay()==!0&&window.projects_overlays.shouldCloseOverlay()==!1)return;if(it){it=!1,x=null;return}let n=!r&&(jQuery("body>.lay-content").hasClass("scrollslider-active")||jQuery("body>.lay-content").hasClass("infinite-scrollslider-active"));if(o&&n){jQuery("html").hasClass("scrollslider-active")||jQuery("html").addClass("scrollslider-active");return}if(!Y()){E();return}o?window.projects_overlays.shouldCloseOverlay()==!0&&window.projects_overlays.shouldOpenOverlay()==!1&&(Ce(i),window.laytheme.once("projectoverlayclosed",function(){At(i)})):At(i)})};Me();var Ce=function(i){$grids=void 0;var t=R(i),e=t.closest(".lay-content");!e.hasClass("scrollslider-active")&&!e.hasClass("infinite-scrollslider-active")&&e.addClass("scrollslider-project-overlay-hide")},At=function(i){$grids=void 0;var t=R(i),e=t.closest(".lay-content");!e.hasClass("scrollslider-active")&&!e.hasClass("infinite-scrollslider-active")?(E(),st(t)):(e.hasClass("scrollslider-active")||e.hasClass("infinite-scrollslider-active"))&&jQuery("html").addClass("scrollslider-active")},st=function(i){if(scrollSliderPassedData.ss_disable_for_phone=="on"&&window.utility.isPhoneSize){jQuery("html").removeClass("scrollslider-active");return}if(i==null||i==null||i==!1){jQuery("html").removeClass("scrollslider-active");return}if(!jQuery("html").hasClass("scrollslider-active")){var t=!0;scrollSliderPassedData.ss_disable_animations_touch==="on"&&window.utility.isTouchDevice&&(t=!1),jQuery("html").addClass("scrollslider-active"),O(i,!0),scrollSliderPassedData.ss_extra_mouse_movement=="on"&&Et();var e=function(s){s.find(".grid-inner>.col, #custom-phone-grid .grid-inner>.col").each(function(){var o=this;(o.style.transitionDelay||o.style.transitionDelay==="")&&(o.style.transitionDelay="");var r=o.getAttribute("style");if(r&&r.includes("transition-delay")){var n=r.replace(/transition-delay\s*:\s*[^;]+;?/gi,"").trim();n.endsWith(";")&&(n=n.slice(0,-1)),n?o.setAttribute("style",n):o.removeAttribute("style")}})};i.each(function(){var s=i.css("background-color");jQuery("html").css("background-color",s),scrollSliderPassedData.ss_infinite_scroll==="on"?jQuery(this).closest(".lay-content").addClass("infinite-scrollslider-active"):jQuery(this).closest(".lay-content").addClass("scrollslider-active");let o=new zt(this);et.push(o),setTimeout(function(){var r=i.closest(".lay-content");r.removeClass("scrollslider-project-overlay-hide"),r.addClass("animate-scrollslider"),r.one("animationend",function(){r.removeClass("animate-scrollslider")}),i.closest(".lay-content").addClass("scrollslider-show")},100)}),e(i),setTimeout(function(){e(i)},50),setTimeout(function(){e(i)},200),scrollSliderPassedData.ss_alternative_animations=="style1"&&t&&Pt(),Te&&setTimeout(()=>{jQuery(".lay-content.scrollslider-active").addClass("debug")},1e3)}},E=function(){jQuery("html").removeClass("scrollslider-active"),jQuery("html").css("background-color",""),jQuery(".lay-content.scrollslider-active #grid").attr("style",""),jQuery(".lay-content.scrollslider-active #grid .grid-inner").attr("style",""),jQuery(".lay-content.scrollslider-active #grid .col").attr("style",""),jQuery(".lay-content.scrollslider-active #grid .col > *").attr("style",""),jQuery(".lay-content.infinite-scrollslider-active #grid").attr("style",""),jQuery(".lay-content.infinite-scrollslider-active #grid .grid-inner").attr("style",""),jQuery(".lay-content.infinite-scrollslider-active #grid .col").attr("style",""),jQuery(".lay-content.infinite-scrollslider-active #grid .col > *").attr("style",""),jQuery(".lay-content.scrollslider-active").removeClass("scrollslider-active"),jQuery(".lay-content.infinite-scrollslider-active").removeClass("infinite-scrollslider-active"),jQuery(".lay-content.scrollslider-show").removeClass("scrollslider-show"),at(),wt(),ct(),Zt(),L(),et.forEach(i=>{i&&typeof i.destroy=="function"&&i.destroy()}),et=[]},tt=scrollSliderPassedData.ss_disable_for_phone=="",Xt=jQuery("body>.lay-content").hasClass("hascustomphonegrid");window.laytheme.on("sizechanged",function(){jQuery("#footer-region").css("display","none");var i=jQuery("html").hasClass("scrollslider-active");window.utility.isPhoneSize?tt?tt&&Xt&&(E(),st()):E():window.utility.isTabletSize?tt&&Xt?(E(),st()):i&&O(!1):window.utility.isDesktopSize&&i&&O(!1),setTimeout(function(){jQuery("#footer-region").css("display","")},0)});window.scrollSlider={isActiveHere:Y,cleanup:E};})();