// @fancyapps/ui/Fancybox v4.0.0-alpha.2 !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,r=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return a=t.done,t},e:function(t){r=!0,s=t},f:function(){try{a||null==i.return||i.return()}finally{if(r)throw s}}}}var g=function(t){return"object"===e(t)&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t)},m=function t(){for(var i=!1,n=arguments.length,o=new Array(n),s=0;s1&&void 0!==arguments[1]?arguments[1]:1e3;return t=parseFloat(t)||0,Math.round((t+Number.EPSILON)*e)/e},b="undefined"!=typeof window&&window.ResizeObserver||function(){function t(e){i(this,t),this.observables=[],this.boundCheck=this.check.bind(this),this.boundCheck(),this.callback=e}return o(t,[{key:"observe",value:function(t){if(!this.observables.some((function(e){return e.el===t}))){var e={el:t,size:{height:t.clientHeight,width:t.clientWidth}};this.observables.push(e)}}},{key:"unobserve",value:function(t){this.observables=this.observables.filter((function(e){return e.el!==t}))}},{key:"disconnect",value:function(){this.observables=[]}},{key:"check",value:function(){var t=this.observables.filter((function(t){var e=t.el.clientHeight,i=t.el.clientWidth;if(t.size.height!==e||t.size.width!==i)return t.size.height=e,t.size.width=i,!0})).map((function(t){return t.el}));t.length>0&&this.callback(t),window.requestAnimationFrame(this.boundCheck)}}]),t}(),w=function t(e){return!(!e||e.classList.contains("carousel__track")||e===document.body)&&(function(t){var e=window.getComputedStyle(t)["overflow-y"],i=window.getComputedStyle(t)["overflow-x"],n=("scroll"===e||"auto"===e)&&Math.abs(t.scrollHeight-t.clientHeight)>1,o=("scroll"===i||"auto"===i)&&Math.abs(t.scrollWidth-t.clientWidth)>1;return n||o}(e)?e:t(e.parentNode))},x=function(t){var e=0;return t&&(e=t instanceof SVGElement?Math.min(t.getClientRects()[0].height,t.height.baseVal.value):Math.max(t.offsetHeight,t.scrollHeight)),e},k=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this.options=m(!0,{},e),this.plugins=[],this.events={};for(var n=0,o=["on","once"];n1&&void 0!==arguments[1]?arguments[1]:[];return String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,(function(t,n,o){var s=!1;if(!(s=o?e.option("".concat(n[0]+n.toLowerCase().substring(1),".l10n.").concat(o)):e.option("l10n.".concat(n))))return n;for(var a=0;a1?e-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,n),s=m(!0,{},$,s),o=e.call(this,s),!(t instanceof HTMLElement))throw new Error("Viewport not found");o.state="init",o.$viewport=t;for(var a=0,r=["onPointerDown","onPointerMove","onPointerUp","onWheel","onClick"];a0&&t>0?e/t*this.maxScale:this.maxScale},t.updateMetrics(),t.trigger(e>0?"load":"error")};!0!==this.$content.complete?(this.$content.onload=function(){return e()},this.$content.onerror=function(){return e()}):e()}else this.updateMetrics()}},{key:"resetValues",value:function(){this.viewportDim={top:0,left:0,width:0,height:0},this.contentDim={width:0,height:0},this.friction=this.option("friction"),this.current={x:0,y:0,scale:1},this.velocity={x:0,y:0,scale:0},this.pan={x:0,y:0,scale:1},this.drag={startTime:null,firstPosition:null,startPosition:null,startPoint:null,startDistance:null,endPosition:null,endPoint:null,distance:0,distanceX:0,distanceY:0,elapsedTime:0},this.lockAxis=null,this.pendingAnimateUpdate=null,this.pendingResizeUpdate=null,this.pointers=[]}},{key:"updateMetrics",value:function(){var t,e,i=this.$viewport.getBoundingClientRect(),n=i.top,o=i.left,s=i.width,a=i.height,r=window.getComputedStyle(this.$viewport);s-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),a-=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),this.viewportDim={top:n,left:o,width:s,height:a},this.contentDim={width:this.option("width",(t=this.$content,e=0,t&&(e=t instanceof SVGElement?Math.min(t.getClientRects()[0].width,t.width.baseVal.value):Math.max(t.offsetWidth,t.scrollWidth)),e)),height:this.option("hidth",x(this.$content))},this.trigger("updateMetrics"),this.updateBounds()}},{key:"updateBounds",value:function(t){var e={from:0,to:0},i={from:0,to:0};if(t||(t=this.velocity.scale?this.pan.scale:this.current.scale),t<1)return[e,i];var n=this.contentDim,o=this.viewportDim,s=n.width*t,a=n.height*t;return e.to=y(.5*(s-n.width)),n.width>o.width?e.from=y(e.to+o.width-s):e.from=y(-1*e.to),i.to=y(.5*(a-n.height)),n.height>o.height?i.from=y(i.to+o.height-a):i.from=y(-1*i.to),this.boundX=e,this.boundY=i,this.trigger("updateBounds",t),[this.boundX,this.boundY]}},{key:"zoomIn",value:function(t){this.zoomTo(this.current.scale+(t||this.option("step")))}},{key:"zoomOut",value:function(t){this.zoomTo(this.current.scale-(t||this.option("step")))}},{key:"toggleZoom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.option("maxScale"),i=this.option("baseScale");this.zoomTo(this.current.scale>i+.5*(e-i)?i:e,t)}},{key:"zoomTo",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?null:i,o=e.y,s=void 0===o?null:o,a=e.friction,r=void 0===a?this.option("zoomFriction"):a;t||(t=this.option("baseScale")),t=Math.max(Math.min(t,this.option("maxScale")),this.option("minScale"));var l=this.contentDim.width,c=this.contentDim.height,h=l*this.current.scale,d=c*this.current.scale,u=l*t,f=c*t;null===n&&(n=.5*h),null===s&&(s=.5*d),!1===this.option("zoomInCentered")&&(n<.5*h&&(n=h),n>h&&(n=0),s<0&&(s=d),s>d&&(s=0));var v=h>0?n/h:0,p=d>0?s/d:0,g=(u-h)*(v-.5),m=(f-d)*(p-.5);Math.abs(g)<1&&(g=0),Math.abs(m)<1&&(m=0),n=this.current.x-g,s=this.current.y-m,this.panTo({x:n,y:s,scale:t,friction:r})}},{key:"panTo",value:function(t){var e=t.x,i=void 0===e?0:e,n=t.y,o=void 0===n?0:n,s=t.scale,a=void 0===s?this.current.scale:s,r=t.friction,l=void 0===r?this.option("friction"):r,c=t.ignoreBounds,h=void 0!==c&&c;if(l||this.stopMoving(),!0!==h){var u=d(this.updateBounds(a),2),f=u[0],v=u[1];f&&(i=Math.max(Math.min(i,f.to),f.from)),v&&(o=Math.max(Math.min(o,v.to),v.from))}return l>0&&(Math.abs(i-this.current.x)>.1||Math.abs(o-this.current.y)>.1||Math.abs(a-this.current.scale)>.1)?(this.state="panning",this.friction=l,this.pan={x:i,y:o,scale:a},this.velocity={x:(1/this.friction-1)*(i-this.current.x),y:(1/this.friction-1)*(o-this.current.y),scale:(1/this.friction-1)*(a-this.current.scale)},this.animate(),this):(this.pendingAnimateUpdate&&(cancelAnimationFrame(this.pendingAnimateUpdate),this.pendingAnimateUpdate=null),this.state="ready",this.stopMoving(),this.current={x:i,y:o,scale:a},this.transform(),this.handleCursor(),this.trigger("afterAnimate",!0),this)}},{key:"animate",value:function(){var t=this;if(!this.pendingAnimateUpdate){if(this.applyBoundForce(),this.applyDragForce(),this.velocity.x*=this.friction,this.velocity.y*=this.friction,this.velocity.scale*=this.friction,this.current.x+=this.velocity.x,this.current.y+=this.velocity.y,this.current.scale+=this.velocity.scale,"dragging"==this.state||"pointerdown"==this.state||Math.abs(this.velocity.x)>.05||Math.abs(this.velocity.y)>.05||Math.abs(this.velocity.scale)>.05)return this.transform(),void(this.pendingAnimateUpdate=requestAnimationFrame((function(){t.pendingAnimateUpdate=null,t.animate()})));this.current.x=y(this.current.x+this.velocity.x/(1/this.friction-1)),this.current.y=y(this.current.y+this.velocity.y/(1/this.friction-1)),Math.abs(this.current.x)<.5&&(this.current.x=0),Math.abs(this.current.y)<.5&&(this.current.y=0),this.current.scale=y(this.current.scale+this.velocity.scale/(1/this.friction-1),1e4),Math.abs(this.current.scale-1)<.01&&(this.current.scale=1),this.state="ready",this.stopMoving(),this.transform(),this.handleCursor(),this.trigger("afterAnimate")}}},{key:"handleCursor",value:function(){var t=this.option("draggableClass");t&&this.option("touch")&&(this.contentDim.width<=this.viewportDim.width&&1==this.option("panOnlyZoomed")&&this.current.scale<=this.option("baseScale")?this.$viewport.classList.remove(t):this.$viewport.classList.add(t))}},{key:"isMoved",value:function(){return 0!==this.current.x||0!==this.current.y||1!==this.current.scale||this.velocity.x>0||this.velocity.y>0||this.velocity.scale>0}},{key:"stopMoving",value:function(){this.velocity={x:0,y:0,scale:0}}},{key:"transform",value:function(){this.trigger("beforeTransform");var t=y(this.current.x,100),e=y(this.current.y,100),i=y(this.current.scale,1e5);Math.abs(t)<=.1&&Math.abs(e)<=.1&&Math.abs(i-1)<=.1?this.$content.style.transform="":this.$content.style.transform="translate3d(".concat(t,"px, ").concat(e,"px, 0px) scale(").concat(i,")"),this.trigger("afterTransform")}},{key:"applyBoundForce",value:function(){if("decel"===this.state){var t,e,i,n,o={x:0,y:0},s=this.option("bounceForce"),a=this.boundX,r=this.boundY;if(a&&(t=this.current.xa.to),r&&(i=this.current.yr.to),t||e){var l=(t?a.from:a.to)-this.current.x,c=l*s,h=this.current.x+(this.velocity.x+c)/(1/this.friction-1);t&&ha.to||(c=l*s-this.velocity.x),o.x=c}if(i||n){var d=(i?r.from:r.to)-this.current.y,u=d*s,f=this.current.y+(this.velocity.y+u)/(1/this.friction-1);i&&fr.to||(u=d*s-this.velocity.y),o.y=u}this.velocity.x+=o.x,this.velocity.y+=o.y}}},{key:"applyDragForce",value:function(){"dragging"===this.state&&(this.velocity={x:(1/this.friction-1)*(this.drag.endPosition.x-this.current.x),y:(1/this.friction-1)*(this.drag.endPosition.y-this.current.y),scale:(1/this.friction-1)*(this.drag.endPosition.scale-this.current.scale)})}},{key:"attachEvents",value:function(){var t=this,e=this.$viewport;this.resizeObserver=this.resizeObserver||new b((function(e){t.pendingResizeUpdate=t.pendingResizeUpdate||setTimeout((function(){t.pendingResizeUpdate=null;var i=e&&e[0].contentRect;!i&&t.$viewport&&(i=t.$viewport.getBoundingClientRect()),i&&(Math.abs(i.width-t.viewportDim.width)>1||Math.abs(i.height-t.viewportDim.height)>1)&&t.updateMetrics()}),50)})),this.resizeObserver.observe(e),e.addEventListener("click",this.onClick,{passive:!1}),e.addEventListener("wheel",this.onWheel,{passive:!1}),this.option("touch")&&(window.PointerEvent?(e.addEventListener("pointerdown",this.onPointerDown,{passive:!1}),e.addEventListener("pointermove",this.onPointerMove,{passive:!1}),e.addEventListener("pointerup",this.onPointerUp),e.addEventListener("pointercancel",this.onPointerUp)):(e.addEventListener("touchstart",this.onPointerDown,{passive:!1}),e.addEventListener("touchmove",this.onPointerMove,{passive:!1}),e.addEventListener("touchend",this.onPointerUp),e.addEventListener("touchcancel",this.onPointerUp),e.addEventListener("mousedown",this.onPointerDown)))}},{key:"detachEvents",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),this.resizeObserver=null,this.pendingResizeUpdate&&(clearTimeout(this.pendingResizeUpdate),this.pendingResizeUpdate=null);var t=this.$viewport;window.PointerEvent?(t.removeEventListener("pointerdown",this.onPointerDown,{passive:!1}),t.removeEventListener("pointermove",this.onPointerMove,{passive:!1}),t.removeEventListener("pointerup",this.onPointerUp),t.removeEventListener("pointercancel",this.onPointerUp)):(t.removeEventListener("touchstart",this.onPointerDown,{passive:!1}),t.removeEventListener("touchmove",this.onPointerMove,{passive:!1}),t.removeEventListener("touchend",this.onPointerUp),t.removeEventListener("touchcancel",this.onPointerUp),t.removeEventListener("mousedown",this.onPointerDown)),t.removeEventListener("click",this.onClick,{passive:!1}),t.removeEventListener("wheel",this.onWheel,{passive:!1})}},{key:"copyPointer",value:function(t){return{pointerId:t.pointerId,clientX:t.clientX,clientY:t.clientY}}},{key:"findPointerIndex",value:function(t){for(var e=this.pointers.length;e--;)if(this.pointers[e].pointerId===t.pointerId)return e;return-1}},{key:"addPointer",value:function(t){var e=0;if(t.touches&&t.touches.length){var i,n=p(t.touches);try{for(n.s();!(i=n.n()).done;){var o=i.value;o.pointerId=e++,this.addPointer(o)}}catch(t){n.e(t)}finally{n.f()}}else(e=this.findPointerIndex(t))>-1&&this.pointers.splice(e,1),this.pointers.push(t)}},{key:"removePointer",value:function(t){if(t.touches)for(;this.pointers.length;)this.pointers.pop();else{var e=this.findPointerIndex(t);e>-1&&this.pointers.splice(e,1)}}},{key:"getMiddlePoint",value:function(){var t=u(this.pointers),e=(t=t.sort((function(t,e){return e.pointerId-t.pointerId}))).shift(),i=t.shift();return i?{clientX:.5*(e.clientX-i.clientX)+i.clientX,clientY:.5*(e.clientY-i.clientY)+i.clientY}:{clientX:e?e.clientX:0,clientY:e?e.clientY:0}}},{key:"getDistance",value:function(t,e){if(!(t=(t=t||u(this.pointers)).slice())||t.length<2)return 0;var i=(t=t.sort((function(t,e){return e.pointerId-t.pointerId}))).shift(),n=t.shift(),o=Math.abs(n.clientX-i.clientX);if("x"===e)return o;var s=Math.abs(n.clientY-i.clientY);return"y"===e?s:Math.sqrt(Math.pow(o,2)+Math.pow(s,2))}},{key:"resetDragState",value:function(){var t=this.$content.getClientRects()[0],e=t.left,i=t.top,n=this.getMiddlePoint(),o={top:i,left:e,x:this.current.x,y:this.current.y,scale:this.current.scale};m(this.drag,{startPosition:m({},o),startPoint:m({},n),startDistance:this.getDistance(),endPosition:m({},o),endPoint:m({},n),distance:0,distanceX:0,distanceY:0}),"pointerdown"===this.state&&(this.lockAxis=null,this.drag.startTime=new Date,this.drag.firstPosition=Object.assign({},o)),this.stopMoving(),this.friction=this.option("friction")}},{key:"onPointerDown",value:function(t){if(t&&!(t.button&&t.button>0))if(this.option("panOnlyZoomed")&&this.velocity.scale)t.preventDefault();else{if(this.resetDragState(),!this.pointers.length){if(-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(t.target.nodeName))return;if(this.option("textSelection")&&function(t,e,i){for(var n=t.childNodes,o=document.createRange(),s=0;s=r.left&&i>=r.top&&e<=r.right&&i<=r.bottom)return a}}return!1}(t.target,t.clientX,t.clientY))return;if(w(t.target))return}var e;if((e=window.getSelection?window.getSelection():document.selection)&&e.rangeCount&&e.getRangeAt(0).getClientRects().length&&(e.removeAllRanges?e.removeAllRanges():e.empty&&e.empty()),this.pointers.length>1||this.pointers.length&&this.lockAxis)t.preventDefault();else if(!1!==this.trigger("touchStart",t))if(t.preventDefault(),this.state="pointerdown",this.addPointer(this.copyPointer(t)),this.resetDragState(),window.PointerEvent)try{t.target.setPointerCapture(t.pointerId)}catch(t){}else document.addEventListener("mousemove",this.onPointerMove,{passive:!1}),document.addEventListener("mouseup",this.onPointerUp,{passive:!1})}}},{key:"onPointerMove",value:function(t){if(!(t.targetTouches&&t.targetTouches.length>1||"pointerdown"!==this.state&&"dragging"!==this.state))if(0!=this.trigger("touchMove",t)){if(this.addPointer(this.copyPointer(t)),!(this.pointers.length>1&&!1===this.option("pinchToZoom")))if(1==this.option("panOnlyZoomed")&&this.current.scale===this.option("baseScale")&&this.pointers.length<2)t.preventDefault();else{var e=this.getMiddlePoint(),i=[e,this.drag.startPoint];this.drag.distance=this.getDistance(i);var n=this.events.click&&this.events.click.length||this.events.doubleClick&&this.events.doubleClick.length||this.option.click||this.option.doubleClick;if(!(this.drag.distance<6&&(n||this.option("lockAxis")&&!this.lockAxis))&&("pointerdown"==this.state&&(this.state="dragging"),"dragging"===this.state)){var o=this.option("lockAxis");if(!this.lockAxis&&o)if("xy"===o){var s=this.getDistance(i,"x"),a=this.getDistance(i,"y"),r=Math.abs(180*Math.atan2(a,s)/Math.PI);this.lockAxis=r>45&&r<135?"y":"x"}else this.lockAxis=o;t.preventDefault(),t.stopPropagation(),this.$viewport.classList.add(this.option("draggingClass")),this.animate();var l=this.current.scale,c=0,h=0;if(this.current.scale===this.option("baseScale")&&"y"===this.lockAxis||(c=e.clientX-this.drag.startPoint.clientX),this.current.scale===this.option("baseScale")&&"x"===this.lockAxis||(h=e.clientY-this.drag.startPoint.clientY),this.drag.endPosition.x=this.drag.startPosition.x+c,this.drag.endPosition.y=this.drag.startPosition.y+h,this.pointers.length>1){this.drag.middlePoint=e,l=this.drag.startPosition.scale*this.getDistance()/this.drag.startDistance,l=Math.max(Math.min(l,2*this.option("maxScale")),.5*this.option("minScale"));var d=this.$content.width,u=this.$content.height,f=d*this.drag.startPosition.scale,v=u*this.drag.startPosition.scale,p=u*l,g=(d*l-f)*((this.drag.startPoint.clientX-this.drag.startPosition.left)/f-.5),m=(p-v)*((this.drag.startPoint.clientY-this.drag.startPosition.top)/v-.5);this.drag.endPosition.x-=g,this.drag.endPosition.y-=m,this.drag.endPosition.scale=l,this.updateBounds(l)}this.applyDragResistance()}}}else t.preventDefault()}},{key:"onPointerUp",value:function(t){if(this.removePointer(t),window.PointerEvent)try{t.target.releasePointerCapture(t.pointerId)}catch(t){}else document.removeEventListener("mousemove",this.onPointerMove,{passive:!1}),document.removeEventListener("mouseup",this.onPointerUp,{passive:!1});if(this.pointers.length>0)return t.preventDefault(),void this.resetDragState();if("pointerdown"===this.state||"dragging"===this.state){this.$viewport.classList.remove(this.option("draggingClass"));var e=this.$content.getClientRects()[0],i=e.top,n=e.left,o=this.drag;if(m(!0,o,{elapsedTime:new Date-o.startTime,distanceX:o.endPosition.x-o.firstPosition.x,distanceY:o.endPosition.y-o.firstPosition.y,endPosition:{top:i,left:n}}),o.distance=Math.sqrt(Math.pow(o.distanceX,2)+Math.pow(o.distanceY,2)),this.state="decel",this.friction=this.option("decelFriction"),this.pan={x:this.current.x+this.velocity.x/(1/this.friction-1),y:this.current.y+this.velocity.y/(1/this.friction-1),scale:this.current.scale+this.velocity.scale/(1/this.friction-1)},!1!==this.trigger("touchEnd",t)&&"decel"===this.state){var s=this.option("minScale");if(this.current.scale.01){var r={friction:.64};o.middlePoint&&(r.x=o.middlePoint.clientX-n,r.y=o.middlePoint.clientY-i),this.zoomTo(a,r)}}}}}},{key:"applyDragResistance",value:function(){var t,e,i,n,o=this.boundX,s=this.boundY;if(o&&(t=this.drag.endPosition.xo.to),s&&(i=this.drag.endPosition.ys.to),t||e){var a=t?o.from:o.to,r=this.drag.endPosition.x-a;this.drag.endPosition.x=a+.3*r}if(i||n){var l=i?s.from:s.to,c=this.drag.endPosition.y-l;this.drag.endPosition.y=l+.3*c}}},{key:"onWheel",value:function(t){!1!==this.trigger("wheel",t)&&"zoom"==this.option("wheel",t)&&this.zoomWithWheel(t)}},{key:"zoomWithWheel",value:function(t){void 0===this.changedDelta&&(this.changedDelta=0);var e=this.current.scale,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail));if(i<0&&e<=this.option("minScale")||i>0&&e>=this.option("maxScale")){if(this.changedDelta+=Math.abs(i),this.changedDelta>this.option("wheelLimit"))return}else this.changedDelta=0;e=e*(100+i*this.option("wheelFactor"))/100,t.preventDefault();var n=this.$content.getClientRects()[0],o=n.top,s=n.left,a=t.clientX-s,r=t.clientY-o;this.zoomTo(e,{x:a,y:r})}},{key:"onClick",value:function(t){var e=this;if(!t.defaultPrevented){if(window.getSelection().toString().length)return t.stopPropagation(),void t.stopImmediatePropagation();if(this.drag.startPosition&&this.drag.endPosition&&(Math.abs(this.drag.endPosition.top-this.drag.startPosition.top)>1||Math.abs(this.drag.endPosition.left-this.drag.startPosition.left)>1))return t.stopPropagation(),void t.stopImmediatePropagation();if(this.drag.distance>(this.lockAxis?6:1))return t.preventDefault(),t.stopPropagation(),void t.stopImmediatePropagation();var i=null,n=null;void 0!==t.clientX&&void 0!==t.clientY&&(i=t.clientX-this.$content.getClientRects()[0].left,n=t.clientY-this.$content.getClientRects()[0].top);var o=this.options.doubleClick;if(!o&&this.events.doubleClick&&this.events.doubleClick.length&&(o=!0),o){if(!this.clickTimer)return this.lastClickEvent=t,void(this.clickTimer=setTimeout((function(){e.clickTimer=null,!1!==e.trigger("click",t)&&"toggleZoom"===e.option("click")&&e.toggleZoom({x:i,y:n})}),this.option("clickDelay")));this.getDistance([t,this.lastClickEvent])>=6||(clearTimeout(this.clickTimer),this.clickTimer=null,!1!==this.trigger("doubleClick",t)&&"toggleZoom"===this.option("doubleClick")&&this.toggleZoom({x:i,y:n}))}else{if(!1===this.trigger("click",t))return;"toggleZoom"===this.option("click")&&this.toggleZoom({x:i,y:n})}}}},{key:"destroy",value:function(){"destroy"!==this.state&&(this.state="destroy",this.$viewport.classList.remove("not-selectable"),this.$content instanceof HTMLImageElement&&!this.$content.complete&&(this.$content.onload=null,this.$content.onerror=null),this.pendingAnimateUpdate&&(cancelAnimationFrame(this.pendingAnimateUpdate),this.pendingAnimateUpdate=null),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.detachEvents(),this.pointers=[],this.resetValues(),this.$viewport=null,this.$content=null,this.options={},this.events={})}}]),n}(k);C.version="4.0.0-alpha.2",C.Plugins={};var P=function(t,e){var i=0;return function(){var n=(new Date).getTime();if(!(n-i1&&this.carousel.elemDimWidth=t-1&&this.$next.setAttribute("disabled","")))}},{key:"cleanup",value:function(){this.$prev&&this.$prev.remove(),this.$prev=null,this.$next&&this.$next.remove(),this.$next=null,this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.carousel.on("refresh change",this.onRefresh)}},{key:"detach",value:function(){this.carousel.off("refresh change",this.onRefresh),this.cleanup()}}]),t}();S.defaults={prevTpl:'',nextTpl:'',classNames:{main:"carousel__nav",button:"carousel__button",next:"is-next",prev:"is-prev"}};var E=function(){function t(e){i(this,t),this.carousel=e,this.$list=null,this.events={change:this.onChange.bind(this),refresh:this.onRefresh.bind(this)}}return o(t,[{key:"buildList",value:function(){var t=this;if(!(this.carousel.pages.length<2)){var e=document.createElement("ol");return e.classList.add("carousel__dots"),e.addEventListener("click",(function(e){if("page"in e.target.dataset){e.preventDefault(),e.stopPropagation();var i=parseInt(e.target.dataset.page,10),n=t.carousel;i!==n.page&&(n.pages.length<3&&n.option("infinite")?n[0==i?"slidePrev":"slideNext"]():n.slideTo(i))}})),this.$list=e,this.carousel.$element.appendChild(e),this.carousel.$element.classList.add("has-dots"),e}}},{key:"removeList",value:function(){this.$list&&(this.$list.parentNode.removeChild(this.$list),this.$list=null)}},{key:"rebuildDots",value:function(){var t=this,e=this.$list,i=!!e,n=this.carousel.pages.length;if(n<2)i&&this.removeList();else{i||(e=this.buildList());var o=this.$list.children.length;if(o>n)for(var s=n;s1&&void 0!==arguments[1]?arguments[1]:{};return i(this,n),s=m(!0,{},M,s),(o=e.call(this,s)).state="init",o.$element=t,t.Carousel=l(o),o.page=o.pageIndex=null,o.prevPage=o.prevPageIndex=null,o.slideNext=P(o.slideNext.bind(l(o)),250),o.slidePrev=P(o.slidePrev.bind(l(o)),250),o.attachPlugins(n.Plugins),o.trigger("init"),o.initLayout(),o.initSlides(),o.initPanzoom(),o.state="ready",o.trigger("ready"),o}return o(n,[{key:"initLayout",value:function(){if(!(this.$element instanceof HTMLElement))throw new Error("No root element provided");var t,e,i=this.option("classNames");(this.$viewport=this.option("viewport")||this.$element.querySelector("."+i.viewport),this.$viewport)||(this.$viewport=document.createElement("div"),this.$viewport.classList.add(i.viewport),(t=this.$viewport).append.apply(t,u(this.$element.childNodes)),this.$element.appendChild(this.$viewport));(this.$track=this.option("track")||this.$element.querySelector("."+i.track),this.$track)||(this.$track=document.createElement("div"),this.$track.classList.add(i.track),(e=this.$track).append.apply(e,u(this.$viewport.childNodes)),this.$viewport.appendChild(this.$track))}},{key:"initSlides",value:function(){var t=this;this.slides=[],this.$viewport.querySelectorAll("."+this.option("classNames.slide")).forEach((function(e){var i={$el:e,isDom:!0};t.slides.push(i),t.trigger("createSlide",i,t.slides.length)})),Array.isArray(this.options.slides)&&(this.slides=m(!0,u(this.slides),this.options.slides))}},{key:"updatePage",value:function(){var t=this.page;null===t&&(t=this.page=this.option("initialPage")),this.updateMetrics();var e=this.pages;e[t]||(t=e.length?e[e.length-1].index:0),this.slideTo(t,{friction:0})}},{key:"updateBounds",value:function(){var t=this.Panzoom,e=this.option("infinite"),i=this.option("infiniteX",e),n=this.option("infiniteY",e);i&&(t.boundX=null),n&&(t.boundY=null),i||n||(t.boundX={from:-1*this.pages[this.pages.length-1].left,to:-1*this.pages[0].left})}},{key:"initPanzoom",value:function(){var t=this,e=m(!0,{},{content:this.$track,click:!1,doubleClick:!1,wheel:!1,pinchToZoom:!1,lockAxis:"x",textSelection:function(){return t.option("textSelection",!1)},panOnlyZoomed:function(){return t.option("panOnlyZoomed",t.elemDimWidth1?i-1:0),o=1;o1&&t.drag.elapsedTime<350&&Math.abs(t.drag.distanceY)<1&&Math.abs(t.drag.distanceX)>5)this[t.drag.distanceX<0?"slideNext":"slidePrev"]();else if(e){var i=d(this.getPageFromPosition(-1*this.Panzoom.pan.x),2)[1];this.setPage(i)}else this.slideToClosest()}},{key:"manageInfiniteTrack",value:function(){if(!(!this.option("infiniteX",this.option("infinite"))||this.pages.length<2||this.elemDimWidtht.viewportDim.width&&(t.current.x-=t.contentDim.width,t.drag.firstPosition&&(t.drag.firstPosition.x-=t.contentDim.width),this.pageIndex=this.pageIndex+this.pages.length,e=!0),e&&"dragging"===t.state&&t.resetDragState(),e}}},{key:"manageSlideVisiblity",value:function(){var t=this,e=this.elemDimWidth,i=this.wrapDimWidth,n=-1*this.Panzoom.current.x;Math.abs(n)<.1&&(n=0);var o=this.option("preload"),s=this.option("infiniteX",this.option("infinite")),a=parseFloat(window.getComputedStyle(this.$viewport,null).getPropertyValue("padding-left")),r=parseFloat(window.getComputedStyle(this.$viewport,null).getPropertyValue("padding-right"));this.slides.forEach((function(l){var c,h,d=0;c=n-a,h=n+i+r,c-=o*(i+a+r),h+=o*(i+a+r);var u=l.left+l.width>c&&l.leftc&&l.leftc&&l.leftn&&l.left<=n+i+r&&(d=0)):t.removeSlideEl(l),l.hasDiff=d}));var l=0,c=0;this.slides.forEach((function(t,i){var n=0;t.$el?(i!==l||t.hasDiff?n=c+t.hasDiff*e:c=0,t.$el.style.left=Math.abs(n)>.1?"".concat(c+t.hasDiff*e,"px"):"",l++):c+=t.width})),this.Panzoom.viewportDim.height=this.Panzoom.$content.clientHeight,this.markSelectedSlides()}},{key:"markSelectedSlides",value:function(){var t=this,e=this.option("classNames.slideSelected"),i="aria-hidden";this.slides.forEach((function(n,o){var s=n.$el;if(s){var a=t.pages[t.page];a&&a.indexes&&a.indexes.indexOf(o)>-1?(e&&!s.classList.contains(e)&&(s.classList.add(e),t.trigger("selectSlide",n)),s.removeAttribute(i)):(e&&s.classList.contains(e)&&(s.classList.remove(e),t.trigger("unselectSlide",n)),s.setAttribute(i,!0))}}))}},{key:"createSlideEl",value:function(t){if(t){if(!t.$el){var e,i=document.createElement("div");if(i.dataset.index=t.index,i.classList.add(this.option("classNames.slide")),t.customClass)(e=i.classList).add.apply(e,u(t.customClass.split(" ")));t.html&&(i.innerHTML=t.html);var n=[];this.slides.forEach((function(t,e){t.$el&&n.push(e)}));var o=t.index,s=null;if(n.length){var a=n.reduce((function(t,e){return Math.abs(e-o)this.wrapDimWidth)for(var l=0;lthis.wrapDimWidth)&&(a.push({indexes:[],slides:[]}),c=a.length-1,h=0),h+=f.width,a[c].indexes.push(d),a[c].slides.push(f)}var v=this.option("center"),p=this.option("fill");a.forEach((function(t,i){t.index=i,t.width=t.slides.reduce((function(t,e){return t+e.width}),0),t.left=t.slides[0].left,v&&(t.left+=.5*(e.wrapDimWidth-t.width)*-1),p&&!e.option("infiniteX",e.option("infinite"))&&e.elemDimWidth>e.wrapDimWidth&&(t.left=Math.max(t.left,0),t.left=Math.min(t.left,e.elemDimWidth-e.wrapDimWidth))}));var g,m=[];a.forEach((function(t){g&&t.left===g.left?(g.width+=t.width,g.slides=[].concat(u(g.slides),u(t.slides)),g.indexes=[].concat(u(g.indexes),u(t.indexes))):(t.index=m.length,g=t,m.push(t))})),this.pages=m,this.manageSlideVisiblity(),this.trigger("refresh")}},{key:"setPage",value:function(t,e){var i=0,n=parseInt(t,10)||0,o=this.page,s=this.pageIndex,a=this.pages.length;if(t=(n%a+a)%a,this.option("infiniteX",this.option("infinite"))&&this.elemDimWidth>this.wrapDimWidth){var r=Math.floor(n/a)||0,l=this.elemDimWidth;if(i=this.pages[t].left+r*l,!0===e&&a>2){var c=-1*this.Panzoom.current.x,h=i-l,d=i+l,u=Math.abs(c-i),f=Math.abs(c-h),v=Math.abs(c-d);v1&&void 0!==arguments[1]?arguments[1]:{},i=e.friction,n=void 0===i?this.option("friction"):i;this.Panzoom.panTo({x:-1*this.setPage(t,!0),y:0,friction:n})}},{key:"slideToClosest",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getPageFromPosition(-1*this.Panzoom.pan.x),i=d(e,2),n=i[1];this.slideTo(n,t)}},{key:"slideNext",value:function(){this.slideTo(this.pageIndex+1)}},{key:"slidePrev",value:function(){this.slideTo(this.pageIndex-1)}},{key:"getPageforSlide",value:function(t){var e=this.pages.find((function(e){return e.indexes.indexOf(t)>-1}));return e?e.index:null}},{key:"getPageFromPosition",value:function(t){var e=this.pages.length;this.option("center")&&(t+=.5*this.wrapDimWidth);var i=Math.floor(t/this.elemDimWidth);t-=i*this.elemDimWidth;var n=this.slides.find((function(e){return e.leftt}));if(n){var o=this.getPageforSlide(n.index);return[o,o+i*e]}return[0,0]}},{key:"removeSlideEl",value:function(t){t.$el&&!t.isDom&&(this.trigger("deleteSlide",t),t.$el.remove(),t.$el=null)}},{key:"destroy",value:function(){var t=this;this.state="destroy",this.slides.forEach((function(e){t.removeSlideEl(e)})),this.Panzoom.destroy(),this.options={},this.events={}}}]),n}(k);A.version="4.0.0-alpha.2",A.Plugins=T;var D=!("undefined"==typeof window||!window.document||!window.document.createElement),I=function(){function t(e){i(this,t),this.fancybox=e,this.viewport=null,this.pendingUpdate=null;for(var n=0,o=["onReady","onResize","onTouchstart","onTouchmove"];n.1&&(o="".concat(e.width*i,"px"),s="".concat(e.height*i,"px"),a="translate3d(".concat(e.offsetLeft,"px, ").concat(e.offsetTop,"px, 0) scale(").concat(1/i,")")),n.style.width=o,n.style.height=s,n.style.transform=a,t.Carousel&&t.Carousel.updateMetrics()}}},{key:"onTouchstart",value:function(t){this.startY=t.touches?t.touches[0].screenY:t.screenY}},{key:"onTouchmove",value:function(t){var e=this.startY,i=window.innerWidth/window.document.documentElement.clientWidth;if(!(t.touches.length>1||1!==i)){var n=t.target,o=w(n);if(o){var s=window.getComputedStyle(o),a=parseInt(s.getPropertyValue("height"),10),r=t.touches?t.touches[0].screenY:t.screenY,l=e<=r&&0===o.scrollTop,c=e>=r&&o.scrollHeight-o.scrollTop===a;(l||c)&&t.preventDefault()}else t.preventDefault()}}},{key:"cleanup",value:function(){this.pendingUpdate&&(cancelAnimationFrame(this.pendingUpdate),this.pendingUpdate=null);var t=this.viewport;t&&(t.removeEventListener("resize",this.onResize),this.viewport=null),window.removeEventListener("touchstart",this.onTouchstart,!1),window.removeEventListener("touchmove",this.onTouchmove,!1)}},{key:"attach",value:function(){this.fancybox.on("initLayout",this.onReady)}},{key:"detach",value:function(){this.fancybox.off("initLayout",this.onReady),this.cleanup()}}]),t}(),z=function(){function t(e){i(this,t),this.fancybox=e,this.$wrap=null,this.state="init";for(var n=0,o=["onReady","onClosing","onKeydown"];n'),customClass:"has-thumb has-".concat(e.type||"image")})})),t}},{key:"toggle",value:function(){return"ready"===this.state?(this.Carousel.Panzoom.detachEvents(),this.$wrap.style.display="none",void(this.state="hidden")):"hidden"===this.state?(this.$wrap.style.display="",this.Carousel.Panzoom.attachEvents(),void(this.state="ready")):void this.initLayout()}},{key:"cleanup",value:function(){this.Carousel&&(this.Carousel.destroy(),this.Carousel=null),this.$wrap&&(this.$wrap.remove(),this.$wrap=null),this.state="init"}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();z.defaults={autoStart:!0,minSlideCount:3,key:"t"};var _=function(t){return Object.entries(t).map((function(t){return t.map(encodeURIComponent).join("=")})).join("&")},R=function(){function t(e){i(this,t),this.fancybox=e;for(var n=0,o=["onPrepare","onCreateSlide","onDeleteSlide","onSelectSlide","onUnselectSlide","onRefresh","onMessage"];n0?"svembed":"embed"),i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src="//maps.google.".concat(n[1],"/maps?q=").concat(n[2].replace("query=","q=").replace("api=1",""),"&output=embed"),i="map");i||("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.format=t.format||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)&&(i="pdf")),t.type=i||this.fancybox.option("defaultType","image"),"html5video"!==i&&"video"!==i||(t.video=m({},this.fancybox.option("Html.video"),t.video),t.width&&t.height?t.ratio=parseFloat(t.width)/parseFloat(t.height):t.ratio=t.ratio||t.video.ratio)}}},{key:"loadInlineContent",value:function(t){var e;if(t.src instanceof HTMLElement)e=t.src;else if("string"==typeof t.src){var i=t.src.split("#",2),n=2===i.length&&""===i[0]?i[1]:i[0];e=document.getElementById(n)}if(e){if("clone"===t.type||e.$placeHolder){var o=(e=e.cloneNode(!0)).getAttribute("id");o=o?"".concat(o,"--clone"):"clone-".concat(this.fancybox.id,"-").concat(t.index),e.setAttribute("id",o)}else{var s=document.createElement("div");s.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(s,e),e.$placeHolder=s}this.fancybox.setContent(t,e)}else this.fancybox.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"loadAjaxContent",value:function(t){var e=this.fancybox,i=new XMLHttpRequest;e.showLoading(t),i.onreadystatechange=function(){i.readyState===XMLHttpRequest.DONE&&"ready"===e.state&&(e.hideLoading(t),200===i.status?e.setContent(t,i.responseText):e.setError(t,404===i.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))},i.open("GET",t.src),i.send(t.ajax||null),t.xhr=i}},{key:"loadIframeContent",value:function(t){var e=this,i=this.fancybox,n=document.createElement("iframe");if(n.className="fancybox__iframe",n.setAttribute("id","fancybox__iframe_".concat(i.id,"_").concat(t.index)),n.setAttribute("allow","autoplay; fullscreen"),n.setAttribute("scrolling","auto"),t.$iframe=n,"iframe"!==t.type||!1===t.preload)return n.setAttribute("src",t.src),void this.fancybox.setContent(t,n);i.showLoading(t);var o=document.createElement("div");o.style.visibility="hidden",this.fancybox.setContent(t,o),o.appendChild(n),n.onerror=function(){i.setError(t,"{{IFRAME_ERROR}}")},n.onload=function(){var s=!1;"yes"!==n.dataset.ready&&(n.dataset.ready="yes",s=!0),n.src.length&&(i.hideLoading(t),n.parentNode.style.visibility="",!1!==t.autoSize&&e.autoSizeIframe(n),s&&i.animateCSS(o,i.option("showClass")))},n.setAttribute("src",t.src)}},{key:"setAspectRatio",value:function(t){var e=t.ratio;if(e&&t.$content){t.$content.style.maxWidth="",t.$content.style.maxHeight="";var i=t.$content.offsetWidth,n=t.$content.offsetHeight,o=t.width,s=t.height;if(o&&s&&(i>o||n>s)){var a=Math.min(o/i,s/n);i*=a,n*=a}e\n \n Sorry, your browser doesn\'t support embedded videos, download and watch with your favorite video player!\n',format:""}};var O=function(t){var e=t.naturalWidth,i=t.naturalHeight,n=t.width,o=t.height,s=e/i,a={width:n,height:o};return s>n/o?a.height=n/s:a.width=o*s,a.left=.5*(n-a.width),a.right=e+a.left,a},N=function(){function t(e){i(this,t),this.fancybox=e;for(var n=0,o=["onReady","onClosing","onPageChange","onCreateSlide","onRemoveSlide","onRefresh","onImageStatusChange"];n.1),{top:l,left:c,scale:e.width/a,opacity:h}}},{key:"zoomIn",value:function(){var t=this.fancybox;if("init"!==t.Carousel.state){var e=t.getSlide(),i=e.Panzoom,n=this.getZoomInfo(e),o=n.top,s=n.left,a=n.scale,r=n.opacity;e.state="zoomIn",i.detachEvents(),t.trigger("reveal",e),i.panTo({x:-1*s,y:-1*o,scale:a,friction:0,ignoreBounds:!0}),e.$content.style.visibility="",!0===r&&i.on("afterTransform",(function(t){"zoomIn"!==e.state&&"zoomOut"!==e.state||(t.$content.style.opacity=Math.min(1,t.current.scale))})),i.panTo({x:0,y:0,scale:1,friction:this.fancybox.option("Image.zoomFriction")})}}},{key:"zoomOut",value:function(){var t=this,e=this.fancybox,i=e.getSlide(),n=i.Panzoom;if(n){i.state="zoomOut",e.state="customClosing",i.$caption&&(i.$caption.style.visibility="hidden");var o=.75*this.fancybox.option("Image.zoomFriction"),s=function(){var e=t.getZoomInfo(i),s=e.top,a=e.left,r=e.scale;n.panTo({x:-1*a,y:-1*s,scale:r,ignoreBounds:!0,friction:o}),o*=.98};window.addEventListener("scroll",s),n.on("afterAnimate",(function(){window.removeEventListener("scroll",s),e.destroy()})),s()}}},{key:"handleCursor",value:function(t){var e=t.Panzoom,i=this.fancybox.option("Image.click"),n=t.$el.classList;e&&"toggleZoom"===i?n[e&&1===e.current.scale&&e.option("maxScale")-e.current.scale>.01?"add":"remove"](this.fancybox.option("Image.canZoomInClass")):"close"===i&&n.add(this.fancybox.option("Image.canZoomOutClass"))}},{key:"onWheel",value:function(t,e){switch(this.fancybox.option("Image.wheel")){case"zoom":t.zoomWithWheel(e);break;case"close":this.fancybox.close();break;case"slide":this.fancybox[e.deltaY<0?"prev":"next"]()}e.preventDefault()}},{key:"onClick",value:function(t,e){if(!(this.fancybox.Carousel.Panzoom.drag.distance>=6||this.fancybox.Carousel.Panzoom.lockAxis||"IMG"!=e.target.tagName&&!e.target.classList.contains("fancybox__content")))switch(e.preventDefault(),e.stopPropagation(),this.fancybox.option("Image.click")){case"toggleZoom":var i=e.clientX-t.$content.getClientRects()[0].left,n=e.clientY-t.$content.getClientRects()[0].top;t.toggleZoom({x:i,y:n});break;case"close":this.fancybox.close();break;case"next":this.fancybox.next();break;case"prev":this.fancybox.prev()}}},{key:"onRefresh",value:function(t,e){var i=this;e.slides.forEach((function(t){t.Panzoom&&i.updateDimensions(t)}))}},{key:"onRemoveSlide",value:function(t,e,i){i.$image&&(i.$el.classList.remove(t.option("Image.canZoomInClass")),i.$image.onload=i.$image.onerror=null,i.$image.remove(),i.$image=null),i.Panzoom&&(i.Panzoom.destroy(),i.Panzoom=null),delete i.$el.dataset.imageFit}},{key:"onClosing",value:function(t){t.Carousel.slides.forEach((function(t){t.$image&&(t.$image.onload=t.$image.onerror=null),t.Panzoom&&t.Panzoom.detachEvents()})),"closing"===this.fancybox.state&&this.canZoom()&&this.zoomOut()}},{key:"onPageChange",value:function(t,e){var i=this,n=t.getSlide();e.slides.forEach((function(t){t.Panzoom&&"done"===t.state&&(t.index!==n.index?t.Panzoom.panTo({x:0,y:0,scale:1,friction:.8}):0===e.Panzoom.velocity.x&&i.revealContent(t))}))}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events)}}]),t}();N.defaults={Panzoom:{maxScale:1},canZoomInClass:"can-zoom_in",canZoomOutClass:"can-zoom_out",zoom:!0,zoomOpacity:"auto",zoomFriction:.8,ignoreCoveredThumbnail:!1,click:"toggleZoom",doubleClick:null,wheel:"zoom",fit:"contain"};var F=function(){var t=window.location.hash.substr(1),e=t.split("-"),i=e.length>1&&/^\+?\d+$/.test(e[e.length-1])&&parseInt(e.pop(-1),10)||null;return{hash:t,slug:e.join("-"),index:i}},B={ScrollLock:I,Thumbs:z,Html:R,Image:N,Hash:function(){function t(e){i(this,t),this.fancybox=e,this.events={closing:this.onClosing.bind(this),"Carousel.ready Carousel.change":this.onChange.bind(this)},this.hasCreatedHistory=!1,this.origHash="",this.timer=null}return o(t,[{key:"onChange",value:function(t,e){var i=this;this.timer&&clearTimeout(this.timer);var n=null===e.prevPage,o=t.getSlide(),s=o.$trigger&&o.$trigger.dataset,a=window.location.hash.substr(1),r=!1;if(o.slug)r=o.slug;else{var l=s&&s.fancybox;l&&l.length&&"true"!==l&&(r=l+(e.slides.length>1?"-"+(o.index+1):""))}n&&(this.origHash=a!==r?this.origHash:""),r&&a!==r&&(this.timer=setTimeout((function(){try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+"#"+r),n&&(i.hasCreatedHistory=!0)}catch(t){}}),300))}},{key:"onClosing",value:function(){if(this.timer&&clearTimeout(this.timer),!0!==this.hasSilentClose){if(!this.hasCreatedHistory)try{return void window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash?"#"+this.origHash:""))}catch(t){}window.history.back()}}},{key:"attach",value:function(t){t.on(this.events)}},{key:"detach",value:function(t){t.off(this.events)}}],[{key:"startFromUrl",value:function(){if(!t.Fancybox.getInstance()){var e=F(),i=e.hash,n=e.slug,o=e.index;if(n){var s=document.querySelector('[data-slug="'.concat(i,'"]'));if(s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),!t.Fancybox.getInstance()){var a=document.querySelectorAll('[data-fancybox="'.concat(n,'"]'));a.length&&(null===o&&1===a.length?s=a[0]:o&&(s=a[o-1]),s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}}}}},{key:"onHashChange",value:function(){var e=F(),i=e.slug,n=e.index,o=t.Fancybox.getInstance();if(o){if(i){var s,a=o.Carousel,r=p(a.slides);try{for(r.s();!(s=r.n()).done;){var l=s.value;if(l.slug&&l.slug===i)return a.slideTo(l.index)}}catch(t){r.e(t)}finally{r.f()}var c=o.getSlide(),h=c.$trigger&&c.$trigger.dataset;if(h&&h.fancybox===i)return a.slideTo(n-1)}o.plugins.Hash.hasSilentClose=!0,o.close()}t.startFromUrl()}},{key:"onReady",value:function(){window.addEventListener("hashchange",t.onHashChange,!1),t.startFromUrl()}},{key:"create",value:function(){D&&window.requestAnimationFrame((function(){t.onReady()}))}},{key:"destroy",value:function(){window.removeEventListener("hashchange",t.onHashChange,!1)}}]),t}()},W=0,H=null,U=function(t){s(n,t);var e=h(n);function n(t){var o,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i(this,n);var a,r=function(t,e){var i=m(!0,{},t[e.startIndex]||{});return t.forEach((function(t){var e=t.$trigger;if(e){var i=e.dataset||{};t.src=i.src||e.getAttribute("href")||t.src,t.type=i.type||t.type}})),m(!0,{},n.defaults,e,i)};return a=!1,document.createElement("div").focus({get preventScroll(){return a=!0,!1}}),H=a,(o=e.call(this,r(t,s))).state="init",o.items=t,o.bindHandlers(),o.attachPlugins(n.Plugins),o.trigger("init"),!0===o.option("hideScrollbar")&&o.hideScrollbar(),o.initLayout(),o.initCarousel(o.getSlides()),o.attachEvents(),o.state="ready",o.trigger("ready"),o.$container.setAttribute("aria-hidden","false"),o}return o(n,[{key:"bindHandlers",value:function(){for(var t=0,e=["onMousedown","onKeydown","onClick","onCreateSlide","onSettle","onTouchMove","onTouchEnd","onTransform"];t1?"x":"";return e.options.dragToClose&&(t+="y"),t}},on:{"*":function(t){for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o=150||Math.abs(e)>=35&&t.drag.elapsedTime<350)&&(this.option("hideClass")&&(this.getSlide().hideClass="fancybox-throwOut".concat(t.current.y<0?"Up":"Down")),this.close())}},{key:"onTransform",value:function(t){if(this.$backdrop){var e=Math.abs(t.current.y),i=e<1?"":Math.max(0,Math.min(1,1-e/t.$content.clientHeight*1.5));this.$container.style.setProperty("--fancybox-ts",i?"0s":""),this.$container.style.setProperty("--fancybox-opacity",i)}}},{key:"onMousedown",value:function(){document.body.classList.add("is-using-mouse")}},{key:"onKeydown",value:function(t){if(n.getInstance().id===this.id){document.body.classList.remove("is-using-mouse");var e=t.key;if("Tab"===e&&this.option("trapFocus"))this.focus(t);else{var i=this.option("keyboard");if(i&&!t.ctrlKey&&!t.altKey&&!t.shiftKey){var o=document.activeElement&&document.activeElement.classList,s=o&&o.contains("carousel__button");if("Escape"!==e&&!s)if(t.target.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(t.target.nodeName))return;if(!1!==this.trigger("keydown",e)){"Enter"!==e&&t.preventDefault();var a=i[e];"function"==typeof this[a]&&this[a]()}}}}}},{key:"getSlide",value:function(){var t=this.Carousel;if(!t)return null;var e=null===t.page?t.option("initialPage"):t.page,i=t.pages||[];return i.length&&i[e]?i[e].slides[0]:null}},{key:"focus",value:function(t){var e=function(t){t.setActive?t.setActive():H?t.focus({preventScroll:!0}):t.focus()};t&&t.preventDefault();var i=this.getSlide().$el;i.tabIndex=0;var n,o=[],s=p([].slice.call(this.$container.querySelectorAll(["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"]):not([disabled]):not([aria-hidden])'])));try{for(s.s();!(n=s.n()).done;){var a=n.value;if(!a.classList||!a.classList.contains("fancybox__slide")){var r=a.closest(".fancybox__slide");r?r===i&&o[a.hasAttribute("autofocus")?"unshift":"push"](a):o.push(a)}}}catch(t){s.e(t)}finally{s.f()}if(o.length){this.Carousel.pages.length>1&&o.push(i);var l=o.indexOf(document.activeElement),c=t&&!t.shiftKey,h=t&&t.shiftKey;return c?l===o.length-1?e(o[0]):e(o[l+1]):h?e(0===l?o[o.length-1]:o[l-1]):l<0?e(o[0]):void 0}}},{key:"hideScrollbar",value:function(){if(D){var t=window.innerWidth-document.documentElement.getBoundingClientRect().width,e="fancybox-style-noscroll",i=document.getElementById(e);i||t&&((i=document.createElement("style")).id=e,i.type="text/css",i.innerHTML=".compensate-for-scrollbar {padding-right: ".concat(t,"px;}"),document.getElementsByTagName("head")[0].appendChild(i),document.body.classList.add("compensate-for-scrollbar"))}}},{key:"revealScrollbar",value:function(){document.body.classList.remove("compensate-for-scrollbar");var t=document.getElementById("fancybox-style-noscroll");t&&t.remove()}},{key:"clearContent",value:function(t){this.Carousel.trigger("deleteSlide",t),t.$content&&(t.$content.remove(),t.$content=null),t._className&&t.$el.classList.remove(t._className)}},{key:"setContent",value:function(t,e){var i,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.$el;if(e instanceof HTMLElement?["img","iframe","video","audio"].indexOf(e.nodeName.toLowerCase())>-1?(i=document.createElement("div")).appendChild(e):i=e:(i=document.createElement("div")).innerHTML=e,!(i instanceof Element))throw new Error("Element expected");return t._className="has-".concat(n.suffix||t.type||"unknown"),o.classList.add(t._className),i.classList.add("fancybox__content"),"none"!==i.style.display&&"none"!==window.getComputedStyle(i).getPropertyValue("display")||(i.style.display="flex"),t.id&&i.setAttribute("id",t.id),t.$content=i,o.insertBefore(i,o.querySelector(".fancybox__caption")),this.manageCloseButton(t),"loading"!==t.state&&(this.trigger("load",t),this.revealContent(t)),i}},{key:"manageCloseButton",value:function(t){var e=this,i=void 0===t.closeButton?this.option("closeButton"):t.closeButton;if(i&&(!this.$closeButton||"inside"===i)){var n=document.createElement("button");n.classList.add("carousel__button","is-close"),n.setAttribute("title",this.options.l10n.CLOSE),n.innerHTML=this.option("template.closeButton"),n.addEventListener("click",(function(t){return e.close(t)})),"inside"===i?(t.$closeButton&&t.$closeButton.remove(),t.$closeButton=t.$content.appendChild(n)):this.$closeButton=this.$container.insertBefore(n,this.$container.firstChild)}}},{key:"revealContent",value:function(t){var e=this;if(this.trigger("reveal",t),t.$content.style.visibility="","error"!==t.state&&null===this.Carousel.prevPage&&t.index===this.options.startIndex){t.state="animating";var i=void 0===t.showClass?this.option("showClass"):t.showClass;this.animateCSS(t.$content,i,(function(){e.done(t)}))}else this.done(t)}},{key:"animateCSS",value:function(t,e,i){if(t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!0,cancelable:!0})),t&&e){t.addEventListener("animationend",(function n(o){o.currentTarget===this&&(t.classList.remove(e),t.removeEventListener("animationend",n),i&&i())})),t.classList.add(e)}else"function"==typeof i&&i()}},{key:"done",value:function(t){if("init"===this.state||"ready"===this.state){t.state="done",this.trigger("done",t);var e=this.getSlide();e&&t.index===e.index&&this.option("autoFocus")&&this.focus()}}},{key:"setError",value:function(t,e){this.hideLoading(t),this.clearContent(t),t.state="error";var i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

