!function(t){"use strict";const e=t.params,n=(document.querySelector.bind(document),(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t)),i=()=>null,s=t=>null===t||t===undefined?"":t,o="wc/store/checkout";function a(t){document.querySelectorAll("wc-order-attribution-inputs").forEach((t,e)=>{e>0&&t.remove()});for(const e of document.querySelectorAll("wc-order-attribution-inputs"))e.values=t}function r(t){window.wp&&window.wp.data&&window.wp.data.dispatch&&window.wc&&window.wc.wcBlocksData&&window.wp.data.dispatch(window.wc.wcBlocksData.CHECKOUT_STORE_KEY).setExtensionData("woocommerce/order-attribution",t,!0)}function c(){return"undefined"!=typeof sbjs}function d(){if(window.wp&&window.wp.data&&"function"==typeof window.wp.data.subscribe){const e=window.wp.data.subscribe(function(){e(),r(t.getAttributionData())},o)}}t.getAttributionData=function(){const s=e.allowTracking&&c()?n:i,o=c()?sbjs.get:{},a=Object.entries(t.fields).map(([t,e])=>[t,s(o,e)]);return Object.fromEntries(a)},t.setOrderTracking=function(n){if(e.allowTracking=n,n){if(!c())return;sbjs.init({lifetime:Number(e.lifetime),session_length:Number(e.session),base64:Boolean(e.base64),timezone_offset:"0"})}else!function(){const t=window.location.hostname;["sbjs_current","sbjs_current_add","sbjs_first","sbjs_first_add","sbjs_session","sbjs_udata","sbjs_migrations","sbjs_promo"].forEach(e=>{document.cookie=`${e}=; path=/; max-age=-999; domain=.${t};`})}();const i=t.getAttributionData();a(i),r(i)},t.setOrderTracking(e.allowTracking),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",d):d(),window.customElements.define("wc-order-attribution-inputs",class extends HTMLElement{constructor(){if(super(),this._fieldNames=Object.keys(t.fields),this.hasOwnProperty("_values")){let t=this.values;delete this.values,this.values=t||{}}}connectedCallback(){this.innerHTML="";const t=new DocumentFragment;for(const n of this._fieldNames){const i=document.createElement("input");i.type="hidden",i.name=`${e.prefix}${n}`,i.value=s(this.values&&this.values[n]||""),t.appendChild(i)}this.appendChild(t)}set values(t){if(this._values=t,this.isConnected)for(const t of this._fieldNames){const n=this.querySelector(`input[name="${e.prefix}${t}"]`);n?n.value=s(this.values[t]):console.warn(`Field "${t}" not found. `+"Most likely, the '<wc-order-attribution-inputs>' element was manipulated.")}}get values(){return this._values}})}(window.wc_order_attribution);
(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof exports!=="undefined"){module.exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.fn.marquee=function(options){return this.each(function(){var o=$.extend({},$.fn.marquee.defaults,options),$this=$(this),$marqueeWrapper,containerWidth,animationCss,verticalDir,elWidth,loopCount=3,playState="animation-play-state",css3AnimationIsSupported=false,_prefixedEvent=function(element,type,callback){var pfx=["webkit","moz","MS","o",""];for(var p=0;p<pfx.length;p++){if(!pfx[p])type=type.toLowerCase();element.addEventListener(pfx[p]+type,callback,false)}},_objToString=function(obj){var tabjson=[];for(var p in obj){if(obj.hasOwnProperty(p)){tabjson.push(p+":"+obj[p])}}tabjson.push();return"{"+tabjson.join(",")+"}"},_startAnimationWithDelay=function(){$this.timer=setTimeout(animate,o.delayBeforeStart)},methods={pause:function(){if(css3AnimationIsSupported&&o.allowCss3Support){$marqueeWrapper.css(playState,"paused")}else{if($.fn.pause){$marqueeWrapper.pause()}}$this.data("runningStatus","paused");$this.trigger("paused")},resume:function(){if(css3AnimationIsSupported&&o.allowCss3Support){$marqueeWrapper.css(playState,"running")}else{if($.fn.resume){$marqueeWrapper.resume()}}$this.data("runningStatus","resumed");$this.trigger("resumed")},toggle:function(){methods[$this.data("runningStatus")==="resumed"?"pause":"resume"]()},destroy:function(){clearTimeout($this.timer);$this.find("*").addBack().off();$this.html($this.find(".js-marquee:first").html())}};if(typeof options==="string"){if($.isFunction(methods[options])){if(!$marqueeWrapper){$marqueeWrapper=$this.find(".js-marquee-wrapper")}if($this.data("css3AnimationIsSupported")===true){css3AnimationIsSupported=true}methods[options]()}return}var dataAttributes={},attr;$.each(o,function(key){attr=$this.attr("data-"+key);if(typeof attr!=="undefined"){switch(attr){case"true":attr=true;break;case"false":attr=false;break}o[key]=attr}});if(o.speed){o.duration=parseInt($this.width(),10)/o.speed*1e3}verticalDir=o.direction==="up"||o.direction==="down";o.gap=o.duplicated?parseInt(o.gap):0;$this.wrapInner('<div class="js-marquee"></div>');var $el=$this.find(".js-marquee").css({"margin-right":o.gap,float:"left"});if(o.duplicated){$el.clone(true).appendTo($this)}$this.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>');$marqueeWrapper=$this.find(".js-marquee-wrapper");if(verticalDir){var containerHeight=$this.height();$marqueeWrapper.removeAttr("style");$this.height(containerHeight);$this.find(".js-marquee").css({float:"none","margin-bottom":o.gap,"margin-right":0});if(o.duplicated){$this.find(".js-marquee:last").css({"margin-bottom":0})}var elHeight=$this.find(".js-marquee:first").height()+o.gap;if(o.startVisible&&!o.duplicated){o._completeDuration=(parseInt(elHeight,10)+parseInt(containerHeight,10))/parseInt(containerHeight,10)*o.duration;o.duration=parseInt(elHeight,10)/parseInt(containerHeight,10)*o.duration}else{o.duration=(parseInt(elHeight,10)+parseInt(containerHeight,10))/parseInt(containerHeight,10)*o.duration}}else{elWidth=$this.find(".js-marquee:first").width()+o.gap;containerWidth=$this.width();if(o.startVisible&&!o.duplicated){o._completeDuration=(parseInt(elWidth,10)+parseInt(containerWidth,10))/parseInt(containerWidth,10)*o.duration;o.duration=parseInt(elWidth,10)/parseInt(containerWidth,10)*o.duration}else{o.duration=(parseInt(elWidth,10)+parseInt(containerWidth,10))/parseInt(containerWidth,10)*o.duration}}if(o.duplicated){o.duration=o.duration/2}if(o.allowCss3Support){var elm=document.body||document.createElement("div"),animationName="marqueeAnimation-"+Math.floor(Math.random()*1e7),domPrefixes="Webkit Moz O ms Khtml".split(" "),animationString="animation",animationCss3Str="",keyframeString="";if(elm.style.animation!==undefined){keyframeString="@keyframes "+animationName+" ";css3AnimationIsSupported=true}if(css3AnimationIsSupported===false){for(var i=0;i<domPrefixes.length;i++){if(elm.style[domPrefixes[i]+"AnimationName"]!==undefined){var prefix="-"+domPrefixes[i].toLowerCase()+"-";animationString=prefix+animationString;playState=prefix+playState;keyframeString="@"+prefix+"keyframes "+animationName+" ";css3AnimationIsSupported=true;break}}}if(css3AnimationIsSupported){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s infinite "+o.css3easing;$this.data("css3AnimationIsSupported",true)}}var _rePositionVertically=function(){$marqueeWrapper.css("transform","translateY("+(o.direction==="up"?containerHeight+"px":"-"+elHeight+"px")+")")},_rePositionHorizontally=function(){$marqueeWrapper.css("transform","translateX("+(o.direction==="left"?containerWidth+"px":"-"+elWidth+"px")+")")};if(o.duplicated){if(verticalDir){if(o.startVisible){$marqueeWrapper.css("transform","translateY(0)")}else{$marqueeWrapper.css("transform","translateY("+(o.direction==="up"?containerHeight+"px":"-"+(elHeight*2-o.gap)+"px")+")")}}else{if(o.startVisible){$marqueeWrapper.css("transform","translateX(0)")}else{$marqueeWrapper.css("transform","translateX("+(o.direction==="left"?containerWidth+"px":"-"+(elWidth*2-o.gap)+"px")+")")}}if(!o.startVisible){loopCount=1}}else if(o.startVisible){loopCount=2}else{if(verticalDir){_rePositionVertically()}else{_rePositionHorizontally()}}var animate=function(){if(o.duplicated){if(loopCount===1){o._originalDuration=o.duration;if(verticalDir){o.duration=o.direction==="up"?o.duration+containerHeight/(elHeight/o.duration):o.duration*2}else{o.duration=o.direction==="left"?o.duration+containerWidth/(elWidth/o.duration):o.duration*2}if(animationCss3Str){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s "+o.css3easing}loopCount++}else if(loopCount===2){o.duration=o._originalDuration;if(animationCss3Str){animationName=animationName+"0";keyframeString=$.trim(keyframeString)+"0 ";animationCss3Str=animationName+" "+o.duration/1e3+"s 0s infinite "+o.css3easing}loopCount++}}if(verticalDir){if(o.duplicated){if(loopCount>2){$marqueeWrapper.css("transform","translateY("+(o.direction==="up"?0:"-"+elHeight+"px")+")")}animationCss={transform:"translateY("+(o.direction==="up"?"-"+elHeight+"px":0)+")"}}else if(o.startVisible){if(loopCount===2){if(animationCss3Str){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s "+o.css3easing}animationCss={transform:"translateY("+(o.direction==="up"?"-"+elHeight+"px":containerHeight+"px")+")"};loopCount++}else if(loopCount===3){o.duration=o._completeDuration;if(animationCss3Str){animationName=animationName+"0";keyframeString=$.trim(keyframeString)+"0 ";animationCss3Str=animationName+" "+o.duration/1e3+"s 0s infinite "+o.css3easing}_rePositionVertically()}}else{_rePositionVertically();animationCss={transform:"translateY("+(o.direction==="up"?"-"+$marqueeWrapper.height()+"px":containerHeight+"px")+")"}}}else{if(o.duplicated){if(loopCount>2){$marqueeWrapper.css("transform","translateX("+(o.direction==="left"?0:"-"+elWidth+"px")+")")}animationCss={transform:"translateX("+(o.direction==="left"?"-"+elWidth+"px":0)+")"}}else if(o.startVisible){if(loopCount===2){if(animationCss3Str){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s "+o.css3easing}animationCss={transform:"translateX("+(o.direction==="left"?"-"+elWidth+"px":containerWidth+"px")+")"};loopCount++}else if(loopCount===3){o.duration=o._completeDuration;if(animationCss3Str){animationName=animationName+"0";keyframeString=$.trim(keyframeString)+"0 ";animationCss3Str=animationName+" "+o.duration/1e3+"s 0s infinite "+o.css3easing}_rePositionHorizontally()}}else{_rePositionHorizontally();animationCss={transform:"translateX("+(o.direction==="left"?"-"+elWidth+"px":containerWidth+"px")+")"}}}$this.trigger("beforeStarting");if(css3AnimationIsSupported){$marqueeWrapper.css(animationString,animationCss3Str);var keyframeCss=keyframeString+" { 100%  "+_objToString(animationCss)+"}",$styles=$marqueeWrapper.find("style");if($styles.length!==0){$styles.filter(":last").html(keyframeCss)}else{$("head").append("<style>"+keyframeCss+"</style>")}_prefixedEvent($marqueeWrapper[0],"AnimationIteration",function(){$this.trigger("finished")});_prefixedEvent($marqueeWrapper[0],"AnimationEnd",function(){animate();$this.trigger("finished")})}else{$marqueeWrapper.animate(animationCss,o.duration,o.easing,function(){$this.trigger("finished");if(o.pauseOnCycle){_startAnimationWithDelay()}else{animate()}})}$this.data("runningStatus","resumed")};$this.on("pause",methods.pause);$this.on("resume",methods.resume);if(o.pauseOnHover){$this.on("mouseenter",methods.pause);$this.on("mouseleave",methods.resume)}if(css3AnimationIsSupported&&o.allowCss3Support){animate()}else{_startAnimationWithDelay()}})};$.fn.marquee.defaults={allowCss3Support:true,css3easing:"linear",easing:"linear",delayBeforeStart:1e3,direction:"left",duplicated:false,duration:5e3,speed:0,gap:20,pauseOnCycle:false,pauseOnHover:false,startVisible:false}});
var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={});const i=["__proto__","constructor","prototype"];Object.keys(a).filter((e=>i.indexOf(e)<0)).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function c(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;a<arguments.length;a+=1){const i=a<0||arguments.length<=a?void 0:arguments[a];if(null!=i&&(s=i,!("undefined"!=typeof window&&void 0!==window.HTMLElement?s instanceof HTMLElement:s&&(1===s.nodeType||11===s.nodeType)))){const s=Object.keys(Object(i)).filter((e=>t.indexOf(e)<0));for(let t=0,a=s.length;t<a;t+=1){const a=s[t],r=Object.getOwnPropertyDescriptor(i,a);void 0!==r&&r.enumerable&&(c(e[a])&&c(i[a])?i[a].__swiper__?e[a]=i[a]:p(e[a],i[a]):!c(e[a])&&c(i[a])?(e[a]={},i[a].__swiper__?e[a]=i[a]:p(e[a],i[a])):e[a]=i[a])}}}var s;return e}function u(e,t,s){e.style.setProperty(t,s)}function m(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){void 0===t&&(t="");const s=r(),a=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&a.push(...e.assignedElements()),t?a.filter((e=>e.matches(t))):a}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}function M(e){return t=>Math.abs(t)>0&&e.browser&&e.browser.need3dFix&&Math.abs(t)%90==0?t+.001:t}function C(e,t){void 0===t&&(t=""),"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let P,L,I;function z(){return P||(P=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),P}function A(e){return void 0===e&&(e={}),L||(L=function(e){let{userAgent:t}=void 0===e?{}:e;const s=z(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),L}function $(){return I||(I=function(){const e=r(),t=A();let s=!1;function a(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(a()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,a]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&a<2}}const i=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=a();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||i&&t.ios,isWebView:i}}()),I}var k={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const O=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const D=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const G=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},X=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},Y=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&X(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(t<i||t>r)&&X(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a<i)&&X(e,a)};var B={updateSize:function(){const e=this;let t,s;const a=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(b(a,"padding-left")||0,10)-parseInt(b(a,"padding-right")||0,10),s=s-parseInt(b(a,"padding-top")||0,10)-parseInt(b(a,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:a,slidesEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=f(i,`.${e.params.slideClass}, swiper-slide`),p=o?e.virtual.slides.length:c.length;let m=[];const h=[],g=[];let v=s.slidesOffsetBefore;"function"==typeof v&&(v=s.slidesOffsetBefore.call(e));let w=s.slidesOffsetAfter;"function"==typeof w&&(w=s.slidesOffsetAfter.call(e));const y=e.snapGrid.length,E=e.slidesGrid.length;let x=s.spaceBetween,T=-v,M=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const I="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a<p;a+=1){let i;if(L=0,c[a]&&(i=c[a]),P&&e.grid.updateSlide(a,i,c),!c[a]||"none"!==b(i,"display")){if("auto"===s.slidesPerView){I&&(c[a].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(i),n=i.style.transform,l=i.style.webkitTransform;if(n&&(i.style.transform="none"),l&&(i.style.webkitTransform="none"),s.roundLengths)L=e.isHorizontal()?S(i,"width",!0):S(i,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),a=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=i;L=e+s+a+n+l+(r-t)}}n&&(i.style.transform=n),l&&(i.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*x)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),c[a]&&(c[a].style[e.getDirectionLabel("width")]=`${L}px`);c[a]&&(c[a].swiperSlideSize=L),g.push(L),s.centeredSlides?(T=T+L/2+M/2+x,0===M&&0!==a&&(T=T-r/2-x),0===a&&(T=T-r/2-x),Math.abs(T)<.001&&(T=0),s.roundLengths&&(T=Math.floor(T)),C%s.slidesPerGroup==0&&m.push(T),h.push(T)):(s.roundLengths&&(T=Math.floor(T)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&m.push(T),h.push(T),T=T+L+x),e.virtualSize+=L+x,M=L,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+w,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(a.style.width=`${e.virtualSize+x}px`),s.setWrapperSize&&(a.style[e.getDirectionLabel("width")]=`${e.virtualSize+x}px`),P&&e.grid.updateWrapperSize(L,m),!s.centeredSlides){const t=[];for(let a=0;a<m.length;a+=1){let i=m[a];s.roundLengths&&(i=Math.floor(i)),m[a]<=e.virtualSize-r&&t.push(i)}m=t,Math.floor(e.virtualSize-r)-Math.floor(m[m.length-1])>1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e<a;e+=1)m.push(m[m.length-1]+i)}for(let a=0;a<e.virtual.slidesBefore+e.virtual.slidesAfter;a+=1)1===s.slidesPerGroup&&m.push(m[m.length-1]+t),h.push(h[h.length-1]+t),e.virtualSize+=t}if(0===m.length&&(m=[0]),0!==x){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");c.filter(((e,t)=>!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e>r?e-r:0;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t<r){const s=(r-e-t)/2;m.forEach(((e,t)=>{m[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a<t.length;a+=1)t[a].swiperSlideOffset=(e.isHorizontal()?t[a].offsetLeft:t[a].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<a.length;e+=1){const o=a[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=a[0].swiperSlideOffset);const c=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),p=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),O(o,f,s.slideVisibleClass),O(o,h,s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.find((e=>e.column===i)),c=t.find((e=>e.column===i+1)),d=t.find((e=>e.column===i-1))):o=t[i];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{D(e,e===o,s.slideActiveClass),D(e,e===c,s.slideNextClass),D(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?a>=t[e]&&a<t[e+1]-(t[e+1]-t[e])/2?i=e:a>=t[e]&&a<t[e+1]&&(i=e+1):a>=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.find((e=>e.column===d));let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&Y(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===i){n=!0,r=e;break}if(!i||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=i,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(i.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,a.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};var H={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=d(i,e);return r+=this.cssOverflowAdjustment(),s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=a?-e:e:d=e,i.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,i.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:i.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}};function N(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&"reset"===l?t.emit(`slideResetTransition${i}`):s&&r!==n&&(t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`))}var R={slideTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:f}=r;if(!f&&!a&&!i||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===t&&(t=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n<p?"prev":"reset";const y=r.virtual&&r.params.virtual.enabled;if(!(y&&i)&&(u&&-w===r.translate||!u&&w===r.translate))return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=u?w:-w;if(0===t)y&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),y&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}));else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const E=$().isSafari;return y&&!i&&E&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;if(i.destroyed)return;void 0===t&&(t=i.params.speed);const r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.find((e=>1*e.getAttribute("data-swiper-slide-index")===t)).column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let l=i.params.slidesPerView;"auto"===l?l=i.slidesPerViewDynamic():(l=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e<l;if(s&&(o=o||e<Math.ceil(l/2)),a&&s&&"auto"!==i.params.slidesPerView&&!r&&(o=!1),o){const a=s?e<i.activeIndex?"prev":"next":e-i.activeIndex-1<i.params.slidesPerView?"next":"prev";i.loopFix({direction:a,slideTo:!0,activeSlideIndex:"next"===a?e+1:e-t+1,slideRealIndex:"next"===a?i.realIndex:void 0})}if(r){const e=n*i.params.grid.rows;n=i.slides.find((t=>1*t.getAttribute("data-swiper-slide-index")===e)).column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i||a.destroyed)return a;void 0===e&&(e=a.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<r.slidesPerGroupSkip?1:l,d=a.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(a.loopFix({direction:"next"}),a._clientLeft=a.wrapperEl.clientLeft,a.activeIndex===a.slides.length-1&&r.cssMode)return requestAnimationFrame((()=>{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o||a.destroyed)return a;void 0===e&&(e=a.params.speed);const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e))),h=i.freeMode&&i.freeMode.enabled;let f=r[m.indexOf(u)-1];if(void 0===f&&(i.cssMode||h)){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(f=h?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==f&&(g=n.indexOf(f),g<0&&(g=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(g=g-a.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(g,e,t,s)})),!0):a.slideTo(g,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const a=this;if(!a.destroyed)return void 0===e&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.getSlideIndexWhenGrid(e.clickedIndex);const n=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(i):r>(o?(e.slides.length-a)/2-(e.params.grid.rows-1):e.slides.length-a)?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var _={loopCreate:function(e,t){const s=this,{params:a,slidesEl:i}=s;if(!a.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{f(i,`.${a.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=s.grid&&a.grid&&a.grid.rows>1;a.loopAddBlankSlides&&(a.slidesPerGroup>1||n)&&(()=>{const e=f(i,`.${a.slideBlankClass}`);e.forEach((e=>{e.remove()})),e.length>0&&(s.recalcSlides(),s.updateSlides())})();const l=a.slidesPerGroup*(n?a.grid.rows:1),o=s.slides.length%l!=0,d=n&&s.slides.length%a.grid.rows!=0,c=e=>{for(let t=0;t<e;t+=1){const e=s.isElement?v("swiper-slide",[a.slideBlankClass]):v("div",[a.slideClass,a.slideBlankClass]);s.slidesEl.append(e)}};if(o){if(a.loopAddBlankSlides){c(l-s.slides.length%l),s.recalcSlides(),s.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else if(d){if(a.loopAddBlankSlides){c(a.grid.rows-s.slides.length%a.grid.rows),s.recalcSlides(),s.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else r();s.loopFix({slideRealIndex:e,direction:a.centeredSlides?void 0:"next",initial:t})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:a,setTranslate:i,activeSlideIndex:r,initial:n,byController:l,byMousewheel:o}=void 0===e?{}:e;const d=this;if(!d.params.loop)return;d.emit("beforeLoopFix");const{slides:c,allowSlidePrev:p,allowSlideNext:u,slidesEl:m,params:h}=d,{centeredSlides:f,initialSlide:v}=h;if(d.allowSlidePrev=!0,d.allowSlideNext=!0,d.virtual&&h.virtual.enabled)return s&&(h.centeredSlides||0!==d.snapIndex?h.centeredSlides&&d.snapIndex<h.slidesPerView?d.slideTo(d.virtual.slides.length+d.snapIndex,0,!1,!0):d.snapIndex===d.snapGrid.length-1&&d.slideTo(d.virtual.slidesBefore,0,!1,!0):d.slideTo(d.virtual.slides.length,0,!1,!0)),d.allowSlidePrev=p,d.allowSlideNext=u,void d.emit("loopFix");let w=h.slidesPerView;"auto"===w?w=d.slidesPerViewDynamic():(w=Math.ceil(parseFloat(h.slidesPerView,10)),f&&w%2==0&&(w+=1));const b=h.slidesPerGroupAuto?w:h.slidesPerGroup;let y=f?Math.max(b,Math.ceil(w/2)):b;y%b!=0&&(y+=b-y%b),y+=h.loopAdditionalSlides,d.loopedSlides=y;const E=d.grid&&h.grid&&h.grid.rows>1;c.length<w+y||"cards"===d.params.effect&&c.length<w+2*y?g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):E&&"row"===h.grid.fill&&g("Swiper Loop Warning: Loop mode is not compatible with grid.fill=`row`");const x=[],S=[],T=E?Math.ceil(c.length/h.grid.rows):c.length,M=n&&T-v<w&&!f;let C=M?v:d.activeIndex;void 0===r?r=d.getSlideIndex(c.find((e=>e.classList.contains(h.slideActiveClass)))):C=r;const P="next"===a||!a,L="prev"===a||!a;let I=0,z=0;const A=(E?c[r].column:r)+(f&&void 0===i?-w/2+.5:0);if(A<y){I=Math.max(y-A,b);for(let e=0;e<y-A;e+=1){const t=e-Math.floor(e/T)*T;if(E){const e=T-t-1;for(let t=c.length-1;t>=0;t-=1)c[t].column===e&&x.push(t)}else x.push(T-t-1)}}else if(A+w>T-y){z=Math.max(A-(T-2*y),b),M&&(z=Math.max(z,w-T+v+1));for(let e=0;e<z;e+=1){const t=e-Math.floor(e/T)*T;E?c.forEach(((e,s)=>{e.column===t&&S.push(s)})):S.push(t)}}if(d.__preventObserver__=!0,requestAnimationFrame((()=>{d.__preventObserver__=!1})),"cards"===d.params.effect&&c.length<w+2*y&&(S.includes(r)&&S.splice(S.indexOf(r),1),x.includes(r)&&x.splice(x.indexOf(r),1)),L&&x.forEach((e=>{c[e].swiperLoopMoveDOM=!0,m.prepend(c[e]),c[e].swiperLoopMoveDOM=!1})),P&&S.forEach((e=>{c[e].swiperLoopMoveDOM=!0,m.append(c[e]),c[e].swiperLoopMoveDOM=!1})),d.recalcSlides(),"auto"===h.slidesPerView?d.updateSlides():E&&(x.length>0&&L||S.length>0&&P)&&d.slides.forEach(((e,t)=>{d.grid.updateSlide(t,e,d.slides)})),h.watchSlidesProgress&&d.updateSlidesOffset(),s)if(x.length>0&&L){if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C+I]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C+Math.ceil(I),0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else if(i){const e=E?x.length/h.grid.rows:x.length;d.slideTo(d.activeIndex+e,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(S.length>0&&P)if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C-z]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C-z,0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else{const e=E?S.length/h.grid.rows:S.length;d.slideTo(d.activeIndex-e,0,!1,!0)}if(d.allowSlidePrev=p,d.allowSlideNext=u,d.controller&&d.controller.control&&!l){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...e,slideTo:d.controller.control.params.slidesPerView===h.slidesPerView&&s})}d.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function q(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function V(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void q(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!function(e,t){const s=r();let a=t.contains(e);!a&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(a=[...t.assignedElements()].includes(e),a||(a=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t)));return a}(p,t.wrapperEl))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!q(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===i.pointerType||"mouse"!==i.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function F(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find((e=>e.identifier===i.touchId)),!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else{if(l&&(u>n.startX&&-s.translate<=s.maxTranslate()||u<n.startX&&-s.translate>=s.minTranslate()))return;if(!l&&(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(i.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===p.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslate<s.maxTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-g)**x))),E&&(p.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function W(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].find((e=>e.identifier===s.touchId)),!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+t]?(f||h>=c[e]&&h<c[e+t])&&(g=e,v=c[e+t]-c[e]):(f||h>=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function j(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function U(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function K(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function Z(e){const t=this;G(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function Q(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const J=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",j,!0):e[c]("observerUpdate",j,!0),r[d]("load",e.onLoad,{capture:!0}))};const ee=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var te={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function se(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const ae={eventsEmitter:k,update:B,translate:H,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),N({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),N({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:R,loop:_,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=V.bind(e),e.onTouchMove=F.bind(e),e.onTouchEnd=W.bind(e),e.onDocumentTouchStart=Q.bind(e),t.cssMode&&(e.onScroll=K.bind(e)),e.onClick=U.bind(e),e.onLoad=Z.bind(e),J(e,"on")},detachEvents:function(){J(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=a(),o="window"!==i.breakpointsBase&&i.breakpointsBase?"container":i.breakpointsBase,d=["window","container"].includes(i.breakpointsBase)||!i.breakpointsBase?e.el:l.querySelector(i.breakpointsBase),c=e.getBreakpoint(n,o,d);if(!c||e.currentBreakpoint===c)return;const u=(c in n?n[c]:void 0)||e.originalParams,m=ee(e,i),h=ee(e,u),f=e.params.grabCursor,g=u.grabCursor,v=i.enabled;m&&!h?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&h&&(r.classList.add(`${i.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),f&&!g?e.unsetGrabCursor():!f&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===u[t])return;const s=i[t]&&i[t].enabled,a=u[t]&&u[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const w=u.direction&&u.direction!==i.direction,b=i.loop&&(u.slidesPerView!==i.slidesPerView||w),y=i.loop;w&&s&&e.changeDirection(),p(e.params,u);const E=e.params.enabled,x=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!E?e.disable():!v&&E&&e.enable(),e.currentBreakpoint=c,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&x?(e.loopCreate(t),e.updateSlides()):y&&!x&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},ie={};class re{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];1===i.length&&i[0].constructor&&"Object"===Object.prototype.toString.call(i[0]).slice(8,-1)?t=i[0]:[e,t]=i,t||(t={}),t=p({},t),e&&!t.el&&(t.el=e);const n=a();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new re(a))})),e}const l=this;l.__swiper__=!0,l.support=z(),l.device=A({userAgent:t.userAgent}),l.browser=$(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:se(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},te,o);return l.params=p({},d,ie,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find((t=>1*t.getAttribute("data-swiper-slide-index")===e)))}getSlideIndexWhenGrid(e){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?e=Math.floor(e/this.params.grid.rows):"row"===this.params.grid.fill&&(e%=Math.ceil(this.slides.length/this.params.grid.rows))),e}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?Math.ceil(a[l].swiperSlideSize):0;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=Math.ceil(a[s].swiperSlideSize),o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((t=>{t.complete&&G(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?G(t,e):e.addEventListener("load",(e=>{G(t,e.target)}))})),Y(t),t.initialized=!0,Y(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i&&"string"!=typeof i&&i.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(ie,e)}static get extendedDefaults(){return ie}static get defaults(){return te}static installModule(e){re.prototype.__modules__||(re.prototype.__modules__=[]);const t=re.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>re.installModule(e))),re):(re.installModule(e),re)}}function ne(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function le(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/()[\]])/g,"\\$1").replace(/ /g,".")}`}function oe(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");C(t,e),a.append(t.children[0]),C(t,"")}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&i(e[t]);else i(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update()}function de(e){const t=this,{params:s,activeIndex:a,slidesEl:i}=t;s.loop&&t.loopDestroy();let r=a+1;const n=e=>{if("string"==typeof e){const t=document.createElement("div");C(t,e),i.prepend(t.children[0]),C(t,"")}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&n(e[t]);r=a+e.length}else n(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),t.slideTo(r,0,!1)}function ce(e,t){const s=this,{params:a,activeIndex:i,slidesEl:r}=s;let n=i;a.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.recalcSlides());const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&r.append(t[e]);o=n>e?n+t.length:n}else r.append(t);for(let e=0;e<d.length;e+=1)r.append(d[e]);s.recalcSlides(),a.loop&&s.loopCreate(),a.observer&&!s.isElement||s.update(),a.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function pe(e){const t=this,{params:s,activeIndex:a}=t;let i=a;s.loop&&(i-=t.loopedSlides,t.loopDestroy());let r,n=i;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)r=e[s],t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1);n=Math.max(n,0)}else r=e,t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1),n=Math.max(n,0);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),s.loop?t.slideTo(n+t.loopedSlides,0,!1):t.slideTo(n,0,!1)}function ue(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function me(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate _virtualUpdated",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function he(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function fe(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.find((t=>t.shadowRoot&&t.shadowRoot===e.parentNode));return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function ge(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(ae).forEach((e=>{Object.keys(ae[e]).forEach((t=>{re.prototype[t]=ae[e][t]}))})),re.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:t.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const ve=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(C(o,i),i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||C(i,e),a.cache&&(s.virtual.cache[t]=i),i}function c(e,t,a){const{slidesPerView:i,slidesPerGroup:r,centeredSlides:l,loop:o,initialSlide:c}=s.params;if(t&&!o&&c>0)return;const{addSlidesBefore:p,addSlidesAfter:u}=s.params.virtual,{from:m,to:h,slides:g,slidesGrid:v,offset:w}=s.virtual;s.params.cssMode||s.updateActiveIndex();const b=void 0===a?s.activeIndex||0:a;let y,E,x;y=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",l?(E=Math.floor(i/2)+r+u,x=Math.floor(i/2)+r+p):(E=i+(r-1)+u,x=(o?i:r)+p);let S=b-x,T=b+E;o||(S=Math.max(S,0),T=Math.min(T,g.length-1));let M=(s.slidesGrid[S]||0)-(s.slidesGrid[0]||0);function C(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(o&&b>=x?(S-=x,l||(M+=s.slidesGrid[0])):o&&b<x&&(S=-x,l&&(M+=s.slidesGrid[0])),Object.assign(s.virtual,{from:S,to:T,offset:M,slidesGrid:s.slidesGrid,slidesBefore:x,slidesAfter:E}),m===S&&h===T&&!e)return s.slidesGrid!==v&&M!==w&&s.slides.forEach((e=>{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:M,from:S,to:T,slides:function(){const e=[];for(let t=S;t<=T;t+=1)e.push(g[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?C():n("virtualUpdate"));const P=[],L=[],I=e=>{let t=e;return e<0?t=g.length+e:t>=g.length&&(t-=g.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=m;e<=h;e+=1)if(e<S||e>T){const t=I(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const z=o?-g.length:0,A=o?2*g.length:g.length;for(let t=z;t<A;t+=1)if(t>=S&&t<=T){const s=I(t);void 0===h||e?L.push(s):(t>h&&L.push(s),t<m&&P.push(s))}if(L.forEach((e=>{s.slidesEl.append(d(g[e],e))})),o)for(let e=P.length-1;e>=0;e-=1){const t=P[e];s.slidesEl.prepend(d(g[t],t))}else P.sort(((e,t)=>t-e)),P.forEach((e=>{s.slidesEl.prepend(d(g[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),C()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);c(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]<t&&(t-=1),t=Math.max(t,0);else s.params.virtual.cache&&(delete s.virtual.cache[e],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e<t&&(t-=1),t=Math.max(t,0);c(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),c(!0),s.slideTo(0,0)},update:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function d(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,m=38===i,h=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&h||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&m||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&(l.activeElement.isContentEditable||l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase())))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||m||h)){let e=!1;if(E(t.el,`.${t.params.slideClass}, swiper-slide`).length>0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&o()-p<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time<c.time+500&&e.delta<=c.delta&&e.direction===c.direction;if(!a){c=void 0;let n=t.getTranslate()+m*r.sensitivity;const o=t.isBeginning,p=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{!t.destroyed&&t.params&&t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{if(t.destroyed||!t.params)return;c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplay.disableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e)||t.hostEl.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const a=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ne(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),a=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=T(s),a=T(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?u():(c(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{p()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:r}=t.navigation;a=T(a),r=T(r);const n=s.target;let l=r.includes(n)||a.includes(n);if(t.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find((e=>a.includes(e)||r.includes(e))))}if(t.params.navigation.hideOnClick&&!l){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function c(e){const s=e.target.closest(le(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;const e=(i=t.realIndex,r=a,n=t.slides.length,(r%=n)==1+(i%=n)?"next":r===i-1?"previous":void 0);"next"===e?t.slideNext():"previous"===e?t.slidePrev():t.slideToLoop(a)}else t.slideTo(a);var i,r,n}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let a,r,c=t.pagination.el;c=T(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),p=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),c.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&d(e,"prev"),i===p&&d(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[p];for(let e=o;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}c.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(le(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(le(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(le(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(C(e,s.renderCustom(t,a+1,u)),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=T(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s<a;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&C(s,r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(le(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function m(){t.params.pagination=ne(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.find((e=>E(e,".swiper")[0]===t.el)))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&p()})),a("snapIndexChange",(()=>{p()})),a("snapGridLengthChange",(()=>{u(),p()})),a("destroy",(()=>{h()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ne(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(le(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.scrollbar.enabled?I():(P(),b(),g())})),i("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{L()}));const I=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:I,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,panOnMouseMove:!1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l=1,o=!1,c=!1,p={x:0,y:0};const u=-3;let m,h;const g=[],v={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},b={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},y={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let x,S=1;function T(){if(g.length<2)return 1;const e=g[0].pageX,t=g[0].pageY,s=g[1].pageX,a=g[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function M(){const e=t.params.zoom,s=v.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&v.imageEl&&v.imageEl.naturalWidth){const e=v.imageEl.naturalWidth/v.imageEl.offsetWidth;return Math.min(e,s)}return s}function C(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function P(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}function L(e){if("mouse"===e.pointerType&&g.splice(0,g.length),!C(e))return;const s=t.params.zoom;if(m=!1,h=!1,g.push(e),!(g.length<2)){if(m=!0,v.scaleStart=T(),!v.slideEl){v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),v.slideEl||(v.slideEl=t.slides[t.activeIndex]);let a=v.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=a,v.imageWrapEl=a?E(v.imageEl,`.${s.containerClass}`)[0]:void 0,!v.imageWrapEl)return void(v.imageEl=void 0);v.maxRatio=M()}if(v.imageEl){const[e,t]=function(){if(g.length<2)return{x:null,y:null};const e=v.imageEl.getBoundingClientRect();return[(g[0].pageX+(g[1].pageX-g[0].pageX)/2-e.x-n.scrollX)/l,(g[0].pageY+(g[1].pageY-g[0].pageY)/2-e.y-n.scrollY)/l]}();v.originX=e,v.originY=t,v.imageEl.style.transitionDuration="0ms"}o=!0}}function I(e){if(!C(e))return;const s=t.params.zoom,a=t.zoom,i=g.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(g[i]=e),g.length<2||(h=!0,v.scaleMove=T(),v.imageEl&&(a.scale=v.scaleMove/v.scaleStart*l,a.scale>v.maxRatio&&(a.scale=v.maxRatio-1+(a.scale-v.maxRatio+1)**.5),a.scale<s.minRatio&&(a.scale=s.minRatio+1-(s.minRatio-a.scale+1)**.5),v.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`))}function z(e){if(!C(e))return;if("mouse"===e.pointerType&&"pointerout"===e.type)return;const s=t.params.zoom,a=t.zoom,i=g.findIndex((t=>t.pointerId===e.pointerId));i>=0&&g.splice(i,1),m&&h&&(m=!1,h=!1,v.imageEl&&(a.scale=Math.max(Math.min(a.scale,v.maxRatio),s.minRatio),v.imageEl.style.transitionDuration=`${t.params.speed}ms`,v.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,l=a.scale,o=!1,a.scale>1&&v.slideEl?v.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&v.slideEl&&v.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(v.originX=0,v.originY=0,v.slideEl=void 0)))}function A(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function $(e){const s="mouse"===e.pointerType&&t.params.zoom.panOnMouseMove;if(!C(e)||!P(e))return;const a=t.zoom;if(!v.imageEl)return;if(!b.isTouched||!v.slideEl)return void(s&&O(e));if(s)return void O(e);b.isMoved||(b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,b.startX=d(v.imageWrapEl,"x")||0,b.startY=d(v.imageWrapEl,"y")||0,v.slideWidth=v.slideEl.offsetWidth,v.slideHeight=v.slideEl.offsetHeight,v.imageWrapEl.style.transitionDuration="0ms");const i=b.width*a.scale,r=b.height*a.scale;b.minX=Math.min(v.slideWidth/2-i/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-r/2,0),b.maxY=-b.minY,b.touchesCurrent.x=g.length>0?g[0].pageX:e.pageX,b.touchesCurrent.y=g.length>0?g[0].pageY:e.pageY;if(Math.max(Math.abs(b.touchesCurrent.x-b.touchesStart.x),Math.abs(b.touchesCurrent.y-b.touchesStart.y))>5&&(t.allowClick=!1),!b.isMoved&&!o){if(t.isHorizontal()&&(Math.floor(b.minX)===Math.floor(b.startX)&&b.touchesCurrent.x<b.touchesStart.x||Math.floor(b.maxX)===Math.floor(b.startX)&&b.touchesCurrent.x>b.touchesStart.x))return b.isTouched=!1,void A();if(!t.isHorizontal()&&(Math.floor(b.minY)===Math.floor(b.startY)&&b.touchesCurrent.y<b.touchesStart.y||Math.floor(b.maxY)===Math.floor(b.startY)&&b.touchesCurrent.y>b.touchesStart.y))return b.isTouched=!1,void A()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(x),t.touchEventsData.preventTouchMoveFromPointerMove=!0,x=setTimeout((()=>{t.destroyed||A()})),b.isMoved=!0;const n=(a.scale-l)/(v.maxRatio-t.params.zoom.minRatio),{originX:c,originY:p}=v;b.currentX=b.touchesCurrent.x-b.touchesStart.x+b.startX+n*(b.width-2*c),b.currentY=b.touchesCurrent.y-b.touchesStart.y+b.startY+n*(b.height-2*p),b.currentX<b.minX&&(b.currentX=b.minX+1-(b.minX-b.currentX+1)**.8),b.currentX>b.maxX&&(b.currentX=b.maxX-1+(b.currentX-b.maxX+1)**.8),b.currentY<b.minY&&(b.currentY=b.minY+1-(b.minY-b.currentY+1)**.8),b.currentY>b.maxY&&(b.currentY=b.maxY-1+(b.currentY-b.maxY+1)**.8),y.prevPositionX||(y.prevPositionX=b.touchesCurrent.x),y.prevPositionY||(y.prevPositionY=b.touchesCurrent.y),y.prevTime||(y.prevTime=Date.now()),y.x=(b.touchesCurrent.x-y.prevPositionX)/(Date.now()-y.prevTime)/2,y.y=(b.touchesCurrent.y-y.prevPositionY)/(Date.now()-y.prevTime)/2,Math.abs(b.touchesCurrent.x-y.prevPositionX)<2&&(y.x=0),Math.abs(b.touchesCurrent.y-y.prevPositionY)<2&&(y.y=0),y.prevPositionX=b.touchesCurrent.x,y.prevPositionY=b.touchesCurrent.y,y.prevTime=Date.now(),v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}function k(){const e=t.zoom;v.slideEl&&t.activeIndex!==t.slides.indexOf(v.slideEl)&&(v.imageEl&&(v.imageEl.style.transform="translate3d(0,0,0) scale(1)"),v.imageWrapEl&&(v.imageWrapEl.style.transform="translate3d(0,0,0)"),v.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,l=1,v.slideEl=void 0,v.imageEl=void 0,v.imageWrapEl=void 0,v.originX=0,v.originY=0)}function O(e){if(l<=1||!v.imageWrapEl)return;if(!C(e)||!P(e))return;const t=n.getComputedStyle(v.imageWrapEl).transform,s=new n.DOMMatrix(t);if(!c)return c=!0,p.x=e.clientX,p.y=e.clientY,b.startX=s.e,b.startY=s.f,b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,v.slideWidth=v.slideEl.offsetWidth,void(v.slideHeight=v.slideEl.offsetHeight);const a=(e.clientX-p.x)*u,i=(e.clientY-p.y)*u,r=b.width*l,o=b.height*l,d=v.slideWidth,m=v.slideHeight,h=Math.min(d/2-r/2,0),f=-h,g=Math.min(m/2-o/2,0),w=-g,y=Math.max(Math.min(b.startX+a,f),h),E=Math.max(Math.min(b.startY+i,w),g);v.imageWrapEl.style.transitionDuration="0ms",v.imageWrapEl.style.transform=`translate3d(${y}px, ${E}px, 0)`,p.x=e.clientX,p.y=e.clientY,b.startX=y,b.startY=E,b.currentX=y,b.currentY=E}function D(e){const s=t.zoom,a=t.params.zoom;if(!v.slideEl){e&&e.target&&(v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),v.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex]);let s=v.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=s,v.imageWrapEl=s?E(v.imageEl,`.${a.containerClass}`)[0]:void 0}if(!v.imageEl||!v.imageWrapEl)return;let i,r,o,d,c,p,u,m,h,g,y,x,S,T,C,P,L,I;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),v.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===b.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=b.touchesStart.x,r=b.touchesStart.y);const z=l,A="number"==typeof e?e:null;1===l&&A&&(i=void 0,r=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0);const $=M();s.scale=A||$,l=A||$,!e||1===l&&A?(u=0,m=0):(L=v.slideEl.offsetWidth,I=v.slideEl.offsetHeight,o=w(v.slideEl).left+n.scrollX,d=w(v.slideEl).top+n.scrollY,c=o+L/2-i,p=d+I/2-r,h=v.imageEl.offsetWidth||v.imageEl.clientWidth,g=v.imageEl.offsetHeight||v.imageEl.clientHeight,y=h*s.scale,x=g*s.scale,S=Math.min(L/2-y/2,0),T=Math.min(I/2-x/2,0),C=-S,P=-T,z>0&&A&&"number"==typeof b.currentX&&"number"==typeof b.currentY?(u=b.currentX*s.scale/z,m=b.currentY*s.scale/z):(u=c*s.scale,m=p*s.scale),u<S&&(u=S),u>C&&(u=C),m<T&&(m=T),m>P&&(m=P)),A&&1===s.scale&&(v.originX=0,v.originY=0),b.currentX=u,b.currentY=m,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform=`translate3d(${u}px, ${m}px,0)`,v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function G(){const e=t.zoom,s=t.params.zoom;if(!v.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex];let e=v.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=e,v.imageWrapEl=e?E(v.imageEl,`.${s.containerClass}`)[0]:void 0}v.imageEl&&v.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,l=1,b.currentX=void 0,b.currentY=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform="translate3d(0,0,0)",v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform="translate3d(0,0,0) scale(1)",v.slideEl.classList.remove(`${s.zoomedSlideClass}`),v.slideEl=void 0,v.originX=0,v.originY=0,t.params.zoom.panOnMouseMove&&(p={x:0,y:0},c&&(c=!1,b.startX=0,b.startY=0)))}function X(e){const s=t.zoom;s.scale&&1!==s.scale?G():D(e)}function Y(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function B(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=Y();t.wrapperEl.addEventListener("pointerdown",L,s),t.wrapperEl.addEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,z,s)})),t.wrapperEl.addEventListener("pointermove",$,a)}function H(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=Y();t.wrapperEl.removeEventListener("pointerdown",L,s),t.wrapperEl.removeEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,z,s)})),t.wrapperEl.removeEventListener("pointermove",$,a)}Object.defineProperty(t.zoom,"scale",{get:()=>S,set(e){if(S!==e){const t=v.imageEl,s=v.slideEl;i("zoomChange",e,t,s)}S=e}}),a("init",(()=>{t.params.zoom.enabled&&B()})),a("destroy",(()=>{H()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!v.imageEl)return;if(b.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),b.isTouched=!0;const a=g.length>0?g[0]:e;b.touchesStart.x=a.pageX,b.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(g.length=0,!v.imageEl)return;if(!b.isTouched||!b.isMoved)return b.isTouched=!1,void(b.isMoved=!1);b.isTouched=!1,b.isMoved=!1;let s=300,a=300;const i=y.x*s,r=b.currentX+i,n=y.y*a,l=b.currentY+n;0!==y.x&&(s=Math.abs((r-b.currentX)/y.x)),0!==y.y&&(a=Math.abs((l-b.currentY)/y.y));const o=Math.max(s,a);b.currentX=r,b.currentY=l;const d=b.width*e.scale,c=b.height*e.scale;b.minX=Math.min(v.slideWidth/2-d/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-c/2,0),b.maxY=-b.minY,b.currentX=Math.max(Math.min(b.currentX,b.maxX),b.minX),b.currentY=Math.max(Math.min(b.currentY,b.maxY),b.minY),v.imageWrapEl.style.transitionDuration=`${o}ms`,v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&X(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&k()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&k()})),Object.assign(t.zoom,{enable:B,disable:H,in:D,out:G,toggle:X})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){("string"==typeof t.params.controller.control?[...document.querySelectorAll(t.params.controller.control)]:[t.params.controller.control]).forEach((e=>{if(t.controller.control||(t.controller.control=[]),e&&e.swiper)t.controller.control.push(e.swiper);else if(e){const s=`${t.params.eventsPrefix}init`,a=i=>{t.controller.control.push(i.detail[0]),t.update(),e.removeEventListener(s,a)};e.addEventListener(s,a)}}))}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.destroyed||(s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&l((()=>{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,containerRole:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null,scrollOnFocus:!0}}),t.a11y={clicked:!1};let r,n,l=null,o=(new Date).getTime();function d(e){const t=l;0!==t.length&&C(t,e)}function c(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;if(!t.pagination||!t.pagination.el||a!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(le(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(a)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(a)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&a.matches(le(t.params.pagination.bulletClass))&&a.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function E(){return b()&&t.params.pagination.clickable}const x=(e,t,s)=>{c(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},P=e=>{o=(new Date).getTime()},L=e=>{if(t.a11y.clicked||!t.params.a11y.scrollOnFocus)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.params.loop?t.slideToLoop(t.getSlideIndexWhenGrid(parseInt(s.getAttribute("data-swiper-slide-index"))),0):t.slideTo(t.getSlideIndexWhenGrid(t.slides.indexOf(s)),0),r=!1)})))},I=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;h(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},z=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage),e.containerRole&&u(s,e.containerRole);const i=t.wrapperEl,r=e.id||i.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(i).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(i,o),I();let{nextEl:c,prevEl:p}=t.navigation?t.navigation:{};if(c=T(c),p=T(p),c&&c.forEach((t=>x(t,r,e.nextSlideMessage))),p&&p.forEach((t=>x(t,r,e.prevSlideMessage))),E()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}a().addEventListener("visibilitychange",P),t.el.addEventListener("focus",L,!0),t.el.addEventListener("focus",L,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};i("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),i("afterInit",(()=>{t.params.a11y.enabled&&z()})),i("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&I()})),i("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),p(s)):(g(s),c(s))),e&&(t.isEnd?(f(e),p(e)):(g(e),c(e)))}()})),i("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(c(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(le(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),i("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),E()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));a().removeEventListener("visibilitychange",P),t.el&&"string"!=typeof t.el&&(t.el.removeEventListener("focus",L,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0))}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides[i];if(l(r.getAttribute("data-history"))===s){const s=t.getSlideIndex(r);t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.find((e=>e.getAttribute("data-hash")===s));if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.find((e=>e.classList.contains("swiper-slide-active"))):i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},I=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",I)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el&&"string"!=typeof i.el&&(i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",I)),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s){if(e.swiper.destroyed)return r=!1,!1;t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update()}else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)f(s.slidesEl,`[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e=>{e.classList.add(r)}));else for(let e=0;e<i;e+=1)s.slides[t.realIndex+e]&&s.slides[t.realIndex+e].classList.add(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){const i=s.activeIndex;let r,o;if(s.params.loop){const e=s.slides.find((e=>e.getAttribute("data-swiper-slide-index")===`${t.realIndex}`));r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=`${t.params.eventsPrefix}init`,i=r=>{e.swiper=r.detail[0],a.removeEventListener(s,i),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener(s,i)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(c.velocities.length>1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(p<t.maxTranslate())r.freeMode.momentumBounce?(p+t.maxTranslate()<-h&&(p=t.maxTranslate()-h),u=t.maxTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(p>t.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<d.length;t+=1)if(d[t]>-p){e=t;break}p=Math.abs(d[e]-p)<Math.abs(d[e-1]-p)||"next"===t.swipeDirection?d[e]:d[e-1],p=-p}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&m?(t.updateProgress(u),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating=!0,x(n,(()=>{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];i&&(a=Math.floor(a)),s[t]<r.virtualSize+s[0]&&e.push(a)}s.splice(0,s.length),s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:oe.bind(t),prependSlide:de.bind(t),addSlide:ce.bind(t),removeSlide:pe.bind(t),removeAllSlides:ue.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1}}),me({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s<e.length;s+=1){const e=t.slides[s];let a=-e.swiperSlideOffset;t.params.virtualTranslate||(a-=t.translate);let i=0;t.isHorizontal()||(i=a,a=0);const r=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),n=he(0,e);n.style.opacity=r,n.style.transform=`translate3d(${a}px, ${i}px, 0px)`}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),fe({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};me({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=M(t),p=t.params.cubeEffect,u=t.isHorizontal(),m=t.virtual&&t.params.virtual.enabled;let h,f=0;p.shadow&&(u?(h=t.wrapperEl.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),t.wrapperEl.append(h)),h.style.height=`${r}px`):(h=e.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),e.append(h))));for(let e=0;e<a.length;e+=1){const t=a[e];let s=e;m&&(s=parseInt(t.getAttribute("data-swiper-slide-index"),10));let r=90*s,n=Math.floor(r/360);l&&(r=-r,n=Math.floor(-r/360));const d=Math.max(Math.min(t.progress,1),-1);let h=0,g=0,v=0;s%4==0?(h=4*-n*o,v=0):(s-1)%4==0?(h=0,v=4*-n*o):(s-2)%4==0?(h=o+4*n*o,v=o):(s-3)%4==0&&(h=-o,v=3*o+4*o*n),l&&(h=-h),u||(g=h,h=0);const w=`rotateX(${c(u?0:-r)}deg) rotateY(${c(u?r:0)}deg) translate3d(${h}px, ${g}px, ${v}px)`;d<=1&&d>-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.style.transform=w,p.slideShadows&&i(t,d,u)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,p.shadow)if(u)h.style.transform=`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;h.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const g=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${g}px) rotateX(${c(t.isHorizontal()?0:f)}deg) rotateY(${c(t.isHorizontal()?-f:0)}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=ge("flip",e,t.isHorizontal()?"left":"top")),i||(i=ge("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};me({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect,r=M(t);for(let n=0;n<e.length;n+=1){const l=e[n];let o=l.progress;t.params.flipEffect.limitRotation&&(o=Math.max(Math.min(l.progress,1),-1));const d=l.swiperSlideOffset;let c=-180*o,p=0,u=t.params.cssMode?-d-t.translate:-d,m=0;t.isHorizontal()?s&&(c=-c):(m=u,u=0,p=-c,c=0),l.style.zIndex=-Math.abs(Math.round(o))+e.length,a.slideShadows&&i(l,o);const h=`translate3d(${u}px, ${m}px, 0px) rotateX(${r(p)}deg) rotateY(${r(c)}deg)`;he(0,l).style.transform=h}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),me({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth,p=M(t);for(let e=0,t=a.length;e<t;e+=1){const t=a[e],s=i[e],l=(o-t.swiperSlideOffset-s/2)/s,u="function"==typeof r.modifier?r.modifier(l):l*r.modifier;let m=n?d*u:0,h=n?0:d*u,f=-c*Math.abs(u),g=r.stretch;"string"==typeof g&&-1!==g.indexOf("%")&&(g=parseFloat(r.stretch)/100*s);let v=n?0:g*u,w=n?g*u:0,b=1-(1-r.scale)*Math.abs(u);Math.abs(w)<.001&&(w=0),Math.abs(v)<.001&&(v=0),Math.abs(f)<.001&&(f=0),Math.abs(m)<.001&&(m=0),Math.abs(h)<.001&&(h=0),Math.abs(b)<.001&&(b=0);const y=`translate3d(${w}px,${v}px,${f}px)  rotateX(${p(h)}deg) rotateY(${p(m)}deg) scale(${b})`;if(he(0,t).style.transform=y,t.style.zIndex=1-Math.abs(Math.round(u)),r.slideShadows){let e=n?t.querySelector(".swiper-slide-shadow-left"):t.querySelector(".swiper-slide-shadow-top"),s=n?t.querySelector(".swiper-slide-shadow-right"):t.querySelector(".swiper-slide-shadow-bottom");e||(e=ge("coverflow",t,n?"left":"top")),s||(s=ge("coverflow",t,n?"right":"bottom")),e&&(e.style.opacity=u>0?u:0),s&&(s.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;me({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides,o=M(t);if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s<e.length;s+=1){const a=e[s],d=a.progress,c=Math.min(Math.max(a.progress,-r.limitProgress),r.limitProgress);let p=c;l||(p=Math.min(Math.max(a.originalProgress,-r.limitProgress),r.limitProgress));const u=a.swiperSlideOffset,m=[t.params.cssMode?-u-t.translate:-u,0,0],h=[0,0,0];let f=!1;t.isHorizontal()||(m[1]=m[0],m[0]=0);let g={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};c<0?(g=r.next,f=!0):c>0&&(g=r.prev,f=!0),m.forEach(((e,t)=>{m[t]=`calc(${e}px + (${i(g.translate[t])} * ${Math.abs(c*n)}))`})),h.forEach(((e,t)=>{let s=g.rotate[t]*Math.abs(c*n);h[t]=s})),a.style.zIndex=-Math.abs(Math.round(d))+e.length;const v=m.join(", "),w=`rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(h[2])}deg)`,b=p<0?`scale(${1+(1-g.scale)*p*n})`:`scale(${1-(1-g.scale)*p*n})`,y=p<0?1+(1-g.opacity)*p*n:1-(1-g.opacity)*p*n,E=`translate3d(${v}) ${w} ${b}`;if(f&&g.shadow||!f){let e=a.querySelector(".swiper-slide-shadow");if(!e&&g.shadow&&(e=ge("creative",a)),e){const t=r.shadowPerProgress?c*(1/r.limitProgress):c;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const x=he(0,a);x.style.transform=E,x.style.opacity=y,g.origin&&(x.style.transformOrigin=g.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),me({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o<e.length;o+=1){const d=e[o],c=d.progress,p=Math.min(Math.max(c,-4),4);let u=d.swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&(t.wrapperEl.style.transform=`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(u-=e[0].swiperSlideOffset);let m=t.params.cssMode?-u-t.translate:-u,h=0;const f=-100*Math.abs(p);let g=1,v=-i.perSlideRotate*p,w=i.perSlideOffset-.75*Math.abs(p);const b=t.virtual&&t.params.virtual.enabled?t.virtual.from+o:o,y=(b===s||b===s-1)&&p>0&&p<1&&(n||t.params.cssMode)&&l<r,E=(b===s||b===s+1)&&p<0&&p>-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${i.rotate?a?-v:v:0}deg)\n        scale(${x})\n      `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=ge("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;he(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({_loopSwapReset:!1,watchSlidesProgress:!0,loopAdditionalSlides:t.params.cardsEffect.rotate?3:2,centeredSlides:!0,virtualTranslate:!t.params.cssMode})})}];return re.use(ve),re}();
const body=document.querySelector('body'),
burger=document.querySelector('.burger'),
mobileMenu=document.querySelector('.header-line-second .header__wrapper'),
filterIcon=document.querySelector('.catalog__queries-filter'),
filter=document.querySelector('.filter'),
order=document.querySelector('.order'),
requestPoup=document.querySelector('.request__popup'),
filterClose=document.querySelector('.filter .filter__close'),
filterCheckbox=document.querySelectorAll('.filter__checkbox'),
tabs=document.querySelectorAll('.filter__tabs-tab'),
filterApply=document.querySelector('.filter .filter__btns-btn.dark'),
filterClear=document.querySelector('.filter .filter__btns-btn.white'),
cardsW=document.querySelector('.catalog__cards'),
queriesDelete=document.querySelectorAll('.catalog__queries__wrapper-item svg'),
catalogNav=document.querySelectorAll('.catalog__nav__wrapper-item'),
readMore=document.querySelector('.obj__wrapper-description-text-btn'),
readMoreBtn=document.querySelector('.obj__wrapper-description-text-btn .arrow'),
readMoreTextBtn=document.querySelector('.obj__wrapper-description-text-btn-text'),
descriptionText=document.querySelector('.obj__wrapper-description-text-text'),
orderClose=document.querySelector('.order .filter__close'),
buyBtn=document.querySelector('.obj__wrapper-info-price-btn'),
buyRequest=document.querySelector('.obj__wrapper-info-request-btn'),
imageWrapper=document.querySelector('.obj__wrapper-gallery-main'),
galleryNavItems=document.querySelectorAll('.obj__wrapper-gallery-nav-ph'),
galleryMainImage=document.querySelector('.obj__wrapper-gallery-main img'),
cardContainer=document.querySelector('.obj__related-items'),
cards=document.querySelectorAll('.catalog__cards-card'),
prevButton=document.querySelector('.prev'),
nextButton=document.querySelector('.next'),
navItems=document.querySelectorAll('.value__wrapper-nav-items-item'),
contentBlocks=document.querySelectorAll('.value__wrapper-content'),
upArrow=document.querySelector('.value__wrapper-nav-nav .arrow.up'),
downArrow=document.querySelector('.value__wrapper-nav-nav .arrow.down'),
sliderImages=document.querySelectorAll('.about__wrapper-slider-img'),
leftArrow=document.querySelector('.about__wrapper-slider-nav .arrow'),
rightArrow=document.querySelector('.about__wrapper-slider-nav .arrow.rotate'),
activeIndex=document.querySelector('.about__wrapper-slider-nav .catalog__pagination-count .active'),
totalCount=document.querySelector('.about__wrapper-slider-nav .catalog__pagination-count .total'),
deliveryCheckbox=document.querySelectorAll('.bag__wrapper-col-delivery-checkbox-item'),
catalogHeader=document.querySelector('.catalog__header'),
catalogNavigation=document.querySelector('.catalog__nav'),
catalogQueries=document.querySelector('.catalog__queries'),
forms=document.querySelectorAll('form'),
video=document.querySelector('.video__wrapper video'),
cursor=document.querySelector('.cursor'),
cursorBorder=document.querySelector('.cursor-border'),
quickView=document.querySelector('.view'),
quickViewBtns=document.querySelectorAll('.quick-view-button'),
quickViewCloses=document.querySelectorAll('.view__wrapper-col-header-close')
quickViewContainer=document.querySelector('.view__wrapper'),
burger.addEventListener('click', function (){
this.classList.toggle('active')
mobileMenu.classList.toggle('active')
body.classList.toggle('lock')
})
var decodeHTML=function (html){
var txt=document.createElement('textarea');
txt.innerHTML=html;
return txt.value;
};
if(quickViewBtns&&quickViewContainer){
const qw_title=quickViewContainer.querySelector('#qw_title'),
qw_title2=quickViewContainer.querySelector('#qw_title2'),
qw_image=quickViewContainer.querySelector('#qw_image'),
qw_sku=quickViewContainer.querySelector('#qw_sku'),
qw_specs=quickViewContainer.querySelector('#qw_specs'),
qw_delivery=quickViewContainer.querySelector('#qw_delivery'),
qw_price=quickViewContainer.querySelector('#qw_price'),
qw_cart_button=quickViewContainer.querySelector('#add_to_cart_button');
const container=document.querySelector('.catalog__col');
if(container){
container.addEventListener('click', (e)=> {
if(e.target.id=='quickView'){
const productId=e.target.dataset.productId,
cardType=e.target.dataset.cardType;
const productContainer=document.querySelector(`div[data-card-product-id="${productId}"][data-card-type="${cardType}"] .quickview-data`);
if(!productContainer){
return;
}
const productInfoJson=productContainer.innerHTML;
const productInfo=JSON.parse(productInfoJson);
const productInfoSpecs=decodeHTML(productInfo.specs);
qw_title.innerHTML=productInfo.title;
qw_title2.innerHTML=productInfo.title;
qw_image.srcset=productInfo.img.srcset;
qw_image.src=productInfo.img.src;
qw_sku.innerHTML="Lot " + productInfo.sku;
qw_specs.innerHTML=productInfoSpecs;
qw_delivery.innerHTML=productInfo.delivery;
if(productInfo.price=='0'){
qw_price.style.display='none';
qw_cart_button.style.display='none';
}else{
qw_price.style.display='block';
qw_cart_button.style.display='block';
qw_price.innerHTML=productInfo.price + " AED";
}
qw_cart_button.dataset.productId=productInfo.id
quickView.classList.add('active')
body.classList.add('lock')
}})
}}
if(quickViewCloses){
quickViewCloses.forEach(quickViewClose=> {
quickViewClose.addEventListener('click', ()=> {
if(!quickView||quickView.classList.contains('no-quickview')) return;
quickView.classList.remove('active')
body.classList.remove('lock')
})
})
}
if(filterIcon){
filterIcon.addEventListener('click', function (){
filter.classList.toggle('active')
if(window.innerWidth >=1024){
cardsW.classList.toggle('active')
}
if(window.innerWidth <=1024){
body.classList.toggle('lock')
}})
if(window.innerWidth <=1024){
filter.classList.remove('active')
cardsW.classList.remove('active')
body.classList.remove('lock')
}}
if(filterClose){
filterClose.addEventListener('click', function (){
filter.classList.remove('active')
body.classList.remove('lock')
})
}
if(orderClose){
orderClose.addEventListener('click', function (){
order.classList.remove('active')
body.classList.remove('lock')
})
}
if(filterApply){
filterApply.addEventListener('click', function (){
filter.classList.remove('active')
})
}
tabs.forEach(function (tab){
const header=tab.querySelector('.filter__tabs-tab-head')
header.addEventListener('click', function (){
tab.classList.toggle('active')
})
})
if(buyRequest){
buyRequest.addEventListener('click', function (){
requestPoup.classList.add('active')
body.classList.add('lock')
})
}
const swiper_thumbnail=new Swiper(".swiper_thumbnail", {
slidesPerView: 'auto',
})
const swiper=new Swiper('.swiper_main', {
thumbs: {
swiper: swiper_thumbnail,
},
})
if(imageWrapper&&window.innerWidth < 768){
imageWrapper.addEventListener('click', function (e){
imageWrapper.classList.toggle('active')
})
}
if(imageWrapper){
imageWrapper.addEventListener('mousemove', function (e){
const x=(e.offsetX / imageWrapper.offsetWidth) * 100
const y=(e.offsetY / imageWrapper.offsetHeight) * 100
imageWrapper.querySelector('img').style.transformOrigin=x + '% ' + y + '%'
})
}
let currentIndex=0
var mySwiper=new Swiper('.obj__related-items .swiper-container', {
slidesPerView: 'auto',
slidesPerGroup: 1,
navigation: {
nextEl: '.obj__related-nav .swiper-button-next',
prevEl: '.obj__related-nav .swiper-button-prev',
},
})
new Swiper('.rare__items-wrapper .swiper-container', {
slidesPerView: 'auto',
slidesPerGroup: 1,
})
if(upArrow){
function updateActiveItem(index){
navItems.forEach((navItem)=> {
navItem.classList.remove('active')
})
navItems[index].classList.add('active')
contentBlocks.forEach((contentBlock)=> {
contentBlock.classList.remove('active')
})
contentBlocks[index].classList.add('active')
if(index===0){
upArrow.classList.add('inactive')
downArrow.classList.remove('inactive')
}else if(index===navItems.length - 1){
upArrow.classList.remove('inactive')
downArrow.classList.add('inactive')
}else{
upArrow.classList.remove('inactive')
downArrow.classList.remove('inactive')
}}
upArrow.addEventListener('click', ()=> {
if(currentIndex > 0){
currentIndex--
updateActiveItem(currentIndex)
}})
downArrow.addEventListener('click', ()=> {
if(currentIndex < navItems.length - 1){
currentIndex++
updateActiveItem(currentIndex)
}})
navItems.forEach((item, index)=> {
item.addEventListener('click', ()=> {
currentIndex=index
updateActiveItem(currentIndex)
})
})
updateActiveItem(currentIndex)
}
if(leftArrow&&activeIndex){
function updatePaginationCount(){
activeIndex.textContent=currentIndex + 1
totalCount.textContent=sliderImages.length
}
function showImage(index){
currentIndex=index
sliderImages.forEach((image, i)=> {
if(i===index){
image.classList.add('active')
}else{
image.classList.remove('active')
}})
updatePaginationCount()
}
updatePaginationCount()
leftArrow.addEventListener('click', function(){
currentIndex=(currentIndex - 1 + sliderImages.length) % sliderImages.length
showImage(currentIndex)
})
rightArrow.addEventListener('click', function(){
currentIndex=(currentIndex + 1) % sliderImages.length
showImage(currentIndex)
})
}
if(video){
video.addEventListener('click', function (){
if(video.paused){
video.play()
}else{
video.pause()
}})
}
if(video){
video.addEventListener('mousemove', (event)=> {
cursor.classList.add('active')
cursor.style.left=event.clientX + 'px'
cursor.style.top=event.clientY + 'px'
cursorBorder.classList.add('active')
setTimeout(()=> {
if(cursorBorder.classList.contains('active')){
cursorBorder.style.left=event.clientX + 'px'
cursorBorder.style.top=event.clientY + 'px'
}}, 80)
})
video.addEventListener('mouseout', (event)=> {
cursor.classList.remove('active')
cursor.style.left='0px'
cursor.style.top='0px'
cursorBorder.classList.remove('active')
cursorBorder.style.left='0px'
cursorBorder.style.top='0px'
})
}
document.querySelectorAll('#bag').forEach((bag)=> {
bag.addEventListener('click', function (){
let useElement=this.querySelector('use')
let currentHref=useElement.getAttribute('xlink:href')
useElement.setAttribute('xlink:href', currentHref==='img/sprite.svg#bag' ? 'img/sprite.svg#bagAdd':'img/sprite.svg#bag')
})
})
document.querySelectorAll('.wishlist-svg').forEach((wishlist)=> {
wishlist.addEventListener('click', function (e){
const product_id=this.dataset.productId
document.querySelectorAll('.wishlist-svg[data-product-id="' + product_id + '"]').forEach((wishlistEl)=> {
wishlistEl.classList.toggle('active')
})
this.classList.toggle('active')
})
})
const toggleView=(isColumn)=> {
colView.classList.toggle('active', isColumn)
rowView.classList.toggle('active', !isColumn)
catalogCards.classList.toggle('d-none', !isColumn)
catalogRows.classList.toggle('d-none', isColumn)
}
const colView=document.getElementById('col')
const rowView=document.getElementById('row')
const catalogCards=document.querySelector('.catalog__cards')
const catalogRows=document.querySelector('.catalog__row')
if(colView){
colView.addEventListener('click', ()=> toggleView(true))
}
if(rowView){
rowView.addEventListener('click', ()=> toggleView(false))
}
const navItemList=document.querySelectorAll('.header__wrapper-nav-item.list')
navItemList.forEach(list=> {
const navItemListList=list.querySelector('.header__wrapper-nav-item.list ul')
const navItemListHeader=list.querySelector('.header__wrapper-nav-item.list a.def')
const menuItemCatalog=document.querySelector('.menu-item-catalog')
const navCatalog=document.querySelector('.catalog__nav.nav')
function showMenu(){
let cat=list.classList.contains('menu-item-catalog')
if(cat){
navCatalog.classList.add('active')
}
list.classList.add('hover')
}
function hideMenu(event){
if(!navCatalog.contains(event.relatedTarget)&&!list.contains(event.relatedTarget)){
navCatalog.classList.remove('active')
list.classList.remove('hover')
}}
if(window.innerWidth > 980){
list.addEventListener('mouseenter', showMenu)
list.addEventListener('mouseleave', hideMenu)
navCatalog.addEventListener('mouseenter', showMenu)
navCatalog.addEventListener('mouseleave', hideMenu)
}else{
navItemListHeader.addEventListener('click', function (event){
event.preventDefault()
let wrapper=event.target.closest('.menu-item')
let catalog=wrapper.classList.contains('menu-item-catalog')
if(catalog){
if(window.innerWidth >=730){
let active=wrapper.classList.contains('hover')
if(active){
navCatalog.classList.remove('active')
list.classList.remove('hover')
}else{
navItemList.forEach(list=> {
const navItemListList=list.querySelector('.header__wrapper-nav-item.list ul')
navItemListList.classList.remove('active')
})
showMenu()
}}else{
navItemListHeader.classList.toggle('active')
navItemListList.classList.toggle('active')
}}else{
if(window.innerWidth >=730){
const active=navItemListList.classList.contains('active')
navItemList.forEach(list=> {
const navItemListList=list.querySelector('.header__wrapper-nav-item.list ul')
navItemListList.classList.remove('active')
})
navCatalog.classList.remove('active')
menuItemCatalog.classList.remove('hover')
if(! active){
navItemListList.classList.toggle('active')
}
navItemListHeader.classList.toggle('active')
}else{
navItemListHeader.classList.toggle('active')
navItemListList.classList.toggle('active')
}}
})
}});
const objTabs=document.querySelectorAll('.obj__wrapper-description-text-title')
const textBlocks=document.querySelectorAll('.obj__wrapper-description-text-text')
const objBtn=document.querySelector('.obj__wrapper-description-text-btn-text')
const arrowIcon=document.querySelector('.obj__wrapper-description-text-btn .arrow')
let isExpanded=false
if(objBtn){
objTabs.forEach((tab, index)=> {
tab.addEventListener('click', function (){
objTabs.forEach(t=> t.classList.remove('active'))
tab.classList.add('active')
textBlocks.forEach((text, textIndex)=> {
if(index===textIndex){
text.classList.add('act');
}else{
text.classList.remove('act')
}})
})
})
objBtn.addEventListener('click', function (){
isExpanded = !isExpanded
objBtn.textContent=isExpanded ? 'Read less':'Read more'
textBlocks.forEach(text=> text.classList.toggle('active'))
arrowIcon.classList.toggle('up')
})
}
const accordions=document.querySelectorAll('.dropdown--primary');
if(accordions){
accordions.forEach(el=> {
const button=el.querySelector('.dropdown__button');
button.addEventListener('click', e=> {
let self=e.currentTarget;
const dropdown=self.closest('.dropdown--primary');
const content=dropdown.querySelector('.dropdown__content');
self.classList.toggle('open');
content.classList.toggle('open');
if(self.classList.contains('open')){
content.style.maxHeight=content.scrollHeight + 'px';
}else{
content.style.maxHeight=null;
}});
});
}
$('.ls_gallery').each(function (index, element){
let $this=$(this);
let nav=$this.find('.ls_gallery-slider-nav');
let next=nav.find('.next');
let prev=nav.find('.prev');
const gallery_thumb=new Swiper('.ls_gallery-thumbs', {
spaceBetween: 10,
slidesPerView: 'auto',
freeMode: true,
breakpoints: {
730: {
spaceBetween: 42,
},
}});
const gallery_swiper=new Swiper('.ls_gallery-swiper', {
spaceBetween: 10,
thumbs: {
swiper: gallery_thumb,
},
});
next.on('click', function (){
gallery_swiper.slideNext();
gallery_thumb.slideNext();
const current=gallery_swiper.activeIndex;
nav.find('.active').text(current + 1);
});
prev.on('click', function (){
gallery_swiper.slidePrev();
gallery_thumb.slidePrev();
const current=gallery_swiper.activeIndex;
nav.find('.active').text(current + 1);
});
gallery_swiper.on('slideChange', function (){
const current=gallery_swiper.activeIndex;
nav.find('.active').text(current + 1);
});
});
$('.ls_gallery2').each(function (index, element){
let $this=$(this);
$this.find('.ls_gallery2-slider-nav .next').on('click', function (){
const items=$this.find('.gallery2__grid > div');
const top=$(window).scrollTop();
let current;
const items_sort=items.sort(function (a, b){
return parseInt($(a).attr('id'), 10) < parseInt($(b).attr('id'), 10) ? -1: 1;
});
items_sort.each(function (index, element){
let $this_sort=$(this);
let new_index=index - 1;
if(new_index < 0){
new_index=5;
}
$this_sort.removeClass('gallery__wrapper-item-0' + (index + 1));
$this_sort.addClass('gallery__wrapper-item-0' + (new_index + 1));
$this_sort.attr('id', new_index + 1);
});
const new_items=$this.find('.gallery2__grid > div');
new_items.each(function (index, element){
let id=$(this).attr('id');
if(id==1){
current=index + 1;
}});
$this.find('.ls_gallery2-slider-nav .active').text(current);
$(window).scrollTop(top);
});
$this.find('.ls_gallery2-slider-nav .prev').on('click', function (){
const items=$this.find('.gallery2__grid > div');
if(items,length > 0){
const top=$(window).scrollTop();
const items_sort=items.sort(function (a, b){
return parseInt($(a).attr('id'), 10) < parseInt($(b).attr('id'), 10) ? -1: 1;
});
items_sort.each(function (index, element){
let $this_sort=$(this);
let new_index=index + 1;
if(new_index >=6){
new_index=0;
}
$this_sort.removeClass('gallery__wrapper-item-0' + (index + 1));
$this_sort.addClass('gallery__wrapper-item-0' + (new_index + 1));
$this_sort.attr('id', new_index + 1);
});
const new_items=$this.find('.gallery2__grid > div');
new_items.each(function (index, element){
let id=$(this).attr('id');
if(id==1){
current=index + 1;
}});
$this.find('.ls_gallery2-slider-nav .active').text(current);
$(window).scrollTop(top);
}});
$this.on('click', '.gallery2__wrapper-item:not(.gallery__wrapper-item-01)', function (){
$this.find('.gallery2__grid > div').removeClass('active');
$(this).addClass('active');
let cuttent=false;
const top=$(window).scrollTop();
while (! cuttent){
const items=$this.find('.gallery2__grid > div');
const items_sort=items.sort(function (a, b){
return parseInt($(a).attr('id'), 10) < parseInt($(b).attr('id'), 10) ? -1: 1;
});
items_sort.each(function (index, element){
let $this_sort=$(this);
let new_index=index - 1;
if(new_index < 0){
new_index=5;
}
$this_sort.removeClass('gallery__wrapper-item-0' + (index + 1));
$this_sort.addClass('gallery__wrapper-item-0' + (new_index + 1));
$this_sort.attr('id', new_index + 1);
});
const active_id=$this.find('.gallery2__grid > .active').attr('id');
if(active_id==1){
cuttent=true;
}
const new_items=$this.find('.gallery2__grid > div');
new_items.each(function (index, element){
let id=$(this).attr('id');
if(id==1){
current=index + 1;
}});
$this.find('.ls_gallery2-slider-nav .active').text(current);
}
$(window).scrollTop(top);
});
$this.find('.gallery2__wrapper-mobile').each(function (index, el){
let $this=$(this);
let nav=$this.closest('.ls_gallery2').find('.ls_gallery2-slider-nav');
let next=nav.find('.next');
let prev=nav.find('.prev');
const gallery2_thumb=new Swiper('.ls_gallery2-swiper-mobile', {
spaceBetween: 10,
slidesPerView: 'auto',
freeMode: true,
noSwiping: true,
breakpoints: {
730: {
spaceBetween: 50,
},
}});
const gallery2_swiper=new Swiper('.ls_gallery2-thumbs-mobile', {
spaceBetween: 10,
thumbs: {
swiper: gallery2_thumb,
},
});
next.on('click', function (){
if(window.matchMedia("(max-width: 730px)").matches){
gallery2_swiper.slideNext();
gallery2_thumb.slideTo(gallery2_swiper.realIndex);
const current=gallery2_swiper.realIndex;
nav.find('.active').text(current + 1);
}});
prev.on('click', function (){
if(window.matchMedia("(max-width: 730px)").matches){
gallery2_swiper.slidePrev();
gallery2_thumb.slideTo(gallery2_swiper.realIndex);
const current=gallery2_swiper.realIndex;
nav.find('.active').text(current + 1);
}});
gallery2_swiper.on('slideChange', function (){
const current=gallery2_swiper.realIndex;
nav.find('.active').text(current + 1);
});
});
});
const rowBtn=document.querySelector('.catalog__view #row');
const colBtn=document.querySelector('.catalog__view #col');
if(rowBtn&&colBtn){
rowBtn.addEventListener('click', (e)=> {
localStorage.setItem("carddgridtype", "row");
})
colBtn.addEventListener('click', (e)=> {
localStorage.setItem("carddgridtype", "col");
})
document.addEventListener('DOMContentLoaded', ()=> {
const cardGridType=localStorage.getItem('carddgridtype');
if(!cardGridType||cardGridType=='col'){
toggleView(true)
}else{
toggleView(false)
}})
}
function getCookie(name){
let matches=document.cookie.match(new RegExp(
"(?:^|;)" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]):undefined;
}
function setCookie(name, value, options={}){
options={
path: '/',
...options
};
if(options.expires instanceof Date){
options.expires=options.expires.toUTCString();
}
let updatedCookie=encodeURIComponent(name) + "=" + encodeURIComponent(value);
for (let optionKey in options){
updatedCookie +="; " + optionKey;
let optionValue=options[optionKey];
if(optionValue!==true){
updatedCookie +="=" + optionValue;
}}
document.cookie=updatedCookie;
}
function wishlistToggle (productId){
const wishPage=document.querySelector('.page-template-page-wishlist')
const curWishlist=getCookie("wishlist");
let wishlistData=[];
if(!productId){
console.log('No productId', productId)
return
}
if(curWishlist){ wishlistData=JSON.parse(curWishlist)||[] }
const productIndex=wishlistData.indexOf(productId)
if(productIndex==-1){
wishlistData.push(productId)
}else{
wishlistData.splice(productIndex, 1)
if(wishPage){
const wishItem=document.querySelector(`.wishlist .border[data-product-id="${productId}"]`)
wishItem&&wishItem.remove()
}}
setCookie("wishlist", JSON.stringify(wishlistData))
return productIndex==-1
}
document.addEventListener('click' , (e)=> {
if(! e.target.parentNode.classList.contains('wishlist-svg')&&! e.target.classList.contains('wishlist-svg')){
return
}
let id=e.target.parentNode.classList.contains('wishlist-svg') ? e.target.parentNode.dataset.productId:e.target.dataset.productId;
let wishButton=e.target.parentNode.classList.contains('wishlist-svg') ? e.target.parentNode:e.target;
const wishCounterList=document.querySelectorAll('.wishlist .header__wrapper-shopping-counter')
if(wishlistToggle(id)){
wishCounterList.forEach((wishCounter)=> { wishCounter.textContent=parseInt(wishCounter.textContent)+1 })
wishButton.classList.add('active')
}else{
wishCounterList.forEach((wishCounter)=> { wishCounter.textContent=parseInt(wishCounter.textContent)-1 })
wishButton.classList.remove('active')
}})
function setWishItems(){
const wishIcons=document.querySelectorAll('.wishlist-svg')
const curWishlist=getCookie("wishlist");
let wishlistData=[];
if(curWishlist){ wishlistData=JSON.parse(curWishlist)||[] }
wishIcons.forEach((wishIcon)=> {
if(wishlistData.indexOf(wishIcon.dataset.productId)==-1){ return; }
wishIcon.classList.add('active')
})
}
document.addEventListener('DOMContentLoaded', ()=> {
setWishItems();
})
document.addEventListener('DOMContentLoaded', function(){
function getUrlParameter(name){
name=name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex=new RegExp('[\\?&]' + name + '=([^&#]*)');
var results=regex.exec(location.search);
return results===null ? '':decodeURIComponent(results[1].replace(/\+/g, ' '));
}
var utmParams=['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
function setCookie(name, value, days){
var expires='';
if(days){
var date=new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires='; expires=' + date.toUTCString();
}
document.cookie=name + '=' + (value||'') + expires + '; path=/; SameSite=Lax';
}
utmParams.forEach(function(param){
var value=getUrlParameter(param);
if(value){
setCookie(param, value, 30);
}});
});
document.addEventListener('DOMContentLoaded', ()=> {
const slider=new Swiper('.abt__wrapper-slider', {
slidesPerView: 1,
loop: true,
effect: 'fade',
fadeEffect: {
crossFade: true
},
speed: 600,
navigation: {
nextEl: '.abt__wrapper-slider-nav-next',
prevEl: '.abt__wrapper-slider-nav-prev'
},
on: {
init(swiper){
updateCounter(swiper)
},
slideChange(swiper){
updateCounter(swiper)
}}
})
document.querySelectorAll('.prg').forEach(prgSection=> {
const thumbsEl=prgSection.querySelector('.prg__wrapper-gallery-min')
const mainEl=prgSection.querySelector('.prg__wrapper-gallery-main')
const nextEl=prgSection.querySelector('.prg__wrapper-slider-nav-next')
const prevEl=prgSection.querySelector('.prg__wrapper-slider-nav-prev')
const counterCurrent=prgSection.querySelector('.prg__wrapper-slider-nav-counter-current')
const counterTotal=prgSection.querySelector('.prg__wrapper-slider-nav-counter-total')
if(!thumbsEl||!mainEl) return
const prgThumbs=new Swiper(thumbsEl, {
slidesPerView: 4,
spaceBetween: 12,
watchSlidesProgress: true,
freeMode: true,
slideToClickedSlide: true
})
const prgMain=new Swiper(mainEl, {
slidesPerView: 1,
effect: 'fade',
speed: 600,
navigation: {
nextEl,
prevEl
},
thumbs: {
swiper: prgThumbs
},
on: {
init(swiper){
updatePrgCounter(swiper, counterCurrent, counterTotal)
},
slideChange(swiper){
updatePrgCounter(swiper, counterCurrent, counterTotal)
}}
})
})
function updateCounter(swiper){
const current=document.querySelector('.abt__wrapper-slider-nav-counter-current')
const total=document.querySelector('.abt__wrapper-slider-nav-counter-total')
const slidesTotal=Array.from(swiper.slides).filter(slide=> !slide.classList.contains('swiper-slide-duplicate')).length
if(current) current.textContent=swiper.realIndex + 1
if(total) total.textContent=slidesTotal
}
function updatePrgCounter(swiper, current, total){
const slidesTotal=swiper.slides.length
if(current) current.textContent=swiper.realIndex + 1
if(total) total.textContent=slidesTotal
}
const atntSliderContainer=document.querySelector('.atnt__wrapper-slider')
if(atntSliderContainer){
const width=window.innerWidth
let initialSlides=5
if(width < 730) initialSlides=1
else if(width < 1024) initialSlides=2.8
else if(width < 1300) initialSlides=3.5
const atntSlider=new Swiper('.atnt__wrapper-slider', {
slidesPerView: initialSlides,
spaceBetween: 20,
loop: true,
watchOverflow: true,
navigation: {
nextEl: '.atnt__wrapper-nav .abt__wrapper-slider-nav-next',
prevEl: '.atnt__wrapper-nav .abt__wrapper-slider-nav-prev'
},
breakpoints: {
730: {
slidesPerView: 2.8
},
1024: {
slidesPerView: 3.5
},
1300: {
slidesPerView: 5
}},
on: {
init(swiper){
updateAtntCounter(swiper)
},
slideChange(swiper){
updateAtntCounter(swiper)
}}
})
function updateAtntCounter(swiper){
const nav=document.querySelector('.atnt__wrapper-nav')
if(!nav) return
const current=nav.querySelector('.abt__wrapper-slider-nav-counter-current')
const total=nav.querySelector('.abt__wrapper-slider-nav-counter-total')
if(!swiper||!swiper.slides||swiper.slides.length===0) return
const realSlides=Array.from(swiper.slides).filter(slide=> !slide.classList.contains('swiper-slide-duplicate'))
const slidesTotal=realSlides.length
const currentIndex=(swiper.realIndex!==undefined&&swiper.realIndex!==null) ? swiper.realIndex + 1:1
if(current) current.textContent=currentIndex
if(total) total.textContent=slidesTotal||swiper.slides.length
}}
const intgllSlider=document.querySelector('.intgll__wrapper-gallery-main')
if(intgllSlider){
const isMobile=window.innerWidth <=730
const intgllMain=new Swiper('.intgll__wrapper-gallery-main', {
slidesPerView: 1,
loop: !isMobile,
speed: 600,
navigation: {
nextEl: '.intgll__wrapper-nav-next',
prevEl: '.intgll__wrapper-nav-prev'
},
on: {
init(swiper){
updateIntgllCounter(swiper)
},
slideChange(swiper){
updateIntgllCounter(swiper)
}}
})
const sideContainer=document.querySelector('.intgll__wrapper-gallery-side')
let intgllSideVertical=null
let intgllSideThumbs=null
if(sideContainer){
const sideVerticalSlider=sideContainer.querySelector('.intgll__wrapper-gallery-side-vertical')
const thumbsSlider=sideContainer.querySelector('.intgll__wrapper-gallery-side-thumbs')
if(sideVerticalSlider){
intgllSideVertical=new Swiper(sideVerticalSlider, {
direction: 'vertical',
slidesPerView: 2,
spaceBetween: 16,
loop: !isMobile,
speed: 600,
watchOverflow: true,
allowTouchMove: false,
slideToClickedSlide: false,
autoHeight: false
})
}
if(thumbsSlider){
intgllSideThumbs=new Swiper(thumbsSlider, {
slidesPerView: 3,
spaceBetween: 16,
loop: !isMobile,
speed: 600,
watchOverflow: true,
allowTouchMove: false
})
}
const syncAllSliders=(sourceSwiper)=> {
const realIndex=sourceSwiper.realIndex
if(intgllSideVertical&&intgllSideVertical.realIndex!==realIndex){
if(isMobile){
intgllSideVertical.slideTo(realIndex)
}else{
intgllSideVertical.slideToLoop(realIndex)
}}
if(intgllSideThumbs&&intgllSideThumbs.realIndex!==realIndex){
if(isMobile){
intgllSideThumbs.slideTo(realIndex)
}else{
intgllSideThumbs.slideToLoop(realIndex)
}}
}
intgllMain.on('slideChange', ()=> {
syncAllSliders(intgllMain)
})
if(intgllSideVertical){
intgllSideVertical.on('slideChange', ()=> {
syncAllSliders(intgllSideVertical)
})
}
if(intgllSideThumbs){
intgllSideThumbs.on('slideChange', ()=> {
syncAllSliders(intgllSideThumbs)
})
}
sideContainer.querySelectorAll('.intgll__wrapper-gallery-side-top, .intgll__wrapper-gallery-side-middle, .intgll__wrapper-gallery-side-thumb').forEach(el=> {
el.addEventListener('click', ()=> {
const slide=el.closest('.swiper-slide')
if(slide){
const swiper=slide.closest('.swiper').swiper
if(swiper){
if(isMobile){
intgllMain.slideTo(swiper.realIndex)
}else{
intgllMain.slideToLoop(swiper.realIndex)
}}
}})
})
}
function updateIntgllCounter(swiper){
const current=document.querySelector('.intgll__wrapper-nav-counter-current')
const total=document.querySelector('.intgll__wrapper-nav-counter-total')
if(!swiper||!swiper.slides||swiper.slides.length===0) return
const slidesTotal=Array.from(swiper.slides).filter(slide=> !slide.classList.contains('swiper-slide-duplicate')).length
const currentIndex=(swiper.realIndex!==undefined&&swiper.realIndex!==null) ? swiper.realIndex + 1:1
if(current) current.textContent=currentIndex
if(total) total.textContent=slidesTotal||swiper.slides.length
}
const mobileSliderEl=document.querySelector('.intgll__mobile-slider')
if(mobileSliderEl){
const intgllMobile=new Swiper('.intgll__mobile-slider', {
slidesPerView: 5,
spaceBetween: 16,
loop: false,
allowTouchMove: true
})
intgllMain.controller=intgllMain.controller||{}
intgllMobile.controller=intgllMobile.controller||{}
intgllMain.controller.control=intgllMobile
intgllMobile.controller.control=intgllMain
mobileSliderEl.querySelectorAll('.swiper-slide').forEach(slide=> {
slide.addEventListener('click', ()=> {
const slideIndex=parseInt(slide.getAttribute('data-slide-index'))
intgllMain.slideToLoop(slideIndex)
})
})
}}
document.querySelectorAll('.vd__wrapper').forEach(wrapper=> {
const play=wrapper.querySelector('.vd__wrapper-play')
const border=play?.querySelector('.space-cursor-border')
const cursor=play?.querySelector('.space-cursor')
const video=wrapper.querySelector('video')
if(!play||!border||!cursor) return
let rect=wrapper.getBoundingClientRect()
let targetX=rect.width / 2
let targetY=rect.height / 2
let borderX=targetX
let borderY=targetY
const update=()=> {
borderX +=(targetX - borderX) * 0.15
borderY +=(targetY - borderY) * 0.15
border.style.left=`${borderX}px`
border.style.top=`${borderY}px`
requestAnimationFrame(update)
}
update()
const setTarget=e => {
rect=wrapper.getBoundingClientRect()
targetX=e.clientX - rect.left
targetY=e.clientY - rect.top
cursor.style.left=`${targetX}px`
cursor.style.top=`${targetY}px`
}
wrapper.addEventListener('mousemove', setTarget)
wrapper.addEventListener('mouseenter', setTarget)
wrapper.addEventListener('mouseleave', ()=> {
targetX=rect.width / 2
targetY=rect.height / 2
cursor.style.left=`${targetX}px`
cursor.style.top=`${targetY}px`
})
if(video){
wrapper.addEventListener('click', ()=> {
if(video.paused) video.play()
else video.pause()
})
}
window.addEventListener('resize', ()=> {
rect=wrapper.getBoundingClientRect()
targetX=rect.width / 2
targetY=rect.height / 2
borderX=targetX
borderY=targetY
border.style.left=`${borderX}px`
border.style.top=`${borderY}px`
cursor.style.left=`${targetX}px`
cursor.style.top=`${targetY}px`
})
})
const prising=document.querySelector('.prsng__wrapper-cards')
if(prising){
const cards=prising.querySelectorAll('.prsng__wrapper-card-wrapper')
cards.forEach(cardWrap=> {
const popup=cardWrap.querySelector('.prsng__wrapper-cards-popup')
const card=cardWrap.querySelector('.prsng__wrapper-cards-card')
const close=popup?.querySelector('.prsng__wrapper-cards-popup-close')
const open=()=> popup?.classList.add('is-open')
const hide=()=> popup?.classList.remove('is-open')
card.addEventListener('click', e=> {
e.preventDefault()
open()
})
close?.addEventListener('click', e=> {
e.preventDefault()
hide()
})
popup?.addEventListener('click', e=> {
if(e.target===popup) hide()
})
})
}
const nf=document.querySelector('.nf__wrapper-q')
if(nf){
const popup=nf.querySelector('.nf__wrapper-q-popup')
const close=popup?.querySelector('.nf__wrapper-q-popup-wrapper-close')
const btn=nf.querySelector('.nf__wrapper-q-btn')
const open=()=> popup?.classList.add('is-open')
const hide=()=> popup?.classList.remove('is-open')
btn?.addEventListener('click', e=> {
e.preventDefault()
open()
})
close?.addEventListener('click', e=> {
e.preventDefault()
hide()
})
popup?.addEventListener('click', e=> {
if(e.target===popup) hide()
})
}});
(function (){
var defaultOptions={
frameRate:150,
animationTime:400,
stepSize:100,
pulseAlgorithm:true,
pulseScale:4,
pulseNormalize:1,
accelerationDelta:50,
accelerationMax:3,
keyboardSupport:true,
arrowScroll:50,
fixedBackground:true,
excluded:''
};
var options=defaultOptions;
var isExcluded=false;
var isFrame=false;
var direction={ x: 0, y: 0 };
var initDone=false;
var root=document.documentElement;
var activeElement;
var observer;
var refreshSize;
var deltaBuffer=[];
var deltaBufferTimer;
var isMac=/^Mac/.test(navigator.platform);
var key={ left: 37, up: 38, right: 39, down: 40, spacebar: 32,
pageup: 33, pagedown: 34, end: 35, home: 36 };
var arrowKeys={ 37: 1, 38: 1, 39: 1, 40: 1 };
function initTest(){
if(options.keyboardSupport){
addEvent('keydown', keydown);
}}
function init(){
if(initDone||!document.body) return;
initDone=true;
var body=document.body;
var html=document.documentElement;
var windowHeight=window.innerHeight;
var scrollHeight=body.scrollHeight;
root=(document.compatMode.indexOf('CSS') >=0) ? html:body;
activeElement=body;
initTest();
if(top!=self){
isFrame=true;
}
else if(isOldSafari &&
scrollHeight > windowHeight &&
(body.offsetHeight <=windowHeight ||
html.offsetHeight <=windowHeight)){
var fullPageElem=document.createElement('div');
fullPageElem.style.cssText='position:absolute; z-index:-10000; ' +
'top:0; left:0; right:0; height:' +
root.scrollHeight + 'px';
document.body.appendChild(fullPageElem);
var pendingRefresh;
refreshSize=function (){
if(pendingRefresh) return;
pendingRefresh=setTimeout(function (){
if(isExcluded) return;
fullPageElem.style.height='0';
fullPageElem.style.height=root.scrollHeight + 'px';
pendingRefresh=null;
}, 500);
};
setTimeout(refreshSize, 10);
addEvent('resize', refreshSize);
var config={
attributes: true,
childList: true,
characterData: false
};
observer=new MutationObserver(refreshSize);
observer.observe(body, config);
if(root.offsetHeight <=windowHeight){
var clearfix=document.createElement('div');
clearfix.style.clear='both';
body.appendChild(clearfix);
}}
if(!options.fixedBackground&&!isExcluded){
body.style.backgroundAttachment='scroll';
html.style.backgroundAttachment='scroll';
}}
function cleanup(){
observer&&observer.disconnect();
removeEvent(wheelEvent, wheel);
removeEvent('mousedown', mousedown);
removeEvent('keydown', keydown);
removeEvent('resize', refreshSize);
removeEvent('load', init);
}
var que=[];
var pending=false;
var lastScroll=Date.now();
function scrollArray(elem, left, top){
directionCheck(left, top);
if(options.accelerationMax!=1){
var now=Date.now();
var elapsed=now - lastScroll;
if(elapsed < options.accelerationDelta){
var factor=(1 + (50 / elapsed)) / 2;
if(factor > 1){
factor=Math.min(factor, options.accelerationMax);
left *=factor;
top  *=factor;
}}
lastScroll=Date.now();
}
que.push({
x: left,
y: top,
lastX: (left < 0) ? 0.99:-0.99,
lastY: (top  < 0) ? 0.99:-0.99,
start: Date.now()
});
if(pending){
return;
}
var scrollRoot=getScrollRoot();
var isWindowScroll=(elem===scrollRoot||elem===document.body);
if(elem.$scrollBehavior==null&&isScrollBehaviorSmooth(elem)){
elem.$scrollBehavior=elem.style.scrollBehavior;
elem.style.scrollBehavior='auto';
}
var step=function (time){
var now=Date.now();
var scrollX=0;
var scrollY=0;
for (var i=0; i < que.length; i++){
var item=que[i];
var elapsed=now - item.start;
var finished=(elapsed >=options.animationTime);
var position=(finished) ? 1:elapsed / options.animationTime;
if(options.pulseAlgorithm){
position=pulse(position);
}
var x=(item.x * position - item.lastX) >> 0;
var y=(item.y * position - item.lastY) >> 0;
scrollX +=x;
scrollY +=y;
item.lastX +=x;
item.lastY +=y;
if(finished){
que.splice(i, 1); i--;
}}
if(isWindowScroll){
window.scrollBy(scrollX, scrollY);
}else{
if(scrollX) elem.scrollLeft +=scrollX;
if(scrollY) elem.scrollTop  +=scrollY;
}
if(!left&&!top){
que=[];
}
if(que.length){
requestFrame(step, elem, (1000 / options.frameRate + 1));
}else{
pending=false;
if(elem.$scrollBehavior!=null){
elem.style.scrollBehavior=elem.$scrollBehavior;
elem.$scrollBehavior=null;
}}
};
requestFrame(step, elem, 0);
pending=true;
}
function wheel(event){
if(!initDone){
init();
}
var target=event.target;
if(event.defaultPrevented||event.ctrlKey){
return true;
}
if(isNodeName(activeElement, 'embed') ||
(isNodeName(target, 'embed')&&/\.pdf/i.test(target.src)) ||
isNodeName(activeElement, 'object') ||
target.shadowRoot){
return true;
}
var deltaX=-event.wheelDeltaX||event.deltaX||0;
var deltaY=-event.wheelDeltaY||event.deltaY||0;
if(isMac){
if(event.wheelDeltaX&&isDivisible(event.wheelDeltaX, 120)){
deltaX=-120 * (event.wheelDeltaX / Math.abs(event.wheelDeltaX));
}
if(event.wheelDeltaY&&isDivisible(event.wheelDeltaY, 120)){
deltaY=-120 * (event.wheelDeltaY / Math.abs(event.wheelDeltaY));
}}
if(!deltaX&&!deltaY){
deltaY=-event.wheelDelta||0;
}
if(event.deltaMode===1){
deltaX *=40;
deltaY *=40;
}
var overflowing=overflowingAncestor(target);
if(!overflowing){
if(isFrame&&isChrome){
Object.defineProperty(event, "target", {value: window.frameElement});
return parent.wheel(event);
}
return true;
}
if(isTouchpad(deltaY)){
return true;
}
if(Math.abs(deltaX) > 1.2){
deltaX *=options.stepSize / 120;
}
if(Math.abs(deltaY) > 1.2){
deltaY *=options.stepSize / 120;
}
scrollArray(overflowing, deltaX, deltaY);
event.preventDefault();
scheduleClearCache();
}
function keydown(event){
var target=event.target;
var modifier=event.ctrlKey||event.altKey||event.metaKey ||
(event.shiftKey&&event.keyCode!==key.spacebar);
if(!document.body.contains(activeElement)){
activeElement=document.activeElement;
}
var inputNodeNames=/^(textarea|select|embed|object)$/i;
var buttonTypes=/^(button|submit|radio|checkbox|file|color|image)$/i;
if(event.defaultPrevented ||
inputNodeNames.test(target.nodeName) ||
isNodeName(target, 'input')&&!buttonTypes.test(target.type) ||
isNodeName(activeElement, 'video') ||
isInsideYoutubeVideo(event) ||
target.isContentEditable ||
modifier){
return true;
}
if((isNodeName(target, 'button') ||
isNodeName(target, 'input')&&buttonTypes.test(target.type)) &&
event.keyCode===key.spacebar){
return true;
}
if(isNodeName(target, 'input')&&target.type=='radio' &&
arrowKeys[event.keyCode]){
return true;
}
var shift, x=0, y=0;
var overflowing=overflowingAncestor(activeElement);
if(!overflowing){
return (isFrame&&isChrome) ? parent.keydown(event):true;
}
var clientHeight=overflowing.clientHeight;
if(overflowing==document.body){
clientHeight=window.innerHeight;
}
switch (event.keyCode){
case key.up:
y=-options.arrowScroll;
break;
case key.down:
y=options.arrowScroll;
break;
case key.spacebar:
shift=event.shiftKey ? 1:-1;
y=-shift * clientHeight * 0.9;
break;
case key.pageup:
y=-clientHeight * 0.9;
break;
case key.pagedown:
y=clientHeight * 0.9;
break;
case key.home:
if(overflowing==document.body&&document.scrollingElement)
overflowing=document.scrollingElement;
y=-overflowing.scrollTop;
break;
case key.end:
var scroll=overflowing.scrollHeight - overflowing.scrollTop;
var scrollRemaining=scroll - clientHeight;
y=(scrollRemaining > 0) ? scrollRemaining + 10:0;
break;
case key.left:
x=-options.arrowScroll;
break;
case key.right:
x=options.arrowScroll;
break;
default:
return true;
}
scrollArray(overflowing, x, y);
event.preventDefault();
scheduleClearCache();
}
function mousedown(event){
activeElement=event.target;
}
var uniqueID=(function (){
var i=0;
return function (el){
return el.uniqueID||(el.uniqueID=i++);
};})();
var cacheX={};
var cacheY={};
var clearCacheTimer;
var smoothBehaviorForElement={};
function scheduleClearCache(){
clearTimeout(clearCacheTimer);
clearCacheTimer=setInterval(function (){
cacheX=cacheY=smoothBehaviorForElement={};}, 1*1000);
}
function setCache(elems, overflowing, x){
var cache=x ? cacheX:cacheY;
for (var i=elems.length; i--;)
cache[uniqueID(elems[i])]=overflowing;
return overflowing;
}
function getCache(el, x){
return (x ? cacheX:cacheY)[uniqueID(el)];
}
function overflowingAncestor(el){
var elems=[];
var body=document.body;
var rootScrollHeight=root.scrollHeight;
do {
var cached=getCache(el, false);
if(cached){
return setCache(elems, cached);
}
elems.push(el);
if(rootScrollHeight===el.scrollHeight){
var topOverflowsNotHidden=overflowNotHidden(root)&&overflowNotHidden(body);
var isOverflowCSS=topOverflowsNotHidden||overflowAutoOrScroll(root);
if(isFrame&&isContentOverflowing(root) ||
!isFrame&&isOverflowCSS){
return setCache(elems, getScrollRoot());
}}else if(isContentOverflowing(el)&&overflowAutoOrScroll(el)){
return setCache(elems, el);
}} while ((el=el.parentElement));
}
function isContentOverflowing(el){
return (el.clientHeight + 10 < el.scrollHeight);
}
function overflowNotHidden(el){
var overflow=getComputedStyle(el, '').getPropertyValue('overflow-y');
return (overflow!=='hidden');
}
function overflowAutoOrScroll(el){
var overflow=getComputedStyle(el, '').getPropertyValue('overflow-y');
return (overflow==='scroll'||overflow==='auto');
}
function isScrollBehaviorSmooth(el){
var id=uniqueID(el);
if(smoothBehaviorForElement[id]==null){
var scrollBehavior=getComputedStyle(el, '')['scroll-behavior'];
smoothBehaviorForElement[id]=('smooth'==scrollBehavior);
}
return smoothBehaviorForElement[id];
}
function addEvent(type, fn, arg){
window.addEventListener(type, fn, arg||false);
}
function removeEvent(type, fn, arg){
window.removeEventListener(type, fn, arg||false);
}
function isNodeName(el, tag){
return el&&(el.nodeName||'').toLowerCase()===tag.toLowerCase();
}
function directionCheck(x, y){
x=(x > 0) ? 1:-1;
y=(y > 0) ? 1:-1;
if(direction.x!==x||direction.y!==y){
direction.x=x;
direction.y=y;
que=[];
lastScroll=0;
}}
if(window.localStorage&&localStorage.SS_deltaBuffer){
try {
deltaBuffer=localStorage.SS_deltaBuffer.split(',');
} catch (e){ }}
function isTouchpad(deltaY){
if(!deltaY) return;
if(!deltaBuffer.length){
deltaBuffer=[deltaY, deltaY, deltaY];
}
deltaY=Math.abs(deltaY);
deltaBuffer.push(deltaY);
deltaBuffer.shift();
clearTimeout(deltaBufferTimer);
deltaBufferTimer=setTimeout(function (){
try {
localStorage.SS_deltaBuffer=deltaBuffer.join(',');
} catch (e){ }}, 1000);
var dpiScaledWheelDelta=deltaY > 120&&allDeltasDivisableBy(deltaY);
var tp = !allDeltasDivisableBy(120)&&!allDeltasDivisableBy(100)&&!dpiScaledWheelDelta;
if(deltaY < 50) return true;
return tp;
}
function isDivisible(n, divisor){
return (Math.floor(n / divisor)==n / divisor);
}
function allDeltasDivisableBy(divisor){
return (isDivisible(deltaBuffer[0], divisor) &&
isDivisible(deltaBuffer[1], divisor) &&
isDivisible(deltaBuffer[2], divisor));
}
function isInsideYoutubeVideo(event){
var elem=event.target;
var isControl=false;
if(document.URL.indexOf ('www.youtube.com/watch')!=-1){
do {
isControl=(elem.classList &&
elem.classList.contains('html5-video-controls'));
if(isControl) break;
} while ((elem=elem.parentNode));
}
return isControl;
}
var requestFrame=(function (){
return (window.requestAnimationFrame       ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame    ||
function (callback, element, delay){
window.setTimeout(callback, delay||(1000/60));
});
})();
var MutationObserver=(window.MutationObserver ||
window.WebKitMutationObserver ||
window.MozMutationObserver);
var getScrollRoot=(function(){
var SCROLL_ROOT=document.scrollingElement;
return function(){
if(!SCROLL_ROOT){
var dummy=document.createElement('div');
dummy.style.cssText='height:10000px;width:1px;';
document.body.appendChild(dummy);
var bodyScrollTop=document.body.scrollTop;
var docElScrollTop=document.documentElement.scrollTop;
window.scrollBy(0, 3);
if(document.body.scrollTop!=bodyScrollTop)
(SCROLL_ROOT=document.body);
else
(SCROLL_ROOT=document.documentElement);
window.scrollBy(0, -3);
document.body.removeChild(dummy);
}
return SCROLL_ROOT;
};})();
function pulse_(x){
var val, start, expx;
x=x * options.pulseScale;
if(x < 1){
val=x - (1 - Math.exp(-x));
}else{
start=Math.exp(-1);
x -=1;
expx=1 - Math.exp(-x);
val=start + (expx * (1 - start));
}
return val * options.pulseNormalize;
}
function pulse(x){
if(x >=1) return 1;
if(x <=0) return 0;
if(options.pulseNormalize==1){
options.pulseNormalize /=pulse_(1);
}
return pulse_(x);
}
var userAgent=window.navigator.userAgent;
var isEdge=/Edge/.test(userAgent);
var isChrome=/chrome/i.test(userAgent)&&!isEdge;
var isSafari=/safari/i.test(userAgent)&&!isEdge;
var isMobile=/mobile/i.test(userAgent);
var isIEWin7=/Windows NT 6.1/i.test(userAgent)&&/rv:11/i.test(userAgent);
var isOldSafari=isSafari&&(/Version\/8/i.test(userAgent)||/Version\/9/i.test(userAgent));
var isEnabledForBrowser=(isChrome||isSafari||isIEWin7)&&!isMobile;
var supportsPassive=false;
try {
window.addEventListener("test", null, Object.defineProperty({}, 'passive', {
get: function (){
supportsPassive=true;
}}));
} catch(e){}
var wheelOpt=supportsPassive ? { passive: false }:false;
var wheelEvent='onwheel' in document.createElement('div') ? 'wheel':'mousewheel';
if(wheelEvent&&isEnabledForBrowser){
addEvent(wheelEvent, wheel, wheelOpt);
addEvent('mousedown', mousedown);
addEvent('load', init);
}
function SmoothScroll(optionsToSet){
for (var key in optionsToSet)
if(defaultOptions.hasOwnProperty(key))
options[key]=optionsToSet[key];
}
SmoothScroll.destroy=cleanup;
if(window.SmoothScrollOptions)
SmoothScroll(window.SmoothScrollOptions);
if(typeof define==='function'&&define.amd)
define(function(){
return SmoothScroll;
});
else if('object'==typeof exports)
module.exports=SmoothScroll;
else
window.SmoothScroll=SmoothScroll;
})();
jQuery(document).ready(function ($){
'use strict';
let site_key='';
if(typeof recaptha==='object'){
site_key=recaptha.site_key;
}
(function($){
$('body').on('mousedown', 'form input, form textarea', function(e){
if(typeof(grecaptcha)=='undefined'){
let grecaptcha_s=document.createElement('script');
grecaptcha_s.src='https://www.google.com/recaptcha/api.js?render=' + site_key;
let grecaptcha_h=document.getElementsByTagName('script')[0];
grecaptcha_h.parentNode.insertBefore(grecaptcha_s,grecaptcha_h);
}});
})(jQuery);
(function($){
let submit=false;
$('#contact-form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input:not([type="email"])');
const emailInputs=$this.find(' > div > input[type="email"]');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
emailInputs.each(function (index, element){
const emailValue=element.value.trim();
if(emailValue!==''){
const isValidEmail=/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/.test(emailValue);
if(!isValidEmail){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
}});
if(! submit&&is_valid){
submit=true;
let name=$this.find('input[name="name"]').val();
let email=$this.find('input[name="email"]').val();
let phone=$this.find('input[name="phone"]').val();
let message=$this.find('textarea[name="message"]').val();
let page_link=window.location.href;
message=message.replace(/\r?\n/g, '<br />');
grecaptcha.ready(function (){
grecaptcha.execute(site_key, { action: 'contact_form' }).then(function (token){
$('#recaptchaResponse').val(token);
let recaptcha_response=$('#recaptchaResponse').val();
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_mail',
recaptcha_response: recaptcha_response,
name: name,
email: email,
phone: phone,
message: message,
page_link: page_link,
_ajax_nonce: ajax_var.nonce,
},
success: function (result){
if(result.success!=undefined){
window.location.assign('/thank');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
});
});
}});
$('body').on('click', '.form__success.active', function (){
$(this).removeClass('active');
});
})(jQuery);
(function($){
let submit=false;
$('#request_form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input:not([type="email"])');
const emailInputs=$this.find(' > div > input[type="email"]');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
emailInputs.each(function (index, element){
const emailValue=element.value.trim();
if(emailValue!==''){
const isValidEmail=/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/.test(emailValue);
if(!isValidEmail){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
}});
if(! submit&&is_valid){
submit=true;
let name=$this.find('input[name="name"]').val();
let email_or_phone=$this.find('input[name="email"]').val();
let message=$this.find('textarea[name="message"]').val();
let product_lot=$('.order__popup-item-info-type').html();
let product_image=$('.order__popup-item-ph > img').attr('src');
let product_name=$('.order__popup-item-info-name').html();
let page_link=$this.find('input[name="page_link"]').val();
let page_url=window.location.href;
message=message.replace(/\r?\n/g, '<br />');
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_request',
name: name,
email_or_phone: email_or_phone,
message: message,
product_lot: product_lot,
product_image: product_image,
product_name: product_name,
page_link: page_link,
page_url: page_url,
_ajax_nonce: ajax_var.nonce,
},
success: function(result){
if(result.success!=undefined){
window.location.assign('/thank');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
}});
})(jQuery);
(function($){
let submit=false;
$('#condition_report-form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
if(! submit&&is_valid){
submit=true;
let text=$this.find('input[name="text"]').val();
let email_or_phone=$this.find('input[name="email"]').val();
let page_link=$this.find('input[name="page_link"]').val();
grecaptcha.ready(function (){
grecaptcha.execute(site_key, { action: 'condition_report' }).then(function (token){
$('#requestRecaptchaResponseCondRep').val(token);
let recaptcha_response=$('#requestRecaptchaResponseCondRep').val();
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_condition_report',
recaptcha_response: recaptcha_response,
text: text,
email_or_phone: email_or_phone,
page_link: page_link,
_ajax_nonce: ajax_var.nonce,
},
success: function(result){
if(result.success!=undefined){
window.location.assign('/thank');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
});
});
}});
})(jQuery);
(function($){
const tax_product=$('body').hasClass('tax-product_cat');
const catalog_page=$('body').hasClass('page-template-page-catalog');
if(tax_product||catalog_page){
let submit=false;
function parse_query_string(){
var vars=location.search.replace('?','');
vars=vars.split("&");
var query_string={};
for (var i=0; i < vars.length; i++){
var pair=vars[i].split("=");
var key=decodeURIComponent(pair.shift());
var value=decodeURIComponent(pair.join("="));
if(typeof query_string[key]==="undefined"){
query_string[key]=value;
}else if(typeof query_string[key]==="string"){
var arr=[query_string[key], value];
query_string[key]=arr;
}else{
query_string[key].push(value);
}}
return query_string;
}
const methods={
get_posts: function(pag_loading=false){
if(! submit){
submit=true;
$('.catalog__cards-inner.grid-col').html('');
$('.catalog__cards-inner.grid-row').html('');
$('.pagination__wrapp').hide();
if(pag_loading){
const products_wrap=element.closest('.catalog__products-wrap:not(.d-none)');
$('html').animate({
scrollTop: products_wrap.position().top + 10
}, {
duration: 300,
easing: "swing"
});
}
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_get_posts',
atts: atts,
page_name: page_name,
paged_name: 'current-page',
offset: offset,
current_page: current_page,
_ajax_nonce: ajax_var.nonce
},
success: function(result){
if(result!==false&&result.html!=undefined&&result.col_html!=''&&result.row_html!=''){
$('.catalog__cards-inner.grid-col').append(result.col_html);
$('.catalog__cards-inner.grid-row').append(result.row_html);
if(result.found_posts){
element.removeClass('not-found');
}else{
element.addClass('not-found');
}
if(result.filters_html!=undefined){
$('.filter__tabs-wrapper').html('');
$('.filter__tabs-wrapper').append(result.filters_html);
}
if(result.pagination!=undefined){
$('.pagination__wrapp').html('');
$('.pagination__wrapp').append(result.pagination);
$('.pagination__wrapp').show();
}else{
$('.pagination__wrapp').html('');
}
if(result.description!=''&&result.description!=undefined){
$('.catalog__cat-description').html(result.description);
}
if(result.buttons_html!=''&&result.buttons_html!=undefined){
$('.catalog__buttons').html(result.buttons_html);
}
if(filter_remove!==''){
filter_remove='';
}
setWishItems()
}else{
element.html('');
element_wrap.css({'opacity': '1', 'height': ''});
}
$('.checkboxC.checkboxC--primary input[type=checkbox]').removeAttr('disabled');
$('.filter__tabs-wrapper .filter__checkbox').removeClass('submit');
submit=false;
},
});
}},
get_filter_str: function(items){
let filter='';
let c=0;
for (const key in items){
if(Object.hasOwnProperty.call(items, key)){
const item_value=items[key];
if(item_value!=''&&key!='product_cat'){
if(c==0){
filter +=key + '=';
}else{
filter +='&' + key + '=';
}
let i=0;
for (const key in item_value){
if(Object.hasOwnProperty.call(item_value, key)){
const id=item_value[key];
if(i==0){
filter +=id;
}else{
filter +='+' + id;
}
i++;
}}
c++;
}}
}
return filter;
},
get_cat_str: function(items){
let filter='';
for (const key in items){
if(Object.hasOwnProperty.call(items, key)){
const item_value=items[key];
if(item_value!=''&&key=='product_cat'){
filter +=item_value[0];
}}
}
return filter;
},
get_checked_items: function(get){
let items={};
let active_cat=$('.catalog__nav__wrapper-item.active .catalog__nav-checkbox');
if(active_cat.length > 0){
const taxonomy_name=active_cat.data('taxonomy');
const term_name=active_cat.val();
if(items[ taxonomy_name ]==undefined){
items[ taxonomy_name ]=[];
}
items[ taxonomy_name ].push(term_name);
}else{
if(location.pathname!=''){
const pathname=location.pathname.split('/');
if(pathname[2]!=undefined){
const taxonomy_name=$('.catalog__nav-checkbox').data('taxonomy');
if(items[ taxonomy_name ]==undefined){
items[ taxonomy_name ]=[];
}
items[ taxonomy_name ].push(pathname[2]);
}}
}
if(get!=undefined&&get!=''){
for (const key in get){
if(Object.hasOwnProperty.call(get, key)){
if(key!='current-page'){
if(items[key]==undefined){
items[key]=[];
}
if(key=='price'){
const prices_arr=get[key].split('+');
const prices=prices_arr.map(function (str){
const str_arr=str.split(',');
const num_arr=str_arr.map(function (str){
return Number(str);
});
return num_arr;
});
items[key]=prices;
}else if(key=='dubai'){
let item_value=get[key];
items[key]=item_value;
}else{
let item_value=get[key].split('+');
items[key]=item_value;
}}
}}
}
return items;
},
};
let element=$('.catalog__cards-inner'),
atts=element.data('atts'),
page_name=element.data('page-name'),
paged_value=Number(element.data('paged-value')),
offset=Number(element.data('offset')),
element_wrap=element.closest('.catalog__products-wrap'),
max_load_pages=element.data('max-load-pages'),
checked_items={},
filter_remove='',
timeout_id,
current_page;
if(paged_value==''){
current_page=2;
}else{
current_page=paged_value + 1;
}
if(max_load_pages==0){
max_load_pages=9999;
}else{
max_load_pages++;
}
$('.catalog__nav-checkbox').on('click', function (e){
e.stopPropagation();
});
$('#allItems').on('click', function (e){
$('.catalog__nav__wrapper-item').removeClass('active');
$('.catalog__cat-description').html('');
$('.catalog__buttons').html('');
$('.catalog__queries-term').remove();
$(this).addClass('active');
$('.catalog__nav__wrapper-item input').prop('checked', false);
checked_items={};
const all_filters=$('.filter__checkbox');
all_filters.each(function(index, element){
let $this=$(this);
const active=$this.hasClass('active');
if(active){
const price=$this.hasClass('checkbox-price');
const dubai=$this.hasClass('checkbox-dubai');
if(price){
const price_val=$this.data('price');
if(checked_items.price==undefined){
checked_items.price=[];
}
checked_items.price.push(price_val);
}
if(dubai){
checked_items.dubai='1';
}}
});
current_page=1;
if(history.pushState){
let newUrl='';
let filter='';
let baseUrl=window.location.origin;
if(checked_items){
atts.filter=checked_items;
filter=methods.get_filter_str(checked_items);
}else{
atts.filter=undefined;
}
if(filter!=undefined&&filter!=''){
if(current_page > 1){
newUrl=baseUrl + '/catalog/?current-page=' + current_page + '&' + filter;
}else{
newUrl=baseUrl + '/catalog/?' + filter;
}}else{
if(current_page > 1){
newUrl=baseUrl + '/catalog/?current-page=' + current_page;
}else{
newUrl=baseUrl + '/catalog/';
}}
history.pushState(null, null, newUrl);
}else{
console.warn('History API not supported');
}
methods.get_posts();
});
$('.catalog__nav__wrapper-item:not(#allItems)').on('click', function (e){
let $this=$(this);
let input=$this.find('.catalog__nav-checkbox');
let active=$this.hasClass('active');
let all_active=$('#allItems').hasClass('active');
let cat_inputs=$('.catalog__nav__wrapper-item input');
let title=$this.find('input').data('title');
$('.catalog__header-title').text(title);
$('.breadcrumb__wrapper .last-item').text(title);
$('.catalog__nav__wrapper-item').removeClass('active');
$this.addClass('active');
cat_inputs.each(function (index, element){
let checked=$(this).prop('checked');
if(checked){
$(this).prop('checked', false);
}});
if(! active){
if(all_active){
$('#allItems').removeClass('active');
}}
input.trigger('click');
});
$('body').on('change', '.catalog__nav-checkbox', function(e){
$('.checkboxC.checkboxC--primary input[type=checkbox]').attr('disabled', 'disabled');
$('.catalog__cat-description').html('');
$('.catalog__buttons').html('');
$('.catalog__queries-term').remove();
let $this=$(this);
const all_cat_items=$this.closest('.catalog__nav__wrapper').find('.catalog__nav__wrapper-item:not(#allItems) .catalog__nav-checkbox');
checked_items={};
all_cat_items.each(function(index, element){
let checked=$(this).prop('checked');
if(checked){
const taxonomy_name=$(this).data('taxonomy');
const term_name=$(this).val();
if(checked_items[ taxonomy_name ]==undefined){
checked_items[ taxonomy_name ]=[];
}
checked_items[ taxonomy_name ].push(term_name);
}});
const all_filters=$('.filter__checkbox');
all_filters.each(function(index, element){
let $this=$(this);
const active=$this.hasClass('active');
if(active){
const price=$this.hasClass('checkbox-price');
const dubai=$this.hasClass('checkbox-dubai');
if(price){
const price_val=$this.data('price');
if(checked_items.price==undefined){
checked_items.price=[];
}
checked_items.price.push(price_val);
}
if(dubai){
checked_items.dubai='1';
}}
});
current_page=1;
if(history.pushState){
let newUrl='';
let filter='';
let cat='';
let baseUrl=window.location.origin;
if(checked_items){
atts.filter=checked_items;
filter=methods.get_filter_str(checked_items);
cat=methods.get_cat_str(checked_items);
}else{
atts.filter=undefined;
}
if(filter!=undefined&&filter!=''){
if(current_page > 1){
newUrl=baseUrl + '/product-category/' + cat + '/?current-page=' + current_page + '&' + filter;
}else{
newUrl=baseUrl + '/product-category/' + cat + '/?' + filter;
}}else{
if(current_page > 1){
newUrl=baseUrl + '/product-category/' + cat + '/?current-page=' + current_page;
}else{
newUrl=baseUrl + '/product-category/' + cat + '/';
}}
history.pushState(null, null, newUrl);
}else{
console.warn('History API not supported');
}
methods.get_posts();
});
$('.filter__tabs-wrapper').on('click', '.filter__checkbox', function (e){
clearTimeout(timeout_id);
let $this=$(this);
const disabled=$this.hasClass('submit');
if(! disabled){
const this_active=$this.hasClass('active');
if(this_active){
$this.removeClass('active');
if(filter_remove===''){
const field_id=$this.data('filter-name');
$('.catalog__queries__wrapper-item[data-filter-name="' + field_id + '"]').remove();
}}else{
$this.addClass('active');
if(filter_remove===''){
let label='';
const field_id=$this.data('filter-name');
const dubai=$this.hasClass('checkbox-dubai');
const subcat=$this.hasClass('checkbox-subcat');
let extra_class='';
if(subcat){
extra_class=' catalog__queries-term';
}
if(dubai){
label='Available in Dubai';
}else{
label=$this.find('.filter__checkbox-lable').text();
}
const button_html='<div class="catalog__queries__wrapper-item' + extra_class + '" data-filter-name="' + field_id + '">' +
'<p class="catalog__queries__wrapper-item-name">' + label + '</p>' +
'<svg class="close" viewBox="0 0 24 24">' +
'<use xlink:href="/wp-content/themes/artefact/img/sprite.svg#close"></use>' +
'</svg>' +
'</div>';
$('.catalog__queries__wrapper').append(button_html);
}}
const label=$this.find('.filter__checkbox-lable');
const label_disabled=label.hasClass('disabled');
if(label_disabled){
$this.addClass('disabled')
label.removeClass('disabled');
}
const all_cat_items=$('.catalog .catalog__nav__wrapper').find('.catalog__nav__wrapper-item:not(#allItems) .catalog__nav-checkbox');
checked_items={};
all_cat_items.each(function(index, element){
let checked=$(this).prop('checked');
if(checked){
const taxonomy_name=$(this).data('taxonomy');
const term_slug=$(this).val();
if(checked_items[ taxonomy_name ]==undefined){
checked_items[ taxonomy_name ]=[];
}
checked_items[ taxonomy_name ].push(term_slug);
}});
if(Object.keys(checked_items).length==0){
if(location.pathname!=''){
const pathname=location.pathname.split('/');
if(pathname[2]!=undefined){
const taxonomy_name=$('.catalog__nav-checkbox').data('taxonomy');
if(checked_items[ taxonomy_name ]==undefined){
checked_items[ taxonomy_name ]=[];
}
checked_items[ taxonomy_name ].push(pathname[2]);
}}
}
const all_filters=$('.filter__checkbox');
all_filters.each(function(index, element){
let $this=$(this);
const active=$this.hasClass('active');
if(active){
const subcat=$this.hasClass('checkbox-subcat');
const price=$this.hasClass('checkbox-price');
const dubai=$this.hasClass('checkbox-dubai');
if(subcat){
const cat_slug=$this.data('slug');
if(checked_items.subcat==undefined){
checked_items.subcat=[];
}
checked_items.subcat.push(cat_slug);
}
if(price){
const price_val=$this.data('price');
if(checked_items.price==undefined){
checked_items.price=[];
}
checked_items.price.push(price_val);
}
if(dubai){
checked_items.dubai='1';
}}
});
current_page=1;
if(history.pushState){
let newUrl='';
let filter='';
let cat='';
const catalog_page=$('#allItems').hasClass('active');
let baseUrl=window.location.origin;
if(checked_items){
atts.filter=checked_items;
filter=methods.get_filter_str(checked_items);
cat=methods.get_cat_str(checked_items);
}else{
atts.filter=undefined;
}
if(filter!=undefined&&filter!=''){
if(catalog_page){
if(current_page > 1){
newUrl=baseUrl + '/catalog/?current-page=' + current_page + '&' + filter;
}else{
newUrl=baseUrl + '/catalog/?' + filter;
}}else{
if(current_page > 1){
newUrl=baseUrl + '/product-category/' + cat + '/?current-page=' + current_page + '&' + filter;
}else{
newUrl=baseUrl + '/product-category/' + cat + '/?' + filter;
}}
}else{
if(catalog_page){
if(current_page > 1){
newUrl=baseUrl + '/catalog/?current-page=' + current_page;
}else{
newUrl=baseUrl + '/catalog/';
}}else{
if(current_page > 1){
newUrl=baseUrl + '/product-category/' + cat + '/?current-page=' + current_page;
}else{
newUrl=baseUrl + '/product-category/' + cat + '/';
}}
}
history.pushState(null, null, newUrl);
}else{
console.warn('History API not supported');
}
timeout_id=setTimeout(function(){
$('.filter__tabs-wrapper .filter__checkbox').addClass('submit');
methods.get_posts();
}, 1000);
}});
$('.catalog__queries__wrapper').on('click', '.catalog__queries__wrapper-item .close', function (e){
if(filter_remove===''){
let $this=$(this);
const wrapper=$this.closest('.catalog__queries__wrapper-item');
filter_remove=wrapper.data('filter-name');
wrapper.remove();
$('.filter__checkbox[data-filter-name="' + filter_remove + '"]').trigger('click');
}});
$('.catalog__queries-clear').on('click', function (e){
const all_cat_items=$('.catalog .catalog__nav__wrapper').find('.catalog__nav__wrapper-item:not(#allItems) .catalog__nav-checkbox');
checked_items={};
all_cat_items.each(function(index, element){
let checked=$(this).prop('checked');
if(checked){
const taxonomy_name=$(this).data('taxonomy');
const term_slug=$(this).val();
if(checked_items[ taxonomy_name ]==undefined){
checked_items[ taxonomy_name ]=[];
}
checked_items[ taxonomy_name ].push(term_slug);
}});
if(Object.keys(checked_items).length==0){
if(location.pathname!=''){
const pathname=location.pathname.split('/');
if(pathname[2]!=undefined){
const taxonomy_name=$('.catalog__nav-checkbox').data('taxonomy');
if(checked_items[ taxonomy_name ]==undefined){
checked_items[ taxonomy_name ]=[];
}
checked_items[ taxonomy_name ].push(pathname[2]);
}}
}
current_page=1;
if(history.pushState){
let newUrl='';
let cat='';
const catalog_page=$('#allItems').hasClass('active');
let baseUrl=window.location.origin;
if(checked_items){
atts.filter=checked_items;
cat=methods.get_cat_str(checked_items);
}else{
atts.filter=undefined;
}
if(catalog_page){
newUrl=baseUrl + '/catalog/?current-page=' + current_page;
}else{
newUrl=baseUrl + '/product-category/' + cat + '/?current-page=' + current_page;
}
history.pushState(null, null, newUrl);
}else{
console.warn('History API not supported');
}
$('.catalog__queries__wrapper-item').remove();
$('.filter__checkbox').removeClass('active');
methods.get_posts();
});
function changePage(){
if(history.pushState){
let baseUrl=window.location.origin + window.location.pathname;
let get=parse_query_string();
let newUrl;
let cur_checked_items=methods.get_checked_items(get);
atts.filter=cur_checked_items;
if(cur_checked_items!=''&&cur_checked_items!=undefined){
let filter=methods.get_filter_str(cur_checked_items);
if(filter!=undefined&&filter!=''){
if(current_page > 1){
newUrl=baseUrl + '?current-page=' + current_page + '&' + filter;
}else{
newUrl=baseUrl + '?' + filter;
}}else{
if(current_page > 1){
newUrl=baseUrl + '?current-page=' + current_page;
}else{
newUrl=baseUrl;
}}
}else{
if(current_page > 1){
newUrl=baseUrl + '?current-page=' + current_page;
}else{
newUrl=baseUrl;
}}
history.pushState(null, null, newUrl);
}else{
console.warn('History API not supported');
}
methods.get_posts(true);
};
$('body').on('click', '.page-button.next:not(.disabled)', function(e){
e.preventDefault();
current_page=$('.catalog__pagination-count').data('paged');
current_page=Number(current_page);
current_page++;
$('.catalog__pagination-count').data('paged', current_page);
changePage();
});
$('body').on('click', '.page-button.prev:not(.disabled)', function(e){
e.preventDefault();
current_page=$('.catalog__pagination-count').data('paged');
current_page=Number(current_page);
current_page--;
$('.catalog__pagination-count').data('paged', current_page);
changePage();
});
}})(jQuery);
(function($){
$('.obj__wrapper-gallery').on('click', '.obj__wrapper-gallery-nav-ph img', function(e){
let img_html=$(this).closest('picture').html();
$('.obj__wrapper-gallery-main picture').html(img_html);
let main_img=$('.obj__wrapper-gallery-main picture img');
let max_width=main_img.data('large_image_width');
let max_height=main_img.data('large_image_height');
main_img.attr({'width': max_width, 'height': max_height, 'sizes': '(max-width: ' + max_width + 'px) 100vw, ' + max_width + 'px'});
});
})(jQuery);
(function($){
let single_product=$('body').hasClass('single-product');
if(single_product){
let wrapper=$('.obj__wrapper-description-text-text');
wrapper.css('height', 'auto');
let wrapper_height=wrapper.height();
if(wrapper_height < 300){
$('.obj__wrapper-description-text .obj__wrapper-description-text-btn').css('display', 'none');
$('.obj__wrapper-description-text').css('border', 'none');
}else{
wrapper.css('height', '');
}}
})(jQuery);
(function($){
let isExpanded=false;
let isLsExpanded=false;
$('.obj__wrapper-description-text-btn-specialist').on('click', function(e){
let el=$(this).prev('.contact__footer-item-contact-text-specialist');
let readMoreBtn=document.querySelector('.obj__wrapper-description-text-btn-specialist .arrow');
let readMoreTextBtn=$('.obj__wrapper-description-text-btn-text-specialist');
readMoreBtn.classList.toggle('up');
el.toggleClass('active');
isExpanded = !isExpanded;
if(isExpanded){
readMoreTextBtn.text('Read less');
}else{
readMoreTextBtn.text('Read more');
}});
$('.ls_obj__wrapper-description-text-btn-specialist').on('click', function(e){
let el=$(this).prev('.contact__footer-item-contact-text-specialist');
let readMoreBtn=$(this).find('img');
let readMoreTextBtn=$(this).find('.obj__wrapper-description-text-btn-text-specialist');
readMoreBtn.toggleClass('up');
el.toggleClass('active');
isLsExpanded = !isLsExpanded;
if(isLsExpanded){
readMoreTextBtn.text('Read less');
}else{
readMoreTextBtn.text('Read more');
}});
})(jQuery);
(function($){
let single_product=$('body').hasClass('single-product');
if(single_product){
$('.obj__wrapper-send-request-btn').on('click', function(e){
$('.request__popup').addClass('active');
});
}})(jQuery);
(function($){
const isProductPage=document.querySelector('.product-template-default')?true:false;
$(document).on('click', '#add_to_cart_button', function(e){
e.preventDefault();
let product_id=this.dataset.productId;
let card_type=$(this).data('card-type');
let card_content=$(`div[data-card-product-id="${product_id}"][data-card-type="${card_type}"]`)
let product_info={}
if(!isProductPage){
product_info={
imageurl: $(card_content).find('[data-product-info="image"]')[0].src,
title: $(card_content).find('[data-product-info="title"]')[0].innerHTML,
sku: $(card_content).find('[data-product-info="sku"]')[0].innerHTML,
}}
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_add_to_cart',
_ajax_nonce: ajax_var.nonce,
product_id: product_id,
},
success: function(result){
if(result!=undefined&&result!=''&&result.add_cart!=false){
if(!isProductPage){
const popupContainer=document.querySelector('.order')
const popupContent={
image: popupContainer.querySelector('#product_image'),
sku: popupContainer.querySelector('#product_sku'),
title: popupContainer.querySelector('#product_title'),
}
popupContent.image.src=product_info.imageurl;
popupContent.sku.innerHTML=product_info.sku;
popupContent.title.innerHTML=product_info.title;
}
$('.order').addClass('active');
if(result.cart_total!=undefined){
$('.header__wrapper-shopping-counter').html(result.cart_total);
}
let event=new Event('add-to-cart');
document.dispatchEvent(event);
}else{
if(!isProductPage){
const popupContainer=document.querySelector('.not-added-to-cart')
const popupContent={
title: popupContainer.querySelector("#error_product_title"),
}
popupContent.title.innerHTML=product_info.title;
}
$('.not-added-to-cart').addClass('active');
}}
});
});
$('.not-added-to-cart .close').on('click', function (){
$('.not-added-to-cart').removeClass('active');
});
if(!isProductPage){
$('.continue-shopping-button').on('click', function (e){
e.preventDefault();
$(this).closest('.order').removeClass('active');
$(this).closest('.not-added-to-cart').removeClass('active');
});
}})(jQuery);
(function($){
function parse_query_string(){
var vars=location.search.replace('?','');
vars=vars.split("&");
var query_string={};
for (var i=0; i < vars.length; i++){
var pair=vars[i].split("=");
var key=decodeURIComponent(pair.shift());
var value=decodeURIComponent(pair.join("="));
if(typeof query_string[key]==="undefined"){
query_string[key]=value;
}else if(typeof query_string[key]==="string"){
var arr=[query_string[key], value];
query_string[key]=arr;
}else{
query_string[key].push(value);
}}
return query_string;
}
function hideAll(){
$('#pickUpFields').addClass('hidden');
$('#pickUpFromGalleryFields').addClass('hidden');
$('.bag__wrapper-col-delivery-info').addClass('hidden');
}
$('.bag__wrapper-col-delivery-checkbox-item').on('click', function(e){
const $this=$(this);
const input=$this.closest('.bag__wrapper-col-delivery-checkbox').find('input');
const checked=input.prop('checked');
$('.bag__wrapper-col-delivery-checkbox-item').removeClass('error');
if(! checked){
$('.bag__wrapper-col-delivery-checkbox-item').removeClass('active');
$this.addClass('active');
$('.bag__wrapper-col-delivery-checkbox input').prop('checked', false);
input.trigger('click');
}});
$('#pickUpGallery').on('change', function(e){
const $this=$(this);
const checked=$this.prop('checked');
if(checked){
hideAll();
$('#pickUpFromGalleryFields').removeClass('hidden');
$('.bag__wrapper-col-invoice-checkbox').removeClass('hidden');
$('#checkOut').data('pick-up', 'gallery');
}});
$('#pickUpDubaiResidents').on('change', function(e){
const $this=$(this);
const checked=$this.prop('checked');
if(checked){
hideAll();
$('#pickUpFields').removeClass('hidden');
$('.bag__wrapper-col-invoice-checkbox').removeClass('hidden');
$('#checkOut').data('pick-up', 'dubai');
}});
$('#pickUpOtherEmirates').on('change', function(e){
const $this=$(this);
const checked=$this.prop('checked');
if(checked){
hideAll();
$('#pickUpFields').removeClass('hidden');
$('.bag__wrapper-col-invoice-checkbox').removeClass('hidden');
$('#checkOut').data('pick-up', 'emirates');
}});
$('#pickUpOtherCountries').on('change', function(e){
const $this=$(this);
const checked=$this.prop('checked');
if(checked){
hideAll();
$('#pickUpFields').removeClass('hidden');
$('.bag__wrapper-col-delivery-info').removeClass('hidden');
$('.bag__wrapper-col-invoice-checkbox').removeClass('hidden');
$('#checkOut').data('pick-up', 'other');
}});
$('.bag__wrapper-col-invoice-checkbox-item').on('click', function(e){
const $this=$(this);
const input=$this.closest('.bag__wrapper-col-invoice-checkbox').find('input');
const checked=input.prop('checked');
if(checked){
$this.removeClass('active');
}else{
$this.addClass('active');
}
input.trigger('click');
});
window.addEventListener("load", (event)=> {
let delivery_inputs=$('.bag__wrapper-col-delivery-checkbox').find('input');
delivery_inputs.each(function (index, element){
const $this=$(this);
let checked=$this.prop('checked');
if(checked){
$this.prevAll('.bag__wrapper-col-delivery-checkbox-item').addClass('active');
$this.trigger('change');
let get=parse_query_string();
if(get.change!=undefined){
let element_wrap=$('.bag__wrapper-col-delivery');
let element_height=element_wrap.height();
let scroll_position;
if(get.change=='pick_up'){
scroll_position=element_wrap.position().top;
}
if(get.change=='info'){
scroll_position=element_wrap.position().top + element_height - 110;
}
$('html').animate({
scrollTop: scroll_position
}, {
duration: 500,
easing: "swing"
});
}}
});
});
})(jQuery);
(function($){
function setCookie(name, value, options={}){
let def_options={
path: '/'
};
options=Object.assign(def_options, options);
if(options.expires instanceof Date){
options.expires=options.expires.toUTCString();
}
let updatedCookie=encodeURIComponent(name) + "=" + encodeURIComponent(value);
for (let optionKey in options){
updatedCookie +="; " + optionKey;
let optionValue=options[optionKey];
if(optionValue!==true){
updatedCookie +="=" + optionValue;
}}
document.cookie=updatedCookie;
}
function deleteCookie(name){
setCookie(name, '', {
'max-age': -1,
'path': '/'
});
}
let submit=false;
$('body').on('click', '.delete-product', function(e){
if(! submit){
submit=true;
let cart_item_key=$(this).closest('.cart_item').data('cart-item-key');
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_remove_cart_item',
cart_item_key: cart_item_key,
_ajax_nonce: ajax_var.nonce
},
success: function(result){
if(result&&result.remove_item){
if(result.cart_count!=undefined&&result.cart_total!=undefined){
if(result.cart_count!=0){
let cart_count;
if(result.cart_count > 1){
cart_count=result.cart_count + ' items';
}else{
cart_count=result.cart_count + ' item';
}
$('.bag__total-text').html('TOTAL (' + cart_count + ') <strong>' + result.cart_total + '</strong></p>');
$('.bag__wrapper-col-price-info-total').html(cart_count);
$('.bag__wrapper-col-price-info-order-total > strong').html(result.cart_total);
$('.bag__wrapper-col-total > p > strong').html(result.cart_total);
}}
let event=new Event('remove-from-cart');
document.querySelector('[data-cart-item-key="' + cart_item_key + '"]').dispatchEvent(event);
$('[data-cart-item-key="' + cart_item_key + '"]').remove();
if(result.cart_count==0){
$('.bag').addClass('hidden');
$('.bag__total-text').addClass('hidden');
$('.bag.emrty').removeClass('hidden');
deleteCookie('customer_details');
}
if(result.header_cart_total!=undefined){
$('.header__wrapper-shopping-counter').html(result.header_cart_total);
}}
submit=false;
}});
}});
})(jQuery);
(function($){
function checkEmail(input){
const re=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const val=$(input).val();
$(input).removeClass('form-error');
if(re.test(val) ){
return true;
}else{
$(input).addClass('form-error');
return false;
}}
function checkField(field){
const val=$(field).val();
$(field).removeClass('form-error');
if(val!=''){
return true;
}else{
$(field).addClass('form-error');
return false;
}}
function setCookie(name, value, options={}){
let def_options={
path: '/'
};
options=Object.assign(def_options, options);
if(options.expires instanceof Date){
options.expires=options.expires.toUTCString();
}
let updatedCookie=encodeURIComponent(name) + "=" + encodeURIComponent(value);
for (let optionKey in options){
updatedCookie +="; " + optionKey;
let optionValue=options[optionKey];
if(optionValue!==true){
updatedCookie +="=" + optionValue;
}}
document.cookie=updatedCookie;
}
function deleteCookie(name){
setCookie(name, '', {
'max-age': -1,
'path': '/'
});
}
$('#checkOut').on('click', function(e){
e.preventDefault();
const $this=$(this);
let validation=true;
let pick_up_no_check=false;
let fields={};
let pick_up=$this.data('pick-up');
if(pick_up==undefined){
validation=false;
pick_up_no_check=true;
$('.bag__wrapper-col-delivery-checkbox-item').addClass('error');
}else if(pick_up=='gallery'){
fields.first_name=$('#firstNameGallery');
fields.last_name=$('#lastNameGallery');
fields.phone=$('#phoneGallery');
fields.email=$('#emailGallery');
for (const index in fields){
if(fields.hasOwnProperty.call(fields, index)){
const element=fields[index];
let check;
if(index=='email'){
check=checkEmail(element);
}else{
check=checkField(element);
}
if(! check){
validation=false;
}}
}}else{
fields.first_name=$('#firstName');
fields.last_name=$('#lastName');
fields.phone=$('#phone');
fields.email=$('#email');
fields.street=$('#street');
fields.code=$('#code');
fields.city=$('#city');
fields.country=$('#billing_country');
fields.state=$('#billing_state');
for (const index in fields){
if(fields.hasOwnProperty.call(fields, index)){
const element=fields[index];
let check;
if(index=='email'){
check=checkEmail(element);
}else if(index=='state'){
let type=$(element).prop('localName');
if(type=='select'){
check=checkField(element);
}else{
check=true;
}}else{
check=checkField(element);
}
if(! check){
validation=false;
}}
}}
if(validation){
let fileds_val={};
for (const index in fields){
if(fields.hasOwnProperty.call(fields, index)){
const element=fields[index];
fileds_val[index]=$(element).val();
}}
fileds_val.delivery={};
if(pick_up=='gallery'){
fileds_val.delivery.text='Pick up from gallery';
fileds_val.delivery.name='gallery';
}
if(pick_up=='dubai'){
fileds_val.delivery.text='Delivery for Dubai residents';
fileds_val.delivery.name='dubai';
}
if(pick_up=='emirates'){
fileds_val.delivery.text='Delivery for residents of other Emirates';
fileds_val.delivery.name='emirates';
}
if(pick_up=='other'){
fileds_val.delivery.text='Delivery to other countries';
fileds_val.delivery.name='other';
}
fileds_val.apartment=$('#apartment').val();
setCookie('customer_details', JSON.stringify(fileds_val), {'max-age': 86400 * 365});
window.location.assign(window.location.origin + '/order-summary/');
}else{
let element_wrap=$('.bag__wrapper-col-delivery');
let scroll_position=0;
if(pick_up_no_check){
scroll_position=element_wrap.position().top;
}else{
let element_height=element_wrap.height();
scroll_position=element_wrap.position().top + element_height - 110;
}
$('html').animate({
scrollTop: scroll_position
}, {
duration: 500,
easing: "swing"
});
}});
$('.PaymentC form').on('submit', function(e){
e.preventDefault();
$('.PaymentC__button').addClass('disabled')
let credit_card=$('#Creditcard').prop('checked');
let am_express=$('#AmericanExpress').prop('checked');
let union_pay=$('#UnionPay').prop('checked');
let cash=$('#Cash').prop('checked');
let other=$('#other').prop('checked');
if(credit_card||am_express||union_pay){
window.location.assign(window.location.origin + '/checkout/');
}else if(cash||other){
let payment_type='';
if(cash){
payment_type='Cash';
}
if(other){
payment_type='In another convenient way by agreement';
}
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_add_order',
payment_type: payment_type,
_ajax_nonce: ajax_var.nonce,
},
success: function (result){
if(result['success']){
$('.woocommerce-thankyou-order-received .order-number').html('#' + result['success']);
$('.woocommerce-thankyou-order-received').show();
deleteCookie('customer_details');
if(( cash||other)&&result['detail']!=undefined){
let event=new CustomEvent('purchase-cash', { detail: result['detail'] });
document.dispatchEvent(event);
}}
if(result['error']){
let error='<span style="color:red;">Unfortunately, there is an error.</span> Please contact us by phone <a href="tel:+971568876217">+ 971 56 887 6217</a> or email <a href="mailto:artefactumdxb@gmail.com">artefactumdxb@gmail.com</a>. We will try to solve this problem as soon as possible.';
$('.woocommerce-thankyou-order-received .texts').html('<div class="text">' + error + '</div>');
}
if(result['error_cookie']){
$('.woocommerce-thankyou-order-received .texts').html('<div class="payment_out_of_date">' + result['error_cookie'] + '</div>');
}}
});
}});
$('#pickUpFields input').on('keydown', function(e){
$(this).removeClass('form-error');
});
$('body').on('change', '#billing_state', function(e){
$(this).removeClass('form-error');
});
})(jQuery);
(function($){
window.onload=function(){
$('.woocommerce-SavedPaymentMethods-saveNew').prepend('<span></span>');
};
$('body').on('click', '.woocommerce-SavedPaymentMethods-saveNew span', function (e){
let $this=$(this);
let input=$this.closest('div').find('#wc-stripe-new-payment-method');
let checked=input.prop('checked');
if(checked){
input.prop('checked', false);
$this.removeClass('active');
}else{
input.prop('checked', true);
$this.addClass('active');
}});
})(jQuery);
(function($){
window.onload=function(){
$('.woocommerce-SavedPaymentMethods-saveNew').prepend('<span></span>');
};
$('body').on('change', '#billing_country', function (e){
let $this=$(this);
let country=$this.val();
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_get_state_field_html',
country: country,
_ajax_nonce: ajax_var.nonce,
},
success: function (result){
if(result.html!=undefined&&result.html!=''){
let wrapper=$('#billing_state_field').closest('.bag__wrapper-col-form-item');
wrapper.html(result.html);
let field_display=wrapper.find('#billing_state_field').css('display');
if(field_display!='none'){
wrapper.append('<label for="billing_state" class="billing-state">State *</label>');
}
var getEnhancedSelectFormatString=function(){
return {
'language': {
errorLoading: function(){
return wc_country_select_params.i18n_searching;
},
inputTooLong: function(args){
var overChars=args.input.length - args.maximum;
if(1===overChars){
return wc_country_select_params.i18n_input_too_long_1;
}
return wc_country_select_params.i18n_input_too_long_n.replace('%qty%', overChars);
},
inputTooShort: function(args){
var remainingChars=args.minimum - args.input.length;
if(1===remainingChars){
return wc_country_select_params.i18n_input_too_short_1;
}
return wc_country_select_params.i18n_input_too_short_n.replace('%qty%', remainingChars);
},
loadingMore: function(){
return wc_country_select_params.i18n_load_more;
},
maximumSelected: function(args){
if(args.maximum===1){
return wc_country_select_params.i18n_selection_too_long_1;
}
return wc_country_select_params.i18n_selection_too_long_n.replace('%qty%', args.maximum);
},
noResults: function(){
return wc_country_select_params.i18n_no_matches;
},
searching: function(){
return wc_country_select_params.i18n_searching;
}}
};};
var wc_country_select_select2=function(){
$('select.country_select:visible, select.state_select:visible').each(function(){
var $this=$(this);
var select2_args=$.extend({
placeholder: $this.attr('data-placeholder')||$this.attr('placeholder')||'',
label: $this.attr('data-label')||null,
width: '100%'
}, getEnhancedSelectFormatString());
$(this)
.on('select2:select', function(){
$(this).trigger('focus');
})
.selectWoo(select2_args);
});
};
wc_country_select_select2();
}}
});
});
})(jQuery);
(function($){
window.onload=function(){
$('.woocommerce-SavedPaymentMethods-saveNew').prepend('<span></span>');
};
$(document.body).on('checkout_error', function (e){
$('.page-wrap > .woocommerce > .woocommerce-notices-wrapper .woocommerce-error').append('<li class="edit-link"><a href="/cart/?change=info">Edit shipping address</a></li>');
});
})(jQuery);
(function($){
function toTopOpacity(){
clearTimeout(timeout_id);
timeout_id=setTimeout(function(){
let win_top=$(this).scrollTop();
if(win_top==0){
$('.to-top').css('opacity', 0);
}else{
$('.to-top').css('opacity', 1);
}}, 200);
}
let timeout_id;
$(window).scroll(function(event){
toTopOpacity();
});
toTopOpacity();
$('.to-top').on('click', function (e){
$('html').animate({
scrollTop: 0
}, {
duration: 600,
easing: "swing"
});
});
})(jQuery);
(function($){
let single_product=$('body').hasClass('single-product');
if(single_product){
let name=$('h3.obj__wrapper-info-name').text();
let id=$('section.product').data('id');
let cat=$('section.product').data('cat');
let price=$('section.product').data('price');
if(id!=undefined&&id!=''){
id=String(id);
}else{
id='0';
}
if(price!=undefined&&price!=''){
price=parseFloat(price);
if(price==undefined||price==NaN){
price=0;
}}else{
price=0;
}
window.dataLayer=window.dataLayer||[];
window.dataLayer.push({
event: "view_item",
ecommerce: {
items: [{
item_name: name,
item_id: id,
price: price,
item_category: cat,
quantity: 1
}]
}});
}})(jQuery);
(function($){
document.addEventListener('add-to-cart', function(event){
let name=$('h3.obj__wrapper-info-name').text();
let id=$('section.product').data('id');
let cat=$('section.product').data('cat');
let price=$('section.product').data('price');
if(id!=undefined&&id!=''){
id=String(id);
}else{
id='0';
}
if(price!=undefined&&price!=''){
price=parseFloat(price);
if(price==undefined||price==NaN){
price=0;
}}else{
price=0;
}
window.dataLayer=window.dataLayer||[];
window.dataLayer.push({
event: "add_to_cart",
ecommerce: {
items: [{
item_name: name,
item_id: id,
price: price,
item_category: cat,
quantity: 1
}]
}});
if(typeof fbq!=="undefined"){
fbq('track', 'AddToCart');
}});
})(jQuery);
(function($){
let cart=$('body').hasClass('woocommerce-cart');
if(cart){
let cart_items=document.querySelectorAll('.cart_item');
if(cart_items.length > 0){
for(let cart_item of cart_items){
cart_item.addEventListener('remove-from-cart', function(event){
let $this=$(this);
let name=$this.find('.bag__wrapper-col-item-info-name').text();
let id=$this.data('id');
let cat=$this.data('cat');
let price=$this.data('price');
if(name!=undefined&&name!=''){
name=name.trim();
}
if(id!=undefined&&id!=''){
id=String(id);
}else{
id='0';
}
if(price!=undefined&&price!=''){
price=parseFloat(price);
if(price==undefined||price==NaN){
price=0;
}}else{
price=0;
}
window.dataLayer=window.dataLayer||[];
window.dataLayer.push({
event: "remove_from_cart",
ecommerce: {
items: [{
item_name: name,
item_id: id,
price: price,
item_category: cat,
quantity: 1
}]
}});
});
}}
}})(jQuery);
(function($){
let cart=$('body').hasClass('woocommerce-cart');
if(cart){
let cart_items=document.querySelectorAll('.cart_item');
if(cart_items.length > 0){
let items=[];
for(let cart_item of cart_items){
let $this=$(cart_item);
let name=$this.find('.bag__wrapper-col-item-info-name').text();
let id=$this.data('id');
let cat=$this.data('cat');
let price=$this.data('price');
if(name!=undefined&&name!=''){
name=name.trim();
}
if(id!=undefined&&id!=''){
id=String(id);
}else{
id='0';
}
if(price!=undefined&&price!=''){
price=parseFloat(price);
if(price==undefined||price==NaN){
price=0;
}}else{
price=0;
}
items.push({
item_name: name,
item_id: id,
price: price,
item_category: cat,
quantity: 1
})
}
window.dataLayer=window.dataLayer||[];
window.dataLayer.push({
event: "begin_checkout",
ecommerce: {
items: items
}});
}}
})(jQuery);
(function($){
let order_summary=$('body').hasClass('page-template-page-order-summary');
if(order_summary){
document.addEventListener('purchase-cash', function(event){
if(event.detail!=undefined){
let order=event.detail;
let city_delivery='';
let type_delivery='';
let type_payment='';
let total=0;
let items=[];
let currency='';
let transaction_id='';
if(order.order_data!=undefined){
if(order.order_data.billing!=undefined){
if(order.order_data.billing.city!=undefined){
city_delivery=order.order_data.billing.city;
}}
if(order.order_data.total!=undefined){
total=order.order_data.total;
}
if(order.order_data.currency!=undefined){
currency=order.order_data.currency;
}
if(order.order_data.id!=undefined){
transaction_id=order.order_data.id + '-' + Math.floor(Math.random() * 9999);
}}
if(order.data!=undefined){
if(order.data.billing_delivery!=undefined){
type_delivery=order.data.billing_delivery;
}
if(order.data.billing_payment!=undefined){
type_payment=order.data.billing_payment;
}}
if(order.items!=undefined){
for(const key in order.items){
if(Object.hasOwnProperty.call(order.items, key)){
const element=order.items[key];
let name='';
let id='';
let cat='';
let price=0;
let quantity=0;
if(element.name!=undefined&&element.name!=''){
name=element.name;
}
if(element.product_id!=undefined&&element.product_id!=''){
id=String(element.product_id);
}else{
id='0';
}
if(element.product_cat!=undefined&&element.product_cat!=''){
cat=element.product_cat;
}
if(element.total!=undefined&&element.total!=''){
price=parseFloat(element.total);
if(price==undefined||price==NaN){
price=0;
}}else{
price=0;
}
if(element.quantity!=undefined&&element.quantity!=''){
quantity=element.quantity;
}
items.push({
item_name: name,
item_id: id,
price: price,
item_category: cat,
quantity: quantity
})
}}
}
window.dataLayer=window.dataLayer||[];
window.dataLayer.push({
event: "purchase",
city_delivery: city_delivery,
type_delivery: type_delivery,
type_payment: type_payment,
ecommerce: {
transaction_id: transaction_id,
value: total,
currency: currency,
items: items
}});
fbq('track', 'Purchase', {value: total, currency: currency});
}});
}})(jQuery);
(function($){
let order_received=$('body').hasClass('woocommerce-order-received');
if(order_received){
let detail=$('.woocommerce-thankyou-order-received').data('order');
if(detail!=undefined&&detail!=''){
let order=detail;
let city_delivery='';
let type_delivery='';
let type_payment='';
let total=0;
let items=[];
let currency='';
let transaction_id='';
if(order.order_data!=undefined){
if(order.order_data.billing!=undefined){
if(order.order_data.billing.city!=undefined&&order.order_data.billing.city!='Not specified'){
city_delivery=order.order_data.billing.city;
}}
if(order.order_data.total!=undefined){
total=order.order_data.total;
}
if(order.order_data.currency!=undefined){
currency=order.order_data.currency;
}
if(order.order_data.payment_method_title!=undefined){
type_payment=order.order_data.payment_method_title;
}
if(order.order_data.id!=undefined){
transaction_id=order.order_data.id + '-' + Math.floor(Math.random() * 9999);
}}
if(order.data!=undefined){
if(order.data.delivery!=undefined){
if(order.data.delivery.text!=undefined){
type_delivery=order.data.delivery.text;
}}
}
if(order.items!=undefined){
for(const key in order.items){
if(Object.hasOwnProperty.call(order.items, key)){
const element=order.items[key];
let name='';
let id='';
let cat='';
let price=0;
let quantity=0;
if(element.name!=undefined&&element.name!=''){
name=element.name;
}
if(element.product_id!=undefined&&element.product_id!=''){
id=String(element.product_id);
}else{
id='0';
}
if(element.product_cat!=undefined&&element.product_cat!=''){
cat=element.product_cat;
}
if(element.total!=undefined&&element.total!=''){
price=parseFloat(element.total);
if(price==undefined||price==NaN){
price=0;
}}else{
price=0;
}
if(element.quantity!=undefined&&element.quantity!=''){
quantity=element.quantity;
}
items.push({
item_name: name,
item_id: id,
price: price,
item_category: cat,
quantity: quantity
})
}}
}
window.dataLayer=window.dataLayer||[];
window.dataLayer.push({
event: "purchase",
city_delivery: city_delivery,
type_delivery: type_delivery,
type_payment: type_payment,
ecommerce: {
transaction_id: transaction_id,
value: total,
currency: currency,
items: items
}});
fbq('track', 'Purchase', {value: total, currency: currency});
}}
})(jQuery);
(function($){
$('body').on('click', '.item__video_youtube', function (e){
let video_el=$(this).find('iframe');
if(video_el.length > 0){
let active=$(this).find('button').hasClass('active');
let preview=$(this).find('.item__video--preview');
if(active){
video_el.get(0).contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
preview.addClass('hide');
}else{
video_el.get(0).contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*');
preview.removeClass('hide');
}}
});
$('body').on('click', '.item__video_vimeo', function (e){
let video_el=$(this).find('iframe');
if(video_el.length > 0){
let active=$(this).find('button').hasClass('active');
let preview=$(this).find('.item__video--preview');
if(active){
video_el.get(0).contentWindow.postMessage('{"method":"play"}', '*');
preview.addClass('hide');
}else{
video_el.get(0).contentWindow.postMessage('{"method":"pause"}', '*');
preview.removeClass('hide');
}}
});
})(jQuery);
(function($){
$('#scroll-top-button').on('click', function (e){
$('html').animate({
scrollTop: 0
}, {
duration: 600,
easing: "swing"
});
});
let lastScrollTop=0;
let removeClass=false;
let addClass=false;
$(window).scroll(function(event){
let st=window.pageYOffset||document.documentElement.scrollTop;
if(st > lastScrollTop){
if(! removeClass){
$('#scroll-top-button').removeClass('active');
addClass=false;
removeClass=true;
}}else if(st < lastScrollTop){
if(! addClass){
$('#scroll-top-button').addClass('active');
addClass=true;
removeClass=false;
}}
lastScrollTop=st <=0 ? 0:st;
});
})(jQuery);
(function($){
$('body').on('click', '.catalog__col .quick-view-button', function (e){
const quickViewBtns=document.querySelectorAll('.quick-view-button');
const quickViewContainer=document.querySelector('.view__wrapper');
if(quickViewBtns&&quickViewContainer){
const $this=$(this);
const product_id=$this.closest('.catalog__cards-card').data('card-product-id');
const quickView=document.querySelector('.view');
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_quick_view',
product_id: product_id,
_ajax_nonce: ajax_var.nonce,
},
success: function (productInfo){
if(productInfo!=''&&productInfo!=false){
const qw_title=quickViewContainer.querySelector('#qw_title'),
qw_title2=quickViewContainer.querySelector('#qw_title2'),
qw_image=quickViewContainer.querySelector('#qw_image'),
qw_sku=quickViewContainer.querySelector('#qw_sku'),
qw_specs=quickViewContainer.querySelector('#qw_specs'),
qw_delivery=quickViewContainer.querySelector('#qw_delivery'),
qw_price=quickViewContainer.querySelector('#qw_price'),
qw_cart_button=quickViewContainer.querySelector('#add_to_cart_button');
const productInfoSpecs=decodeHTML(productInfo.specs);
qw_title.innerHTML=productInfo.title;
qw_title2.innerHTML=productInfo.title;
qw_image.srcset=productInfo.img.srcset;
qw_image.src=productInfo.img.src;
qw_sku.innerHTML="Lot " + productInfo.sku;
qw_specs.innerHTML=productInfoSpecs;
qw_delivery.innerHTML=productInfo.delivery;
if(productInfo.price=='0'){
qw_price.style.display='none';
qw_cart_button.style.display='none';
}else{
qw_price.style.display='block';
qw_cart_button.style.display='block';
qw_price.innerHTML=productInfo.price + " AED";
}
if(productInfo.available){
qw_cart_button.style.display='block';
qw_price.style.display='block';
qw_cart_button.dataset.productId=productInfo.id;
}else{
qw_price.style.display='none';
qw_cart_button.style.display='none';
}
qw_cart_button.dataset.productId=productInfo.id;
quickView.classList.add('active');
body.classList.add('lock');
}}
});
}});
})(jQuery);
(function($){
let page_experience=$('body').hasClass('page-template-page-experience');
if(page_experience){
$('.experience-event-button').on('click', function(e){
e.preventDefault();
let name=$(this).data('program-name');
$('#experience_form').data('program-name', name);
$('#experience_popup').addClass('active');
});
}})(jQuery);
(function($){
let submit=false;
$('#experience_form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input:not([type="email"])');
const emailInputs=$this.find(' > div > input[type="email"]');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
emailInputs.each(function (index, element){
const emailValue=element.value.trim();
if(emailValue!==''){
const isValidEmail=/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/.test(emailValue);
if(!isValidEmail){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
}});
if(! submit&&is_valid){
submit=true;
let name=$this.find('input[name="name"]').val();
let email_or_phone=$this.find('input[name="email"]').val();
let message=$this.find('textarea[name="message"]').val();
let page_link=$this.find('input[name="page_link"]').val();
let page_url=window.location.href;
let program_name=$this.data('program-name');
message=message.replace(/\r?\n/g, '<br />');
grecaptcha.ready(function (){
grecaptcha.execute(site_key, { action: 'request_form' }).then(function (token){
$('#requestRecaptchaResponse').val(token);
let recaptcha_response=$('#requestRecaptchaResponse').val();
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_experience_form',
recaptcha_response: recaptcha_response,
name: name,
email_or_phone: email_or_phone,
message: message,
page_link: page_link,
page_url: page_url,
program_name: program_name,
_ajax_nonce: ajax_var.nonce,
},
success: function(result){
if(result.success!=undefined){
window.location.assign('/thank/?from=experience');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
});
});
}});
})(jQuery);
(function($){
let page_butterfly=$('body').hasClass('page-template-page-butterfly');
if(page_butterfly){
$('.butterfly-request-button').on('click', function(e){
e.preventDefault();
$('#butterfly_popup').addClass('active');
});
}})(jQuery);
(function($){
let submit=false;
$('#butterfly_form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input:not([type="email"])');
const emailInputs=$this.find(' > div > input[type="email"]');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
emailInputs.each(function (index, element){
const emailValue=element.value.trim();
if(emailValue!==''){
const isValidEmail=/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/.test(emailValue);
if(!isValidEmail){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
}});
if(! submit&&is_valid){
submit=true;
let name=$this.find('input[name="name"]').val();
let email_or_phone=$this.find('input[name="email"]').val();
let message=$this.find('textarea[name="message"]').val();
let page_link=$this.find('input[name="page_link"]').val();
let page_url=window.location.href;
message=message.replace(/\r?\n/g, '<br />');
grecaptcha.ready(function (){
grecaptcha.execute(site_key, { action: 'request_form' }).then(function (token){
$('#requestRecaptchaResponse').val(token);
let recaptcha_response=$('#requestRecaptchaResponse').val();
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_butterfly_form',
recaptcha_response: recaptcha_response,
name: name,
email_or_phone: email_or_phone,
message: message,
page_link: page_link,
page_url: page_url,
_ajax_nonce: ajax_var.nonce,
},
success: function(result){
if(result.success!=undefined){
window.location.assign('/thank/?from=butterfly');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
});
});
}});
})(jQuery);
(function($){
let page_space=$('body').hasClass('page-template-page-space');
if(page_space){
$('.space-request-button').on('click', function(e){
e.preventDefault();
let name=$(this).data('service-name');
$('#space_form').data('service-name', name);
$('#space_popup').addClass('active');
});
}})(jQuery);
(function($){
let submit=false;
$('#space_form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input:not([type="email"])');
const emailInputs=$this.find(' > div > input[type="email"]');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
emailInputs.each(function (index, element){
const emailValue=element.value.trim();
if(emailValue!==''){
const isValidEmail=/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/.test(emailValue);
if(!isValidEmail){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
}});
if(! submit&&is_valid){
submit=true;
let name=$this.find('input[name="name"]').val();
let email_or_phone=$this.find('input[name="email"]').val();
let message=$this.find('textarea[name="message"]').val();
let page_link=$this.find('input[name="page_link"]').val();
let page_url=window.location.href;
let service_name=$this.data('service-name');
message=message.replace(/\r?\n/g, '<br />');
grecaptcha.ready(function (){
grecaptcha.execute(site_key, { action: 'request_form' }).then(function (token){
$('#requestRecaptchaResponse').val(token);
let recaptcha_response=$('#requestRecaptchaResponse').val();
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_space_form',
recaptcha_response: recaptcha_response,
name: name,
email_or_phone: email_or_phone,
message: message,
page_link: page_link,
page_url: page_url,
service_name: service_name,
_ajax_nonce: ajax_var.nonce,
},
success: function(result){
if(result.success!=undefined){
window.location.assign('/thank/?from=space');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
});
});
}});
})(jQuery);
});