var variantImageAutomator=function(){function loadJSDynamically(file_url){var jsElm=document.createElement("script");jsElm.type="application/javascript",jsElm.src=file_url,document.body.appendChild(jsElm)}function find_current_variant(section){var variant_id,element=section||document;default_variant=0==default_variant?Object.keys(product_variants)[0]:default_variant;var queries={};if(document.location.search.substr(1).split("&").forEach((function(q){var i=q.split("=");try{queries[i[0].toString()]=i[1].toString()}catch(err){}})),isNaN(queries.variant)){let selector=element.querySelector('form[action="/cart/add"] [name="id"]:checked')||element.querySelector('form[action="/cart/add"] [name="id"]')||element.querySelector('select[name="id"]')||element.querySelector('[name="id"]');variant_id=selector?selector.value:default_variant}else variant_id=queries.variant?queries.variant:element.querySelector("select option[value='"+default_variant+"']").parentNode.value;return variant_id||default_variant}function find_current_variant_from_name(section){let selector=(section||document).querySelector('[name="id"]');return selector?selector.value:null}function is_variant_in_url(){return document.location.search.indexOf("variant=")>=0}function find_current_variant_from_url(){var variant_id,queries={};return document.location.search.substr(1).split("&").forEach((function(q){var i=q.split("=");try{queries[i[0].toString()]=i[1].toString()}catch(err){}})),isNaN(queries.variant)?variant_id=null:queries.variant&&(variant_id=queries.variant),variant_id}function is_array_equal(a1,a2){return JSON.stringify(a1)===JSON.stringify(a2)}function find_variant_media(variant_id){var variant_media;if(variant_id||(variant_id=find_current_variant()),variants_media.hasOwnProperty(variant_id)?variant_media=variants_media[variant_id]:(variant_id=find_current_variant_from_url(),variant_media=variants_media.hasOwnProperty(variant_id)?variants_media[variant_id]:variants_media[default_variant]),(!variant_media||0==variant_media.length)&&skip_showcase_image>=product_media.length)return product_media;if(!is_home&&"no_action"!=only_run_if_variant_in_url&&!is_variant_in_url()){function showcase_images(){return variants_media.g.length?variants_media.g:variant_assigned_media}function skipped_and_showcase_images(){let images=variants_media.skipped.concat(variants_media.g);return images.length?images:variant_assigned_media}if(selection_vid=0,"showcase_only"==only_run_if_variant_in_url)return showcase_images();if("showcase_and_variants"==only_run_if_variant_in_url)return variants_media.g.concat(variant_assigned_media);if("featured_only"==only_run_if_variant_in_url)return[product_media[0]];if("featured_and_showcase"==only_run_if_variant_in_url)return skip_showcase_image>0?[product_media[0]].concat(variants_media.g):showcase_images();if("skipped_and_showcase"==only_run_if_variant_in_url)return skipped_and_showcase_images();if("show_all"==only_run_if_variant_in_url)return product_media}return"at_start"==general_images_position?variant_media=variants_media.g.concat(variant_media):"at_end"==general_images_position&&(variant_media=variant_media.concat(variants_media.g)),variant_media&&0!=variant_media.length?priority_video?moveVideoToFront(variant_media):variant_media:product_media}function moveVideoToFront(arr){const videoIndex=arr.findIndex((obj=>"video"===obj.media_type||"external_video"===obj.media_type));if(videoIndex>-1){const videoObj=arr.splice(videoIndex,1)[0];arr.unshift(videoObj)}return arr}var quick_view_enabled=!1,skip_showcase_image=0,selected_theme_name="Empire V5.1",priority_video=!1,can_execute_script=!1,is_home=!1,only_run_if_variant_in_url="no_action",limit_on_product="none",product_url="",is_product_preview=window.location.href.toLowerCase().indexOf("/products_preview")>=0,is_product_page=/\/products\/|\/produkty\/|\/produkte\//.test(window.location.href.toLowerCase()),is_pages=(is_home="/"==window.location.pathname,window.location.pathname.indexOf("/pages/")>=0),variant_id=0,selection_vid=0,last_variant_images={};if((is_home||is_pages||is_product_page||is_product_preview)&&(can_execute_script=!0),quick_view_enabled)var jTimer=setInterval((function(){window.$&&window.jQuery&&clearInterval(jTimer)}),10);if(can_execute_script){if(is_home){if("Startup"==selected_theme_name)product_url=document.querySelector('[data-section-type="featured-product"] .product-title a')?document.querySelector('[data-section-type="featured-product"] .product-title a').href:"";else if("Flow"==selected_theme_name)product_url=document.querySelector("#product-box .product-details--form-wrapper a")?document.querySelector("#product-box .product-details--form-wrapper a").href:"";else if("Debut"==selected_theme_name);else if("Success theme"==selected_theme_name);else if("Supply V2"==selected_theme_name)product_url=document.querySelector('[data-section-type="product-template"] a.full-details')?document.querySelector('[data-section-type="product-template"] a.full-details').href:"";else if("Launch"==selected_theme_name)product_url=document.querySelector(".home-featured-product .product-title a")?document.querySelector(".home-featured-product .product-title a").href:"";else if("Responsive"==selected_theme_name)product_url=document.querySelector(".featured-product-section .product_name a")?document.querySelector(".featured-product-section .product_name a").href:"";else if("Streamline"==selected_theme_name);else if("Broadcast"==selected_theme_name)product_url=document.querySelector('[data-section-type="product"] .product__title a')?document.querySelector('[data-section-type="product"] .product__title a').href:"";else if("Palo Alto V2"==selected_theme_name)product_url=document.querySelector('[data-section-type="featured-product"]:first-child .featured-product-title a')?document.querySelector('[data-section-type="featured-product"]:first-child .featured-product-title a').href:"";else if("Startup V3"==selected_theme_name)product_url=document.querySelector(".product-title a")?document.querySelector(".product-title a").href:"";else if(["Turbo","Turbo Seoul","Turbo Florence","Turbo Portland","Turbo Chicago","Turbo Dubai","Turbo Tennessee"].indexOf(selected_theme_name)>=0)product_url=document.querySelector(".product_section .product_name a")?document.querySelector(".product_section .product_name a").href:"";else if("Palo Alto V3"==selected_theme_name)product_url=document.querySelector('[data-section-type="featured-product"] .featured-product-title a')?document.querySelector('[data-section-type="featured-product"] .featured-product-title a').href:"";else if("Warehouse"==selected_theme_name)product_url=document.querySelector('[data-section-type="product"]:last-child .product-meta__title a')?document.querySelector('[data-section-type="product"]:last-child .product-meta__title a').href:"";else if("Flex"==selected_theme_name)product_url=document.querySelector(".shopify-section.featured-product-section.jsProduct .product-thumbnail__title a")?document.querySelector(".shopify-section.featured-product-section.jsProduct .product-thumbnail__title a").href:"";else if(["Empire V5.1","Superstore V2"].indexOf(selected_theme_name)>=0){let product_links=document.querySelectorAll(".featured-product--container .product-link");product_url=product_links.length?product_links[product_links.length-1].href:""}product_url=product_url.replace(/\/$/,"").split("?")[0].split("#")[0]}else is_pages?("Broadcast"==selected_theme_name&&(product_url=document.querySelector('[data-section-type="product"] .product__title a')?document.querySelector('[data-section-type="product"] .product__title a').href:""),product_url=product_url.replace(/\/$/,"").split("?")[0].split("#")[0]):product_url=window.location.pathname.replace(/\/$/,"").replace("//","/");if(product_url.length&&(void 0===window.via_product_handle||window.via_product_handle!=product_url)){var productJson;window.via_product_handle=product_url;var variants={},product_variants={};variants.g=[],variants.skipped=[];var product_images=[],default_variant=0,general_images_position="at_end",hide_single_thumb=!1,variant_assigned_images=[],variants_media={},product_media=[];variants_media.g=[],variants_media.skipped=[];var variant_assigned_media=[],product_tags="",variant_assigned_images_ids=[],variant_assigned_media_ids=[],all_variant_media=[],all_variant_images=[];function assign_variants_media(productJson){product_media=productJson.media,productJson.variants.forEach((function(variant){variant.featured_image&&-1==variant_assigned_images_ids.indexOf(variant.featured_image.id)&&(variant_assigned_images_ids.push(variant.featured_image.id),variant_assigned_images.push(variant.featured_image)),variant.featured_media&&-1==variant_assigned_media_ids.indexOf(variant.featured_media.id)&&(variant_assigned_media_ids.push(variant.featured_media.id),variant_assigned_media.push(variant.featured_media)),!default_variant&&variant.available&&(default_variant=variant.id),variant.featured_media&&(all_variant_media[variant.featured_media.id]||(all_variant_media[variant.featured_media.id]=[]),all_variant_media[variant.featured_media.id].push(variant.id)),variants_media[variant.id]=[],variant.featured_image&&(all_variant_images[variant.featured_image.id]||(all_variant_images[variant.featured_image.id]=[]),all_variant_images[variant.featured_image.id].push(variant.id)),variants[variant.id]=[],product_variants[variant.id]=variant}));var general_media=!0,current_variant_ids=[];product_media.forEach((function(media,index){general_media&&-1==variant_assigned_media_ids.indexOf(media.id)?skip_showcase_image>0&&index0&&index1&&void 0!==arguments[1]?arguments[1]:{},isImage=el.hasAttribute("data-rimg-template");return{el:el,isImage:isImage,isBackgroundImage:isImage&&"IMG"!==el.tagName,scale:getData(el,"scale",options),density:window.devicePixelRatio||1,template:getData(el,"template",options),templateRender:options.templateRender||defaults.templateRender,max:getData(el,"max",options,parseSize),round:getData(el,"round",options),placeholder:getData(el,"placeholder",options,parseSize),crop:getData(el,"crop",options,(function(value){return""===value?null:value}))}}function roundSize(size){var multiple=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32,maxLimit=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0;return 0===size?multiple:Math.min(Math.ceil(size/multiple)*multiple,maxLimit)}function getElementSize(el){for(var size={width:0,height:0};el&&(size.width=el.offsetWidth,size.height=el.offsetHeight,!(size.width>20&&size.height>20));)el=el.parentNode;return size}function index_es_trigger(el,name){var event=document.createEvent("Event");return event.initEvent(name,!0,!0),!el.dispatchEvent(event)}function supportedDensity(item,size){return Math.min(Math.min(Math.max(item.max.width/size.width,1),item.density),Math.min(Math.max(item.max.height/size.height,1),item.density)).toFixed(2)}function setImage(item,size,isPlaceholder,onLoad){var render=item.templateRender,density=isPlaceholder?1:supportedDensity(item,size),round=isPlaceholder?1:item.round,targetWidth=size.width*density,targetHeight=size.height*density,displaySize=void 0;if(item.crop)displaySize={width:roundSize(targetWidth,round,item.max.width),height:roundSize(targetHeight,round,item.max.height)};else{var containerAspectRatio=size.width/size.height,imageAspectRatio=item.max.width/item.max.height;displaySize=containerAspectRatio>imageAspectRatio?{width:roundSize(targetWidth,round,item.max.width),height:roundSize(targetWidth/imageAspectRatio,round,item.max.height)}:{width:roundSize(targetHeight*imageAspectRatio,round,item.max.width),height:roundSize(targetHeight,round,item.max.height)}}var url=render(item.template,displaySize),image=new Image;image.onload=onLoad,image.src=url,item.isBackgroundImage?item.el.style.backgroundImage="url('"+url+"')":item.el.setAttribute("srcset",url+" "+density+"x")}function loadFullImage(item,size){var el=item.el;setImage(item,size,!1,(function(event){"load"===event.type?el.setAttribute("data-rimg","loaded"):(el.setAttribute("data-rimg","error"),index_es_trigger(el,"rimg:error")),index_es_trigger(el,"rimg:load")}))}function loadImage(item){var el=item.el,status=el.getAttribute("data-rimg");if("loading"!==status&&"loaded"!==status)if(el.complete||item.isBackgroundImage){if(!index_es_trigger(el,"rimg:loading")){el.setAttribute("data-rimg","loading");var size=getElementSize(item.el);size.width*=item.scale,size.height*=item.scale,item.placeholder?(item.isBackgroundImage||(el.setAttribute("width",Math.min(Math.floor(item.max.width/item.density),size.width)),el.setAttribute("height",Math.min(Math.floor(item.max.height/item.density),size.height))),setImage(item,item.placeholder,!0,(function(){return loadFullImage(item,size)}))):loadFullImage(item,size)}}else el.addEventListener("load",(function cb(){el.removeEventListener("load",cb),loadImage(item)}))}function load(el,options){if(el){index_es_trigger(el,"rimg:enter");var item=parseItem(el,options);item.isImage&&(item.isBackgroundImage||el.setAttribute("data-rimg-template-svg",el.getAttribute("srcset")),loadImage(item))}}function index_es_update(el,options){if(el){index_es_trigger(el,"rimg:update");var item=parseItem(el,options);item.isImage&&(item.isBackgroundImage||(el.setAttribute("data-rimg","lazy"),el.setAttribute("srcset",el.getAttribute("data-rimg-template-svg"))),loadImage(item))}}function inViewport(el){if(!el.offsetWidth||!el.offsetHeight||!el.getClientRects().length)return!1;var root=document.documentElement,width=Math.min(root.clientWidth,window.innerWidth),height=Math.min(root.clientHeight,window.innerHeight),rect=el.getBoundingClientRect();return rect.bottom>=0&&rect.right>=0&&rect.top<=height&&rect.left<=width}function rimg(){var selector=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'[data-rimg="lazy"]',options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},io=new IntersectionObserver((function(entries){entries.forEach((function(entry){(entry.isIntersecting||entry.intersectionRatio>0)&&(io.unobserve(entry.target),load(entry.target,options))}))}),{rootMargin:"20% 0px"}),api={track:function(){for(var els=querySelector(arguments.length>0&&void 0!==arguments[0]?arguments[0]:'[data-rimg="lazy"]'),i=0;i0&&void 0!==arguments[0]?arguments[0]:'[data-rimg="loaded"]'),i=0;i0&&void 0!==arguments[0]?arguments[0]:"[data-rimg]"),i=0;i=0&&matches.item(i)!==this;);return i>-1});var index_es_state={init:init,watch:watch,unwatch:unwatch};function init(){var selector=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'[data-rimg="lazy"]',options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};index_es_state.selector=selector,index_es_state.instance=dist_index_es(selector,options),index_es_state.loadedWidth=Math.max(document.documentElement.clientWidth,window.innerWidth||0),document.addEventListener("shopify:section:load",(function(event){return watch(event.target)})),window.addEventListener("resize",(function(){return dist_index_es_update()})),document.addEventListener("shopify:section:unload",(function(event){return unwatch(event.target)})),document.addEventListener("theme:rimg:watch",(function(event){return watch(event.target)})),document.addEventListener("theme:rimg:unwatch",(function(event){return unwatch(event.target)})),window.jQuery&&jQuery(document).on({"theme:rimg:watch":function(event){return watch(event.target)},"theme:rimg:unwatch":function(event){return unwatch(event.target)}})}function watch(el){"function"==typeof el.matches&&el.matches(index_es_state.selector)&&index_es_state.instance.track(el),index_es_state.instance.track(el.querySelectorAll(index_es_state.selector))}function unwatch(el){index_es_state.instance.untrack(el.querySelectorAll(index_es_state.selector)),"function"==typeof el.matches&&el.matches(index_es_state.selector)&&index_es_state.instance.untrack(el)}function dist_index_es_update(){var currentWidth=Math.max(document.documentElement.clientWidth,window.innerWidth||0);currentWidth/index_es_state.loadedWidth>.5&¤tWidth/index_es_state.loadedWidth<2||(index_es_state.loadedWidth=currentWidth,index_es_state.instance.update())}var rimg_shopify_dist_index_es=index_es_state;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;ithumbIndex&&selectedIndex--})),rimg_shopify_dist_index_es.watch(this.thumbContainer),this.selectedThumb=this.thumbContainer.querySelector('[data-gallery-selected="true"]'),this.events=new EventHandler;var photoswipeSlides=[];slides.forEach((function(slide){["video","external_video","model"].indexOf(slide.dataset.mediaType)>-1||photoswipeSlides.push({src:slide.dataset.zoom,msrc:slide.dataset.zoom,h:slide.dataset.imageHeight,w:slide.dataset.imageWidth})}));var bottomBarHeight=isGreaterThanBreakpoint("L",!0)?0:75,photoswipeOptions={index:selectedIndex,barsSize:{top:0,bottom:bottomBarHeight},fullscreenEl:!1,zoomEl:!1,shareEl:!1,counterEl:!1,arrowEl:!1,preloaderEl:!1,closeOnScroll:!1,showHideOpacity:!0,history:!1,loop:!0,clickToCloseNonZoomable:!1,timeToIdle:!1,timeToIdleOutside:!1};("always"===this.settings.click_to_zoom||isGreaterThanBreakpoint("S",!0)&&"desktop"===this.settings.click_to_zoom||isLessThanBreakpoint("S")&&"mobile"===this.settings.click_to_zoom)&&(photoswipeOptions.getThumbBoundsFn=function(){var pageYScroll=window.pageYOffset||document.documentElement.scrollTop,bounds=(_this.selectedSlide.querySelector("[data-rimg]")||_this.selectedSlide.querySelector("img")).getBoundingClientRect();return{x:bounds.left,y:bounds.top+pageYScroll,w:bounds.width}}),this.photoswipe=new PhotoSwipe(this.photoswipeDialog,PhotoSwipeUI_Default,photoswipeSlides,photoswipeOptions),this.events.register(this.closeButton,"click",(function(){return _this.photoswipe.close()})),this.events.register(this.closeButton,"touchstart",(function(){return _this.photoswipe.close()})),this.thumbnails.forEach((function(thumb,index){_this.events.register(thumb,"click",(function(){_this.photoswipe.goTo(index)}))})),this.events.register(this.thumbScroller,"scroll",(function(){return _this._handleScrollButtonVisibility()})),this.events.register(this.thumbScrollerButtons[0],"click",(function(){return _this._onScrollButtonClick(!0)})),this.events.register(this.thumbScrollerButtons[1],"click",(function(){return _this._onScrollButtonClick(!1)})),this.photoswipe.options.mouseUsed?this.photoswipe.options.closeOnVerticalDrag=!1:this.photoswipe.listen("mouseUsed",(function(){_this.photoswipe.options.closeOnVerticalDrag=!1})),this.photoswipe.listen("afterChange",(function(){var index=_this.photoswipe.getCurrentIndex();_this.selectedThumb&&(_this.selectedThumb.dataset.gallerySelected=!1),_this.selectedThumb=_this.thumbnails[index],_this.selectedThumb.dataset.gallerySelected=!0;var slideIndex=_this.selectedThumb.getAttribute("data-gallery-index"),slide=slides[slideIndex];_this._adjustMobileThumbPosition(),_this._handleScrollButtonVisibility(),selectGalleryIndex(slideIndex),_this.selectedSlide=slide})),this.photoswipe.listen("close",(function(){_this.selectedSlide.focus(),_this.photoswipe=null})),this.photoswipe.listen("destroy",(function(){_this.events.unregisterAll(),_this.photoswipe=null,setTimeout((function(){_this.photoswipeDialog.classList.remove("pswp--open")}),100)})),this.events.register(this.thumbContainer,"mouseenter",(function(){isLessThanBreakpoint("S")&&(_this.photoswipe.options.closeOnScroll=!0)})),this.events.register(this.thumbContainer,"mouseleave",(function(){isLessThanBreakpoint("S")&&(_this.photoswipe.options.closeOnScroll=!1)}));var closeEsc=function(e){"Escape"===e.key&&slides[0].parentNode.querySelector("[data-gallery-expand]").focus()};this.events.register(window,"keydown",(function(e){return closeEsc(e)})),this.photoswipe.init()}return _createClass(ProductClickToZoom,[{key:"_adjustMobileThumbPosition",value:function(){if(isLessThanBreakpoint("S")){var thumbBounds=this.selectedThumb.getBoundingClientRect(),thumbWrapperBounds=this.thumbScroller.getBoundingClientRect();thumbBounds.left+thumbBounds.width+30>thumbWrapperBounds.width?this.thumbScroller.scrollLeft=this.selectedThumb.offsetLeft+thumbBounds.width-thumbWrapperBounds.width+35:this.selectedThumb.offsetLeft4?this.thumbScrollerButtons[0].classList.add("visible"):this.thumbScrollerButtons[0].classList.remove("visible"),this.thumbScroller.scrollLeft1&&void 0!==arguments[1]?arguments[1]:{};if(Drift_classCallCheck(this,Drift),this.VERSION="1.4.0",this.triggerEl=triggerEl,this.destroy=this.destroy.bind(this),!isDOMElement(this.triggerEl))throw new TypeError("`new Drift` requires a DOM element as its first argument.");var namespace=options.namespace||null,showWhitespaceAtEdges=options.showWhitespaceAtEdges||!1,containInline=options.containInline||!1,inlineOffsetX=options.inlineOffsetX||0,inlineOffsetY=options.inlineOffsetY||0,inlineContainer=options.inlineContainer||document.body,sourceAttribute=options.sourceAttribute||"data-zoom",zoomFactor=options.zoomFactor||3,paneContainer=void 0===options.paneContainer?document.body:options.paneContainer,inlinePane=options.inlinePane||375,handleTouch=!("handleTouch"in options)||!!options.handleTouch,onShow=options.onShow||null,onHide=options.onHide||null,injectBaseStyles=!("injectBaseStyles"in options)||!!options.injectBaseStyles,hoverDelay=options.hoverDelay||0,touchDelay=options.touchDelay||0,hoverBoundingBox=options.hoverBoundingBox||!1,touchBoundingBox=options.touchBoundingBox||!1,boundingBoxContainer=options.boundingBoxContainer||document.body;if(!0!==inlinePane&&!isDOMElement(paneContainer))throw new TypeError("`paneContainer` must be a DOM element when `inlinePane !== true`");if(!isDOMElement(inlineContainer))throw new TypeError("`inlineContainer` must be a DOM element");this.settings={namespace:namespace,showWhitespaceAtEdges:showWhitespaceAtEdges,containInline:containInline,inlineOffsetX:inlineOffsetX,inlineOffsetY:inlineOffsetY,inlineContainer:inlineContainer,sourceAttribute:sourceAttribute,zoomFactor:zoomFactor,paneContainer:paneContainer,inlinePane:inlinePane,handleTouch:handleTouch,onShow:onShow,onHide:onHide,injectBaseStyles:injectBaseStyles,hoverDelay:hoverDelay,touchDelay:touchDelay,hoverBoundingBox:hoverBoundingBox,touchBoundingBox:touchBoundingBox,boundingBoxContainer:boundingBoxContainer},this._buildZoomPane(),this._buildTrigger()}return Drift_createClass(Drift,[{key:"_buildZoomPane",value:function(){this.zoomPane=new ZoomPane_ZoomPane({container:this.settings.paneContainer,zoomFactor:this.settings.zoomFactor,showWhitespaceAtEdges:this.settings.showWhitespaceAtEdges,containInline:this.settings.containInline,inline:this.settings.inlinePane,namespace:this.settings.namespace,inlineOffsetX:this.settings.inlineOffsetX,inlineOffsetY:this.settings.inlineOffsetY,inlineContainer:this.settings.inlineContainer})}},{key:"_buildTrigger",value:function(){this.trigger=new Trigger_Trigger({el:this.triggerEl,zoomPane:this.zoomPane,handleTouch:this.settings.handleTouch,onShow:this.settings.onShow,onHide:this.settings.onHide,sourceAttribute:this.settings.sourceAttribute,hoverDelay:this.settings.hoverDelay,touchDelay:this.settings.touchDelay,hoverBoundingBox:this.settings.hoverBoundingBox,touchBoundingBox:this.settings.touchBoundingBox,namespace:this.settings.namespace,zoomFactor:this.settings.zoomFactor,boundingBoxContainer:this.settings.boundingBoxContainer})}},{key:"setZoomImageURL",value:function(imageURL){this.zoomPane._setImageURL(imageURL)}},{key:"disable",value:function(){this.trigger.enabled=!1}},{key:"enable",value:function(){this.trigger.enabled=!0}},{key:"destroy",value:function(){this.trigger._hide(),this.trigger._unbindEvents()}},{key:"isShowing",get:function(){return this.zoomPane.isShowing}},{key:"zoomFactor",get:function(){return this.settings.zoomFactor},set:function(zf){this.settings.zoomFactor=zf,this.zoomPane.settings.zoomFactor=zf,this.trigger.settings.zoomFactor=zf,this.boundingBox.settings.zoomFactor=zf}}]),Drift}();function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}var HAS_DOM_2="object"===("undefined"==typeof HTMLElement?"undefined":_typeof(HTMLElement));function isDOMElement(obj){return HAS_DOM_2?obj instanceof HTMLElement:obj&&"object"===_typeof(obj)&&null!==obj&&1===obj.nodeType&&"string"==typeof obj.nodeName}function addClasses(el,classNames){classNames.forEach((function(className){el.classList.add(className)}))}function removeClasses(el,classNames){classNames.forEach((function(className){el.classList.remove(className)}))}function ZoomPane_classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function ZoomPane_defineProperties(target,props){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};ZoomPane_classCallCheck(this,ZoomPane),this._completeShow=this._completeShow.bind(this),this._completeHide=this._completeHide.bind(this),this._handleLoad=this._handleLoad.bind(this),this.isShowing=!1;var _options$container=options.container,container=void 0===_options$container?null:_options$container,_options$zoomFactor=options.zoomFactor,zoomFactor=void 0===_options$zoomFactor?throwIfMissing():_options$zoomFactor,_options$inline=options.inline,inline=void 0===_options$inline?throwIfMissing():_options$inline,_options$namespace=options.namespace,namespace=void 0===_options$namespace?null:_options$namespace,_options$showWhitespa=options.showWhitespaceAtEdges,showWhitespaceAtEdges=void 0===_options$showWhitespa?throwIfMissing():_options$showWhitespa,_options$containInlin=options.containInline,containInline=void 0===_options$containInlin?throwIfMissing():_options$containInlin,_options$inlineOffset=options.inlineOffsetX,inlineOffsetX=void 0===_options$inlineOffset?0:_options$inlineOffset,_options$inlineOffset2=options.inlineOffsetY,inlineOffsetY=void 0===_options$inlineOffset2?0:_options$inlineOffset2,_options$inlineContai=options.inlineContainer,inlineContainer=void 0===_options$inlineContai?document.body:_options$inlineContai;this.settings={container:container,zoomFactor:zoomFactor,inline:inline,namespace:namespace,showWhitespaceAtEdges:showWhitespaceAtEdges,containInline:containInline,inlineOffsetX:inlineOffsetX,inlineOffsetY:inlineOffsetY,inlineContainer:inlineContainer},this.openClasses=this._buildClasses("open"),this.openingClasses=this._buildClasses("opening"),this.closingClasses=this._buildClasses("closing"),this.inlineClasses=this._buildClasses("inline"),this.loadingClasses=this._buildClasses("loading"),this._buildElement()}return ZoomPane_createClass(ZoomPane,[{key:"_buildClasses",value:function(suffix){var classes=["drift-".concat(suffix)],ns=this.settings.namespace;return ns&&classes.push("".concat(ns,"-").concat(suffix)),classes}},{key:"_buildElement",value:function(){this.el=document.createElement("div"),addClasses(this.el,this._buildClasses("zoom-pane"));var loaderEl=document.createElement("div");addClasses(loaderEl,this._buildClasses("zoom-pane-loader")),this.el.appendChild(loaderEl),this.imgEl=document.createElement("img"),this.el.appendChild(this.imgEl)}},{key:"_setImageURL",value:function(imageURL){this.imgEl.setAttribute("src",imageURL)}},{key:"_setImageSize",value:function(triggerWidth,triggerHeight){this.imgEl.style.width="".concat(triggerWidth*this.settings.zoomFactor,"px"),this.imgEl.style.height="".concat(triggerHeight*this.settings.zoomFactor,"px")}},{key:"setPosition",value:function(percentageOffsetX,percentageOffsetY,triggerRect){var imgElWidth=this.imgEl.offsetWidth,imgElHeight=this.imgEl.offsetHeight,elWidth=this.el.offsetWidth,elHeight=this.el.offsetHeight,left=elWidth/2-imgElWidth*percentageOffsetX,top=elHeight/2-imgElHeight*percentageOffsetY,differenceBetweenContainerWidthAndImgWidth=elWidth-imgElWidth,differenceBetweenContainerHeightAndImgHeight=elHeight-imgElHeight,isContainerLargerThanImgX=differenceBetweenContainerWidthAndImgWidth>0,isContainerLargerThanImgY=differenceBetweenContainerHeightAndImgHeight>0,minLeft=isContainerLargerThanImgX?differenceBetweenContainerWidthAndImgWidth/2:0,minTop=isContainerLargerThanImgY?differenceBetweenContainerHeightAndImgHeight/2:0,maxLeft=isContainerLargerThanImgX?differenceBetweenContainerWidthAndImgWidth/2:differenceBetweenContainerWidthAndImgWidth,maxTop=isContainerLargerThanImgY?differenceBetweenContainerHeightAndImgHeight/2:differenceBetweenContainerHeightAndImgHeight;if(this.el.parentElement===this.settings.inlineContainer){var scrollX=window.pageXOffset,scrollY=window.pageYOffset,inlineLeft=triggerRect.left+percentageOffsetX*triggerRect.width-elWidth/2+this.settings.inlineOffsetX+scrollX,inlineTop=triggerRect.top+percentageOffsetY*triggerRect.height-elHeight/2+this.settings.inlineOffsetY+scrollY;this.settings.containInline&&(inlineLefttriggerRect.left+triggerRect.width+scrollX&&(inlineLeft=triggerRect.left+triggerRect.width-elWidth+scrollX),inlineToptriggerRect.top+triggerRect.height+scrollY&&(inlineTop=triggerRect.top+triggerRect.height-elHeight+scrollY)),this.el.style.left="".concat(inlineLeft,"px"),this.el.style.top="".concat(inlineTop,"px")}this.settings.showWhitespaceAtEdges||(left>minLeft?left=minLeft:leftminTop?top=minTop:top0&&void 0!==arguments[0]?arguments[0]:{};Trigger_classCallCheck(this,Trigger),this._show=this._show.bind(this),this._hide=this._hide.bind(this),this._handleEntry=this._handleEntry.bind(this),this._handleMovement=this._handleMovement.bind(this);var _options$el=options.el,el=void 0===_options$el?throwIfMissing():_options$el,_options$zoomPane=options.zoomPane,zoomPane=void 0===_options$zoomPane?throwIfMissing():_options$zoomPane,_options$sourceAttrib=options.sourceAttribute,sourceAttribute=void 0===_options$sourceAttrib?throwIfMissing():_options$sourceAttrib,_options$handleTouch=options.handleTouch,handleTouch=void 0===_options$handleTouch?throwIfMissing():_options$handleTouch,_options$onShow=options.onShow,onShow=void 0===_options$onShow?null:_options$onShow,_options$onHide=options.onHide,onHide=void 0===_options$onHide?null:_options$onHide,_options$hoverDelay=options.hoverDelay,hoverDelay=void 0===_options$hoverDelay?0:_options$hoverDelay,_options$touchDelay=options.touchDelay,touchDelay=void 0===_options$touchDelay?0:_options$touchDelay,_options$hoverBoundin=options.hoverBoundingBox,hoverBoundingBox=void 0===_options$hoverBoundin?throwIfMissing():_options$hoverBoundin,_options$touchBoundin=options.touchBoundingBox,touchBoundingBox=void 0===_options$touchBoundin?throwIfMissing():_options$touchBoundin,_options$namespace=options.namespace,namespace=void 0===_options$namespace?null:_options$namespace,_options$zoomFactor=options.zoomFactor,zoomFactor=void 0===_options$zoomFactor?throwIfMissing():_options$zoomFactor,_options$boundingBoxC=options.boundingBoxContainer,boundingBoxContainer=void 0===_options$boundingBoxC?throwIfMissing():_options$boundingBoxC;this.settings={el:el,zoomPane:zoomPane,sourceAttribute:sourceAttribute,handleTouch:handleTouch,onShow:onShow,onHide:onHide,hoverDelay:hoverDelay,touchDelay:touchDelay,hoverBoundingBox:hoverBoundingBox,touchBoundingBox:touchBoundingBox,namespace:namespace,zoomFactor:zoomFactor,boundingBoxContainer:boundingBoxContainer},(this.settings.hoverBoundingBox||this.settings.touchBoundingBox)&&(this.boundingBox=new BoundingBox_BoundingBox({namespace:this.settings.namespace,zoomFactor:this.settings.zoomFactor,containerEl:this.settings.boundingBoxContainer})),this.enabled=!0,this._bindEvents()}return Trigger_createClass(Trigger,[{key:"_preventDefault",value:function(event){event.preventDefault()}},{key:"_preventDefaultAllowTouchScroll",value:function(event){this.settings.touchDelay&&this._isTouchEvent(event)&&!this.isShowing||event.preventDefault()}},{key:"_isTouchEvent",value:function(event){return!!event.touches}},{key:"_bindEvents",value:function(){this.settings.el.addEventListener("mouseenter",this._handleEntry,!1),this.settings.el.addEventListener("mouseleave",this._hide,!1),this.settings.el.addEventListener("mousemove",this._handleMovement,!1),this.settings.handleTouch?(this.settings.el.addEventListener("touchstart",this._handleEntry,!1),this.settings.el.addEventListener("touchend",this._hide,!1),this.settings.el.addEventListener("touchmove",this._handleMovement,!1)):(this.settings.el.addEventListener("touchstart",this._preventDefault,!1),this.settings.el.addEventListener("touchend",this._preventDefault,!1),this.settings.el.addEventListener("touchmove",this._preventDefault,!1))}},{key:"_unbindEvents",value:function(){this.settings.el.removeEventListener("mouseenter",this._handleEntry,!1),this.settings.el.removeEventListener("mouseleave",this._hide,!1),this.settings.el.removeEventListener("mousemove",this._handleMovement,!1),this.settings.handleTouch?(this.settings.el.removeEventListener("touchstart",this._handleEntry,!1),this.settings.el.removeEventListener("touchend",this._hide,!1),this.settings.el.removeEventListener("touchmove",this._handleMovement,!1)):(this.settings.el.removeEventListener("touchstart",this._preventDefault,!1),this.settings.el.removeEventListener("touchend",this._preventDefault,!1),this.settings.el.removeEventListener("touchmove",this._preventDefault,!1))}},{key:"_handleEntry",value:function(e){this._preventDefaultAllowTouchScroll(e),this._lastMovement=e,"mouseenter"==e.type&&this.settings.hoverDelay?this.entryTimeout=setTimeout(this._show,this.settings.hoverDelay):this.settings.touchDelay?this.entryTimeout=setTimeout(this._show,this.settings.touchDelay):this._show()}},{key:"_show",value:function(){if(this.enabled){var onShow=this.settings.onShow;if(onShow&&"function"==typeof onShow&&onShow(),this.settings.zoomPane.show(this.settings.el.getAttribute(this.settings.sourceAttribute),this.settings.el.clientWidth,this.settings.el.clientHeight),this._lastMovement){var touchActivated=this._lastMovement.touches;(touchActivated&&this.settings.touchBoundingBox||!touchActivated&&this.settings.hoverBoundingBox)&&this.boundingBox.show(this.settings.zoomPane.el.clientWidth,this.settings.zoomPane.el.clientHeight)}this._handleMovement()}}},{key:"_hide",value:function(e){e&&this._preventDefaultAllowTouchScroll(e),this._lastMovement=null,this.entryTimeout&&clearTimeout(this.entryTimeout),this.boundingBox&&this.boundingBox.hide();var onHide=this.settings.onHide;onHide&&"function"==typeof onHide&&onHide(),this.settings.zoomPane.hide()}},{key:"_handleMovement",value:function(e){if(e)this._preventDefaultAllowTouchScroll(e),this._lastMovement=e;else{if(!this._lastMovement)return;e=this._lastMovement}var movementX,movementY;if(e.touches){var firstTouch=e.touches[0];movementX=firstTouch.clientX,movementY=firstTouch.clientY}else movementX=e.clientX,movementY=e.clientY;var rect=this.settings.el.getBoundingClientRect(),offsetX=movementX-rect.left,offsetY=movementY-rect.top,percentageOffsetX=offsetX/this.settings.el.clientWidth,percentageOffsetY=offsetY/this.settings.el.clientHeight;this.boundingBox&&this.boundingBox.setPosition(percentageOffsetX,percentageOffsetY,rect),this.settings.zoomPane.setPosition(percentageOffsetX,percentageOffsetY,rect)}},{key:"isShowing",get:function(){return this.settings.zoomPane.isShowing}}]),Trigger}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;itriggerRect.left+triggerRect.width+pageXOffset&&(inlineLeft=triggerRect.left+triggerRect.width-this.el.clientWidth+pageXOffset),inlineToptriggerRect.top+triggerRect.height+pageYOffset&&(inlineTop=triggerRect.top+triggerRect.height-this.el.clientHeight+pageYOffset),this.el.style.left="".concat(inlineLeft,"px"),this.el.style.top="".concat(inlineTop,"px")}}]),BoundingBox}(); /*! * Flickity PACKAGED v2.1.2 * Touch, responsive, flickable carousels * * Licensed GPLv3 for open source use * or Flickity Commercial License for commercial use * * https://flickity.metafizzy.co * Copyright 2015-2018 Metafizzy */if(t=window,e=function(t,e){"use strict";function i(i,o,a){function l(t,e,n){var s,o="$()."+i+'("'+e+'")';return t.each((function(t,l){var h=a.data(l,i);if(h){var c=h[e];if(c&&"_"!=e.charAt(0)){var d=c.apply(h,n);s=void 0===s?d:s}else r(o+" is not a valid method")}else r(i+" not initialized. Cannot call methods, i.e. "+o)})),void 0!==s?s:t}function h(t,e){t.each((function(t,n){var s=a.data(n,i);s?(s.option(e),s._init()):(s=new o(n,e),a.data(n,i,s))}))}(a=a||e||t.jQuery)&&(o.prototype.option||(o.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){return"string"==typeof t?l(this,t,s.call(arguments,1)):(h(this,t),this)},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var s=Array.prototype.slice,o=t.console,r=void 0===o?function(){}:function(t){o.error(t)};return n(e||t.jQuery),i},"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],(function(i){return e(t,i)})):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],s=0;s