{{ERROR}}

"),this.setContent(t,i,{suffix:"error"})}},{key:"showLoading",value:function(t){var e=this;t.state="loading",t.$el.classList.add("is-loading");var i=t.$el.querySelector(".fancybox__spinner");i||((i=document.createElement("div")).classList.add("fancybox__spinner"),i.innerHTML=this.option("template.spinner"),i.addEventListener("click",(function(){e.Carousel.Panzoom.velocity||e.close()})),t.$el.insertBefore(i,t.$el.firstChild))}},{key:"hideLoading",value:function(t){var e=t.$el.querySelector(".fancybox__spinner");e&&e.remove(),t.$el.classList.remove("is-loading")}},{key:"next",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slideNext()}},{key:"prev",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slidePrev()}},{key:"jumpTo",value:function(){var t;this.Carousel&&(t=this.Carousel).slideTo.apply(t,arguments)}},{key:"close",value:function(t){var e=this;if(t&&t.preventDefault(),!(["closing","customClosing","destroy"].indexOf(this.state)>-1)&&!1!==this.trigger("shouldClose",t)&&(this.state="closing",this.Carousel.Panzoom.destroy(),this.detachEvents(),this.trigger("closing",t),"destroy"!==this.state)){this.$container.setAttribute("aria-hidden","true"),this.$container.classList.add("is-closing");var i=this.getSlide();if(this.Carousel.slides.forEach((function(t){t.$content&&t.index!==i.index&&t.$content.remove()})),"closing"===this.state){var n=void 0===i.hideClass?this.option("hideClass"):i.hideClass;this.animateCSS(i.$content,n,(function(){e.destroy()}))}}}},{key:"destroy",value:function(){this.state="destroy",this.trigger("destroy");var t=this.option("placeFocusBack")?this.getSlide().$trigger:null;if(this.Carousel.destroy(),this.detachPlugins(),this.Carousel=null,this.options={},this.events={},this.$container.remove(),this.$container=this.$backdrop=this.$carousel=null,t)if(H)t.focus({preventScroll:!0});else{var e=document.body.scrollTop;t.focus(),document.body.scrollTop=e}var i=n.getInstance();i?i.focus():(document.documentElement.classList.remove("with-fancybox"),document.body.classList.remove("is-using-mouse"),this.revealScrollbar())}}],[{key:"show",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new n(t,e)}},{key:"fromEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t.defaultPrevented&&!(t.button&&0!==t.button||t.ctrlKey||t.metaKey||t.shiftKey)){var i,o,s,a=!1,r=t.target;if((r.matches("[data-fancybox-trigger]")||(r=r.closest("[data-fancybox-trigger]")))&&(s=r&&r.dataset&&r.dataset.fancyboxTrigger),s){var l=document.querySelectorAll('[data-fancybox="'.concat(s,'"]')),c=parseInt(r.dataset.fancyboxIndex,10)||0;r=l.length?l[c]:r}r||(r=t.target),Array.from(n.openers.keys()).reverse().some((function(e){if((i=r).matches(e)||(i=i.closest(e)))return t.preventDefault(),o=e,!0})),o&&(e.target=i,i.origTarget=t.target,a=n.fromOpener(o,e));var h=n.getInstance();return h&&"ready"===h.state&&t.detail&&document.body.classList.add("is-using-mouse"),a}}},{key:"fromOpener",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(t){for(var e=["false","0","no","null"],i=["true","1","yes"],n=Object.assign({},t.dataset),o=0,s=Object.entries(n);o-1)n[r]=!1;else if(i.indexOf(n[r])>-1)n[r]=!0;else try{n[r]=JSON.parse(l)}catch(t){n[r]=l}}return delete n.fancybox,delete n.type,t instanceof Element&&(n.$trigger=t),n},o=[],s=e.startIndex||0,a=(e=m({},e,n.openers.get(t))).groupAttr;void 0===a&&(a="data-fancybox");var r=e.target;if(a){if(r&&t&&t==="[".concat(a,"]")){var l=r.getAttribute("".concat(a));t=!(!l||!l.length||"true"===l)&&"[".concat(a,"='").concat(l,"']")}}else t=!1;if(t&&(o=[].slice.call(document.querySelectorAll(t))),!o.length&&r&&(o=[r]),!o.length)return!1;var c=n.getInstance();return!(c&&o.indexOf(c.options.$trigger)>-1)&&(s=r?o.indexOf(r):s,new n(o=o.map(i),m({},e,{startIndex:s,$trigger:r})))}},{key:"bind",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(D){if(!n.openers.size){document.body.addEventListener("click",n.fromEvent,!1);for(var i=0,o=Object.entries(n.Plugins||{});i0&&void 0!==arguments[0])||arguments[0],e=null;e=n.getInstance();)if(e.close(),!t)return}}]),n}(k);U.version="4.0.0-alpha.2",U.defaults={startIndex:0,preload:1,infinite:!0,showClass:"fancybox-zoomInUp",hideClass:"fancybox-fadeOut",animated:!0,hideScrollbar:!0,parentEl:null,mainClass:null,autoFocus:!0,trapFocus:!0,placeFocusBack:!0,click:"close",closeButton:"inside",dragToClose:!0,keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"next",ArrowDown:"prev",ArrowRight:"next",ArrowLeft:"prev"},template:{closeButton:'',spinner:'',main:null},l10n:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page"}},U.openers=new Map,U.Plugins=B,U.isMobile=function(){return!!navigator&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},U.bind("[data-fancybox]"),t.Carousel=A,t.Fancybox=U,t.Panzoom=C}));