(function(){function r(){}var n=this,t=n._,e=Array.prototype,o=Object.prototype,u=Function.prototype,i=e.push,c=e.slice,s=o.toString,a=o.hasOwnProperty,f=Array.isArray,l=Object.keys,p=u.bind,h=Object.create,v=function(n){return n instanceof v?n:this instanceof v?void(this._wrapped=n):new v(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=v),exports._=v):n._=v,v.VERSION="1.8.3";var y=function(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 2:return function(n,t){return u.call(i,n,t)};case 3:return function(n,t,r){return u.call(i,n,t,r)};case 4:return function(n,t,r,e){return u.call(i,n,t,r,e)}}return function(){return u.apply(i,arguments)}},d=function(n,t,r){return null==n?v.identity:v.isFunction(n)?y(n,t,r):v.isObject(n)?v.matcher(n):v.property(n)};v.iteratee=function(n,t){return d(n,t,1/0)};function g(c,f){return function(n){var t=arguments.length;if(t<2||null==n)return n;for(var r=1;r":">",'"':""","'":"'","`":"`"},R=v.invert(T);v.escape=B(T),v.unescape=B(R),v.result=function(n,t,r){var e=null==n?void 0:n[t];return void 0===e&&(e=r),v.isFunction(e)?e.call(n):e};var q=0;v.uniqueId=function(n){var t=++q+"";return n?n+t:t},v.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function K(n){return"\\"+D[n]}var z=/(.)^/,D={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},L=/\\|'|\r|\n|\u2028|\u2029/g;v.template=function(i,n,t){!n&&t&&(n=t),n=v.defaults({},n,v.templateSettings);var r=RegExp([(n.escape||z).source,(n.interpolate||z).source,(n.evaluate||z).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(r,function(n,t,r,e,u){return a+=i.slice(o,u).replace(L,K),o=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{var e=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return e.call(this,n,v)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},v.chain=function(n){var t=v(n);return t._chain=!0,t};function P(n,t){return n._chain?v(t).chain():t}v.mixin=function(r){v.each(v.functions(r),function(n){var t=v[n]=r[n];v.prototype[n]=function(){var n=[this._wrapped];return i.apply(n,arguments),P(this,t.apply(v,n))}})},v.mixin(v),v.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];v.prototype[t]=function(){var n=this._wrapped;return r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],P(this,n)}}),v.each(["concat","join","slice"],function(n){var t=e[n];v.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),v.prototype.value=function(){return this._wrapped},v.prototype.valueOf=v.prototype.toJSON=v.prototype.value,v.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return v})}).call(this); window.Registry=(function (){ "use strict"; var modules={ }; var mode='grid'; function _testModule(module){ if(module.getInstance&&typeof module.getInstance==='function'){ return true; }else{ return false; }} function register(name, module){ if(_testModule(module)){ modules[name]=module; }else{ throw new Error('Invalide module "' + name + '". The function "getInstance" is not defined.'); }} function registryMap(map){ for(var name in map){ if(!map.hasOwnProperty(name)){ continue; } if(_testModule(map[name])){ modules[name]=map[name]; }else{ throw new Error('Invalide module "' + name + '" inside the collection. The function "getInstance" is not defined.'); }} } function unregister(name){ delete modules[name]; } function _get(name){ var module=modules[name]; if(!module){ throw new Error('The module "' + name + '" has not been registered or it was unregistered.'); } if(typeof module.getInstance!=='function'){ throw new Error('The module "' + name + '" can not be instantiated. ' + 'The function "getInstance" is not defined.'); } return modules[name].getInstance(); } function getMode(){ return mode; } function setMode(modeName){ mode=modeName; return mode; } return { register: register, unregister: unregister, _get: _get, registryMap: registryMap, getMode: getMode, setMode: setMode };})(); !function(e,t,s,i){"use strict";function l(t,i){if(this.el=t,this.$el=e(t),this.s=e.extend({},o,i),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in s.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.s.dynamic?this.$items=this.s.dynamicEl:"this"===this.s.selector?this.$items=this.$el:""!==this.s.selector?this.s.selectWithin?this.$items=e(this.s.selectWithin).find(this.s.selector):this.$items=this.$el.find(e(this.s.selector)):this.$items=this.$el.children(),this.$slide="",this.$outer="",this.init(),this}var o={mode:"lg-slide",cssEasing:"ease",easing:"linear",speed:600,height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:150,hideBarsDelay:6e3,useLeft:!1,closable:!0,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimatoin:!0,hideControlOnEnd:!1,mousewheel:!0,getCaptionFromTitleOrAlt:!0,appendSubHtmlTo:".lg-sub-html",preload:1,showAfterLoad:!0,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:!1,iframeMaxWidth:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],galleryId:1};l.prototype.init=function(){var s=this;s.s.preload>s.$items.length&&(s.s.preload=s.$items.length);var i=t.location.hash;i.indexOf("lg="+this.s.galleryId)>0&&(s.index=parseInt(i.split("&slide=")[1],10),e("body").addClass("lg-from-hash"),e("body").hasClass("lg-on")||setTimeout(function(){s.build(s.index),e("body").addClass("lg-on")})),s.s.dynamic?(s.$el.trigger("onBeforeOpen.lg"),s.index=s.s.index||0,e("body").hasClass("lg-on")||setTimeout(function(){s.build(s.index),e("body").addClass("lg-on")})):s.$items.on("click.lgcustom",function(t){try{t.preventDefault(),t.preventDefault()}catch(i){t.returnValue=!1}s.$el.trigger("onBeforeOpen.lg"),s.index=s.s.index||s.$items.index(this),e("body").hasClass("lg-on")||(s.build(s.index),e("body").addClass("lg-on"))})},l.prototype.build=function(t){var s=this;s.structure(),e.each(e.fn.lightGallery.modules,function(t){s.modules[t]=new e.fn.lightGallery.modules[t](s.el)}),s.slide(t,!1,!1),s.s.keyPress&&s.keyPress(),s.$items.length>1&&(s.arrow(),setTimeout(function(){s.enableDrag(),s.enableSwipe()},50),s.s.mousewheel&&s.mousewheel()),s.counter(),s.closeGallery(),s.$el.trigger("onAfterOpen.lg"),s.$outer.on("mousemove.lg click.lg touchstart.lg",function(){s.$outer.removeClass("lg-hide-items"),clearTimeout(s.hideBartimeout),s.hideBartimeout=setTimeout(function(){s.$outer.addClass("lg-hide-items")},s.s.hideBarsDelay)})},l.prototype.structure=function(){var s,i="",l="",o=0,a="",n=this;for(e("body").append('
'),e(".lg-backdrop").css("transition-duration",this.s.backdropDuration+"ms"),o=0;o';if(this.s.controls&&this.$items.length>1&&(l='
'+this.s.prevHtml+'
'+this.s.nextHtml+"
"),".lg-sub-html"===this.s.appendSubHtmlTo&&(a='
'),s='
'+i+'
'+l+a+"
",e("body").append(s),this.$outer=e(".lg-outer"),this.$slide=this.$outer.find(".lg-item"),this.s.useLeft?(this.$outer.addClass("lg-use-left"),this.s.mode="lg-slide"):this.$outer.addClass("lg-use-css3"),n.setTop(),e(t).on("resize.lg orientationchange.lg",function(){setTimeout(function(){n.setTop()},100)}),this.$slide.eq(this.index).addClass("lg-current"),this.doCss()?this.$outer.addClass("lg-css3"):(this.$outer.addClass("lg-css"),this.s.speed=0),this.$outer.addClass(this.s.mode),this.s.enableDrag&&this.$items.length>1&&this.$outer.addClass("lg-grab"),this.s.showAfterLoad&&this.$outer.addClass("lg-show-after-load"),this.doCss()){var d=this.$outer.find(".lg-inner");d.css("transition-timing-function",this.s.cssEasing),d.css("transition-duration",this.s.speed+"ms")}e(".lg-backdrop").addClass("in"),setTimeout(function(){n.$outer.addClass("lg-visible")},this.s.backdropDuration),this.s.download&&this.$outer.find(".lg-toolbar").append(''),this.prevScrollTop=e(t).scrollTop()},l.prototype.setTop=function(){if("100%"!==this.s.height){var s=e(t).height(),i=(s-parseInt(this.s.height,10))/2,l=this.$outer.find(".lg");s>=parseInt(this.s.height,10)?l.css("top",i+"px"):l.css("top","0px")}},l.prototype.doCss=function(){var e=function(){var e=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],t=s.documentElement,i=0;for(i=0;i'+(parseInt(this.index,10)+1)+' / '+this.$items.length+"")},l.prototype.addHtml=function(t){var s,i=null;if(this.s.dynamic?this.s.dynamicEl[t].subHtmlUrl?s=this.s.dynamicEl[t].subHtmlUrl:i=this.s.dynamicEl[t].subHtml:this.$items.eq(t).attr("data-sub-html-url")?s=this.$items.eq(t).attr("data-sub-html-url"):(i=this.$items.eq(t).attr("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!i&&(i=this.$items.eq(t).attr("title")||this.$items.eq(t).find("img").first().attr("alt"))),!s)if("undefined"!=typeof i&&null!==i){var l=i.substring(0,1);("."===l||"#"===l)&&(i=e(i).html())}else i="";".lg-sub-html"===this.s.appendSubHtmlTo?s?this.$outer.find(this.s.appendSubHtmlTo).load(s):this.$outer.find(this.s.appendSubHtmlTo).html(i):s?this.$slide.eq(t).load(s):this.$slide.eq(t).append(i),"undefined"!=typeof i&&null!==i&&(""===i?this.$outer.find(this.s.appendSubHtmlTo).addClass("lg-empty-html"):this.$outer.find(this.s.appendSubHtmlTo).removeClass("lg-empty-html")),this.$el.trigger("onAfterAppendSubHtml.lg",[t])},l.prototype.preload=function(e){var t=1,s=1;for(t=1;t<=this.s.preload&&!(t>=this.$items.length-e);t++)this.loadContent(e+t,!1,0);for(s=1;s<=this.s.preload&&!(0>e-s);s++)this.loadContent(e-s,!1,0)},l.prototype.loadContent=function(s,i,l){var o,a,n,d,r,g,h=this,u=!1,c=function(s){for(var i=[],l=[],o=0;od){a=l[r];break}};if(h.s.dynamic){if(h.s.dynamicEl[s].poster&&(u=!0,n=h.s.dynamicEl[s].poster),g=h.s.dynamicEl[s].html,a=h.s.dynamicEl[s].src,h.s.dynamicEl[s].responsive){var m=h.s.dynamicEl[s].responsive.split(",");c(m)}d=h.s.dynamicEl[s].srcset,r=h.s.dynamicEl[s].sizes}else{if(h.$items.eq(s).attr("data-poster")&&(u=!0,n=h.$items.eq(s).attr("data-poster")),g=h.$items.eq(s).attr("data-html"),a=h.$items.eq(s).attr("href")||h.$items.eq(s).attr("data-src"),h.$items.eq(s).attr("data-responsive")){var p=h.$items.eq(s).attr("data-responsive").split(",");c(p)}d=h.$items.eq(s).attr("data-srcset"),r=h.$items.eq(s).attr("data-sizes")}var f=!1;h.s.dynamic?h.s.dynamicEl[s].iframe&&(f=!0):"true"===h.$items.eq(s).attr("data-iframe")&&(f=!0);var v=h.isVideo(a,s);if(!h.$slide.eq(s).hasClass("lg-loaded")){if(f)h.$slide.eq(s).prepend('
');else if(u){var $="";$=v&&v.youtube?"lg-has-youtube":v&&v.vimeo?"lg-has-vimeo":"lg-has-html5",h.$slide.eq(s).prepend('
')}else v?(h.$slide.eq(s).prepend('
'),h.$el.trigger("hasVideo.lg",[s,a,g])):h.$slide.eq(s).prepend('
');if(h.$el.trigger("onAferAppendSlide.lg",[s]),o=h.$slide.eq(s).find(".lg-object"),r&&o.attr("sizes",r),d){o.attr("srcset",d);try{picturefill({elements:[o[0]]})}catch(y){console.error("Make sure you have included Picturefill version 2")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&h.addHtml(s),h.$slide.eq(s).addClass("lg-loaded")}h.$slide.eq(s).find(".lg-object").on("load.lg error.lg",function(){var t=0;l&&!e("body").hasClass("lg-from-hash")&&(t=l),setTimeout(function(){h.$slide.eq(s).addClass("lg-complete"),h.$el.trigger("onSlideItemLoad.lg",[s,l||0])},t)}),v&&v.html5&&!u&&h.$slide.eq(s).addClass("lg-complete"),i===!0&&(h.$slide.eq(s).hasClass("lg-complete")?h.preload(s):h.$slide.eq(s).find(".lg-object").on("load.lg error.lg",function(){h.preload(s)}))},l.prototype.slide=function(t,s,i){var l=this.$outer.find(".lg-current").index(),o=this;if(!o.lGalleryOn||l!==t){var a=this.$slide.length,n=o.lGalleryOn?this.s.speed:0,d=!1,r=!1;if(!o.lgBusy){if(this.s.download){var g;g=o.s.dynamic?o.s.dynamicEl[t].downloadUrl!==!1&&(o.s.dynamicEl[t].downloadUrl||o.s.dynamicEl[t].src):"false"!==o.$items.eq(t).attr("data-download-url")&&(o.$items.eq(t).attr("data-download-url")||o.$items.eq(t).attr("href")||o.$items.eq(t).attr("data-src")),g?(e("#lg-download").attr("href",g),o.$outer.removeClass("lg-hide-download")):o.$outer.addClass("lg-hide-download")}if(this.$el.trigger("onBeforeSlide.lg",[l,t,s,i]),o.lgBusy=!0,clearTimeout(o.hideBartimeout),".lg-sub-html"===this.s.appendSubHtmlTo&&setTimeout(function(){o.addHtml(t)},n),this.arrowDisable(t),s){var h=t-1,u=t+1;0===t&&l===a-1?(u=0,h=a-1):t===a-1&&0===l&&(u=0,h=a-1),this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"),o.$slide.eq(h).addClass("lg-prev-slide"),o.$slide.eq(u).addClass("lg-next-slide"),o.$slide.eq(t).addClass("lg-current")}else o.$outer.addClass("lg-no-trans"),this.$slide.removeClass("lg-prev-slide lg-next-slide"),l>t?(r=!0,0!==t||l!==a-1||i||(r=!1,d=!0)):t>l&&(d=!0,t!==a-1||0!==l||i||(r=!0,d=!1)),r?(this.$slide.eq(t).addClass("lg-prev-slide"),this.$slide.eq(l).addClass("lg-next-slide")):d&&(this.$slide.eq(t).addClass("lg-next-slide"),this.$slide.eq(l).addClass("lg-prev-slide")),setTimeout(function(){o.$slide.removeClass("lg-current"),o.$slide.eq(t).addClass("lg-current"),o.$outer.removeClass("lg-no-trans")},50);o.lGalleryOn?(setTimeout(function(){o.loadContent(t,!0,0)},this.s.speed+50),setTimeout(function(){o.lgBusy=!1,o.$el.trigger("onAfterSlide.lg",[l,t,s,i])},this.s.speed)):(o.loadContent(t,!0,o.s.backdropDuration),o.lgBusy=!1,o.$el.trigger("onAfterSlide.lg",[l,t,s,i])),o.lGalleryOn=!0,this.s.counter&&e("#lg-counter-current").text(t+1)}}},l.prototype.goToNextSlide=function(e){var t=this;t.lgBusy||(t.index+10?(t.index--,t.$el.trigger("onBeforePrevSlide.lg",[t.index,e]),t.slide(t.index,e,!1)):t.s.loop?(t.index=t.$items.length-1,t.$el.trigger("onBeforePrevSlide.lg",[t.index,e]),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(t.$outer.addClass("lg-left-end"),setTimeout(function(){t.$outer.removeClass("lg-left-end")},400)))},l.prototype.keyPress=function(){var s=this;this.$items.length>1&&e(t).on("keyup.lg",function(e){s.$items.length>1&&(37===e.keyCode&&(e.preventDefault(),s.goToPrevSlide()),39===e.keyCode&&(e.preventDefault(),s.goToNextSlide()))}),e(t).on("keydown.lg",function(e){s.s.escKey===!0&&27===e.keyCode&&(e.preventDefault(),s.$outer.hasClass("lg-thumb-open")?s.$outer.removeClass("lg-thumb-open"):s.destroy())})},l.prototype.arrow=function(){var e=this;this.$outer.find(".lg-prev").on("click.lg",function(){e.goToPrevSlide()}),this.$outer.find(".lg-next").on("click.lg",function(){e.goToNextSlide()})},l.prototype.arrowDisable=function(e){!this.s.loop&&this.s.hideControlOnEnd&&(e+10?this.$outer.find(".lg-prev").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-prev").attr("disabled","disabled").addClass("disabled"))},l.prototype.setTranslate=function(e,t,s){this.s.useLeft?e.css("left",t):e.css({transform:"translate3d("+t+"px, "+s+"px, 0px)"})},l.prototype.touchMove=function(t,s){var i=s-t;Math.abs(i)>15&&(this.$outer.addClass("lg-dragging"),this.setTranslate(this.$slide.eq(this.index),i,0),this.setTranslate(e(".lg-prev-slide"),-this.$slide.eq(this.index).width()+i,0),this.setTranslate(e(".lg-next-slide"),this.$slide.eq(this.index).width()+i,0))},l.prototype.touchEnd=function(e){var t=this;"lg-slide"!==t.s.mode&&t.$outer.addClass("lg-slide"),this.$slide.not(".lg-current, .lg-prev-slide, .lg-next-slide").css("opacity","0"),setTimeout(function(){t.$outer.removeClass("lg-dragging"),0>e&&Math.abs(e)>t.s.swipeThreshold?t.goToNextSlide(!0):e>0&&Math.abs(e)>t.s.swipeThreshold?t.goToPrevSlide(!0):Math.abs(e)<5&&t.$el.trigger("onSlideClick.lg"),t.$slide.removeAttr("style")}),setTimeout(function(){t.$outer.hasClass("lg-dragging")||"lg-slide"===t.s.mode||t.$outer.removeClass("lg-slide")},t.s.speed+100)},l.prototype.enableSwipe=function(){var e=this,t=0,s=0,i=!1;e.s.enableSwipe&&e.isTouch&&e.doCss()&&(e.$slide.on("touchstart.lg",function(s){e.$outer.hasClass("lg-zoomed")||e.lgBusy||(s.preventDefault(),e.manageSwipeClass(),t=s.originalEvent.targetTouches[0].pageX)}),e.$slide.on("touchmove.lg",function(l){e.$outer.hasClass("lg-zoomed")||(l.preventDefault(),s=l.originalEvent.targetTouches[0].pageX,e.touchMove(t,s),i=!0)}),e.$slide.on("touchend.lg",function(){e.$outer.hasClass("lg-zoomed")||(i?(i=!1,e.touchEnd(s-t)):e.$el.trigger("onSlideClick.lg"))}))},l.prototype.enableDrag=function(){var s=this,i=0,l=0,o=!1,a=!1;s.s.enableDrag&&!s.isTouch&&s.doCss()&&(s.$slide.on("mousedown.lg",function(t){s.$outer.hasClass("lg-zoomed")||(e(t.target).hasClass("lg-object")||e(t.target).hasClass("lg-video-play"))&&(t.preventDefault(),s.lgBusy||(s.manageSwipeClass(),i=t.pageX,o=!0,s.$outer.scrollLeft+=1,s.$outer.scrollLeft-=1,s.$outer.removeClass("lg-grab").addClass("lg-grabbing"),s.$el.trigger("onDragstart.lg")))}),e(t).on("mousemove.lg",function(e){o&&(a=!0,l=e.pageX,s.touchMove(i,l),s.$el.trigger("onDragmove.lg"))}),e(t).on("mouseup.lg",function(t){a?(a=!1,s.touchEnd(l-i),s.$el.trigger("onDragend.lg")):(e(t.target).hasClass("lg-object")||e(t.target).hasClass("lg-video-play"))&&s.$el.trigger("onSlideClick.lg"),o&&(o=!1,s.$outer.removeClass("lg-grabbing").addClass("lg-grab"))}))},l.prototype.manageSwipeClass=function(){var e=this.index+1,t=this.index-1,s=this.$slide.length;this.s.loop&&(0===this.index?t=s-1:this.index===s-1&&(e=0)),this.$slide.removeClass("lg-next-slide lg-prev-slide"),t>-1&&this.$slide.eq(t).addClass("lg-prev-slide"),this.$slide.eq(e).addClass("lg-next-slide")},l.prototype.mousewheel=function(){var e=this;e.$outer.on("mousewheel.lg",function(t){t.deltaY&&(t.deltaY>0?e.goToPrevSlide():e.goToNextSlide(),t.preventDefault())})},l.prototype.closeGallery=function(){var t=this,s=!1;this.$outer.find(".lg-close").on("click.lg",function(){t.destroy()}),t.s.closable&&(t.$outer.on("mousedown.lg",function(t){s=e(t.target).is(".lg-outer")||e(t.target).is(".lg-item ")||e(t.target).is(".lg-img-wrap")?!0:!1}),t.$outer.on("mouseup.lg",function(i){(e(i.target).is(".lg-outer")||e(i.target).is(".lg-item ")||e(i.target).is(".lg-img-wrap")&&s)&&(t.$outer.hasClass("lg-dragging")||t.destroy())}))},l.prototype.destroy=function(s){var i=this;s||i.$el.trigger("onBeforeClose.lg"),e(t).scrollTop(i.prevScrollTop),s&&(i.s.dynamic||this.$items.off("click.lg click.lgcustom"),e.removeData(i.el,"lightGallery")),this.$el.off(".lg.tm"),e.each(e.fn.lightGallery.modules,function(e){i.modules[e]&&i.modules[e].destroy()}),this.lGalleryOn=!1,clearTimeout(i.hideBartimeout),this.hideBartimeout=!1,e(t).off(".lg"),e("body").removeClass("lg-on lg-from-hash"),i.$outer&&i.$outer.removeClass("lg-visible"),e(".lg-backdrop").removeClass("in"),setTimeout(function(){i.$outer&&i.$outer.remove(),e(".lg-backdrop").remove(),s||i.$el.trigger("onCloseAfter.lg")},i.s.backdropDuration+50)},e.fn.lightGallery=function(t){return this.each(function(){if(e.data(this,"lightGallery"))try{e(this).data("lightGallery").init()}catch(s){console.error("lightGallery has not initiated properly")}else e.data(this,"lightGallery",new l(this,t))})},e.fn.lightGallery.modules={}}(jQuery,window,document); !function(e,t,s,i){"use strict";var l={autoplay:!1,pause:5e3,progressBar:!0,fourceAutoplay:!1,autoplayControls:!0,appendAutoplayControlsTo:".lg-toolbar"},o=function(t){return this.core=e(t).data("lightGallery"),this.$el=e(t),this.core.$items.length<2?!1:(this.core.s=e.extend({},l,this.core.s),this.interval=!1,this.fromAuto=!0,this.canceledOnTouch=!1,this.fourceAutoplayTemp=this.core.s.fourceAutoplay,this.core.doCss()||(this.core.s.progressBar=!1),this.init(),this)};o.prototype.init=function(){var e=this;e.core.s.autoplayControls&&e.controls(),e.core.s.progressBar&&e.core.$outer.find(".lg").append('
'),e.progress(),e.core.s.autoplay&&e.startlAuto(),e.$el.on("onDragstart.lg.tm touchstart.lg.tm",function(){e.interval&&(e.cancelAuto(),e.canceledOnTouch=!0)}),e.$el.on("onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm",function(){!e.interval&&e.canceledOnTouch&&(e.startlAuto(),e.canceledOnTouch=!1)})},o.prototype.progress=function(){var e,t,s=this;s.$el.on("onBeforeSlide.lg.tm",function(){s.core.s.progressBar&&s.fromAuto&&(e=s.core.$outer.find(".lg-progress-bar"),t=s.core.$outer.find(".lg-progress"),s.interval&&(t.removeAttr("style"),e.removeClass("lg-start"),setTimeout(function(){t.css("transition","width "+(s.core.s.speed+s.core.s.pause)+"ms ease 0s"),e.addClass("lg-start")},20))),s.fromAuto||s.core.s.fourceAutoplay||s.cancelAuto(),s.fromAuto=!1})},o.prototype.controls=function(){var t=this,s='';e(this.core.s.appendAutoplayControlsTo).append(s),t.core.$outer.find(".lg-autoplay-button").on("click.lg",function(){e(t.core.$outer).hasClass("lg-show-autoplay")?(t.cancelAuto(),t.core.s.fourceAutoplay=!1):t.interval||(t.startlAuto(),t.core.s.fourceAutoplay=t.fourceAutoplayTemp)})},o.prototype.startlAuto=function(){var e=this;e.core.$outer.find(".lg-progress").css("transition","width "+(e.core.s.speed+e.core.s.pause)+"ms ease 0s"),e.core.$outer.addClass("lg-show-autoplay"),e.core.$outer.find(".lg-progress-bar").addClass("lg-start"),e.interval=setInterval(function(){e.core.index+11&&(this.core.s.showThumbByDefault&&setTimeout(function(){e.core.$outer.addClass("lg-thumb-open")},700),this.core.s.pullCaptionUp&&this.core.$outer.addClass("lg-pull-caption-up"),this.build(),this.core.s.animateThumb?(this.core.s.enableThumbDrag&&!this.core.isTouch&&this.core.doCss()&&this.enableThumbDrag(),this.core.s.enableThumbSwipe&&this.core.isTouch&&this.core.doCss()&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toogle(),this.thumbkeyPress())},o.prototype.build=function(){function s(e,t,s){var i,r=l.core.isVideo(e,s)||{},n="";r.youtube||r.vimeo||r.dailymotion?r.youtube?i=l.core.s.loadYoutubeThumbnail?"//img.youtube.com/vi/"+r.youtube[1]+"/"+l.core.s.youtubeThumbSize+".jpg":t:r.vimeo?l.core.s.loadVimeoThumbnail?(i="//i.vimeocdn.com/video/error_"+a+".jpg",n=r.vimeo[1]):i=t:r.dailymotion&&(i=l.core.s.loadDailymotionThumbnail?"//www.dailymotion.com/thumbnail/video/"+r.dailymotion[1]:t):i=t,o+='
',n=""}var i,l=this,o="",a="",r='
';switch(this.core.s.vimeoThumbSize){case"thumbnail_large":a="640";break;case"thumbnail_medium":a="200x150";break;case"thumbnail_small":a="100x75"}if(l.core.$outer.addClass("lg-has-thumb"),l.core.$outer.find(".lg").append(r),l.$thumbOuter=l.core.$outer.find(".lg-thumb-outer"),l.thumbOuterWidth=l.$thumbOuter.width(),l.core.s.animateThumb&&l.core.$outer.find(".lg-thumb").css({width:l.thumbTotalWidth+"px",position:"relative"}),this.core.s.animateThumb&&l.$thumbOuter.css("height",l.core.s.thumbContHeight+"px"),l.core.s.dynamic)for(var n=0;nthis.thumbTotalWidth-this.thumbOuterWidth&&(this.left=this.thumbTotalWidth-this.thumbOuterWidth),this.left<0&&(this.left=0),this.core.lGalleryOn?(t.hasClass("on")||this.core.$outer.find(".lg-thumb").css("transition-duration",this.core.s.speed+"ms"),this.core.doCss()||t.animate({left:-this.left+"px"},this.core.s.speed)):this.core.doCss()||t.css("left",-this.left+"px"),this.setTranslate(this.left)}},o.prototype.enableThumbDrag=function(){var s=this,i=0,l=0,o=!1,a=!1,r=0;s.$thumbOuter.addClass("lg-grab"),s.core.$outer.find(".lg-thumb").on("mousedown.lg.thumb",function(e){s.thumbTotalWidth>s.thumbOuterWidth&&(e.preventDefault(),i=e.pageX,o=!0,s.core.$outer.scrollLeft+=1,s.core.$outer.scrollLeft-=1,s.thumbClickable=!1,s.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))}),e(t).on("mousemove.lg.thumb",function(e){o&&(r=s.left,a=!0,l=e.pageX,s.$thumbOuter.addClass("lg-dragging"),r-=l-i,r>s.thumbTotalWidth-s.thumbOuterWidth&&(r=s.thumbTotalWidth-s.thumbOuterWidth),0>r&&(r=0),s.setTranslate(r))}),e(t).on("mouseup.lg.thumb",function(){a?(a=!1,s.$thumbOuter.removeClass("lg-dragging"),s.left=r,Math.abs(l-i)e.thumbOuterWidth&&(s.preventDefault(),t=s.originalEvent.targetTouches[0].pageX,e.thumbClickable=!1)}),e.core.$outer.find(".lg-thumb").on("touchmove.lg",function(o){e.thumbTotalWidth>e.thumbOuterWidth&&(o.preventDefault(),s=o.originalEvent.targetTouches[0].pageX,i=!0,e.$thumbOuter.addClass("lg-dragging"),l=e.left,l-=s-t,l>e.thumbTotalWidth-e.thumbOuterWidth&&(l=e.thumbTotalWidth-e.thumbOuterWidth),0>l&&(l=0),e.setTranslate(l))}),e.core.$outer.find(".lg-thumb").on("touchend.lg",function(){e.thumbTotalWidth>e.thumbOuterWidth&&i?(i=!1,e.$thumbOuter.removeClass("lg-dragging"),Math.abs(s-t)'),e.core.$outer.find(".lg-toogle-thumb").on("click.lg",function(){e.core.$outer.toggleClass("lg-thumb-open")}))},o.prototype.thumbkeyPress=function(){var s=this;e(t).on("keydown.lg.thumb",function(e){38===e.keyCode?(e.preventDefault(),s.core.$outer.addClass("lg-thumb-open")):40===e.keyCode&&(e.preventDefault(),s.core.$outer.removeClass("lg-thumb-open"))})},o.prototype.destroy=function(){this.core.s.thumbnail&&this.core.$items.length>1&&(e(t).off("resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb"),this.$thumbOuter.remove(),this.core.$outer.removeClass("lg-has-thumb"))},e.fn.lightGallery.modules.Thumbnail=o}(jQuery,window,document); (function($){ "use strict"; $(document).ready(function (){ $('.tm-pg_frontend').each(function (){ var id=$(this).attr('data-id'); Registry._get("grid").init(id); }); var select=$('.filter-select'); $(document).on('click', '.filter-select .filter-select__panel', function (){ if(select.hasClass('open')){ select.removeClass('open'); }else{ select.addClass('open'); }}); $(document).on('click', function(event){ if($(event.target).closest(select).length||$(event.target).closest(select).length){ return; } if(select.hasClass('open')){ select.removeClass('open'); } event.stopPropagation(); }); }); })(jQuery); Registry.register("grid",(function($){ "use strict"; var state, prefix='.tm-pg_frontend'; function __$(value){ return $(__s(value)); } function __s(value){ if(_.isUndefined(state.ID)){ return prefix + ' ' + value; }else{ return prefix + '[data-id="' + state.ID + '"] ' + value; }} function __(value){ return Registry._get(value); } function _onClick(selector, callback){ $(document).off('click', __s(selector)).on('click', __s(selector), function(e){ e.preventDefault(); if(!_.isUndefined(callback)&&_.isFunction(callback)){ callback(this, e); }}); } function createInstance(){ return { body: $('html, body'), wpadminbar: $('#wpadminbar'), ID: 0, _item: '.tm_pg_gallery-item', _item_wrapper: '.tm_pg_gallery-item-wrapper', _preloader: '.tm-pg_front_gallery-preloader', _load: { grid: '.tm_pg_gallery-item_show-more', btn: '.load-more-button' }, _content: { gallery: '.tm-pg_front_gallery', grid: '.tm-pg_front_gallery-grid .row', masonry: '.tm-pg_front_gallery-masonry', justify: '.tm-pg_front_gallery-justify' }, _pagination: { content: '.tm-pg_front_gallery-navigation', numbers: '.tm-pg_front_gallery-navigation nav' }, _filter: { line: { item: '.tm-pg_front_gallery-tabs li a', content: '.tm-pg_front_gallery-tabs' }, dropdown: { item: '.filter-select__list li a', content: '.filter-select' }}, _input: { term_id: 'input[name="term_id"]', term_type: 'input[name="term_type"]', offset: 'input[name="offset"]', per_page: 'input[name="images_per_page"]', count: 'input[name="all_count"]' }, getID: function($this){ return $this.parents(prefix).data('id'); }, clickPagination: function(page, $parent, callback){ var $offset=$parent.siblings(state._input.offset), $images_per_page=$parent.siblings(state._input.per_page); $parent.find('a').removeClass('current'); page--; $offset.val(parseInt($images_per_page.val(), 10) * page); state.ID=state.getID($parent); state.loadMore('replase', function (){ if(page > 0){ $parent.find('a.prev').show(); }else{ $parent.find('a.prev').hide(); } page++; if(page < $parent.find('nav').data('count')){ $parent.find('a.next').show(); }else{ $parent.find('a.next').hide(); } if(!_.isUndefined(callback)&&_.isFunction(callback)){ callback(); }}); }, init: function(id){ var view, gallery; state.ID=id; state.checkLoadMore(); state.initEvents(); __('slider').init(id); view=$(prefix + '[data-id="' + state.ID + '"]').data('view'); gallery=__$(state._content[view]); gallery.imagesLoaded(function(){ if('grid'===view){ state.setLoadMoreGirdHeight(); $(window).resize(function(){ state.gridBtnHeight=0; state.setLoadMoreGirdHeight(); }); } if('masonry'===view){ gallery.masonry({ itemSelector: state._item, }); } if('justify'===view){ state.justifiedLayoutRender(); }}); }, initEvents: function (){ var container=prefix + '[data-id="' + state.ID + '"]'; $(container).on('click', state._load.grid + ' a', state.onClickLoadMore.bind(this)); $(container).on('click', state._load.btn + ' a', state.onClickLoadMoreBtn.bind(this)); $(container).on('click', state._pagination.content + ' a', state.onClickPagination.bind(this)); $(container).on('click', state._filter.dropdown.item, state.onClickFilterItem.bind(this)); $(container).on('click', state._filter.line.item, state.onClickFilterItem.bind(this)); }, onLoadGrid: function(e){ console.log(e); }, onClickFilterItem: function(e){ e.preventDefault(); state.sortGrid($(e.currentTarget)); }, onClickPagination: function(e){ e.preventDefault(); var $this=$(e.currentTarget), $parent=$this.parents(state._pagination.content); if($this.hasClass('current')){ return false; } if($this.hasClass('next')){ var page=$parent.find('a.current').text(); state.clickPagination(++page, $parent, function (){ $parent.find('a[data-pos="' + page + '"]').addClass('current'); }); }else if($this.hasClass('prev')){ var page=$parent.find('a.current').text(); state.clickPagination(--page, $parent, function (){ $parent.find('a[data-pos="' + page + '"]').addClass('current'); }); }else{ state.clickPagination($this.text(), $parent, function (){ $this.addClass('current'); }); }}, onClickLoadMore: function(e){ e.preventDefault(); state.ID=state.getID($(e.currentTarget)); state.loadMore('append'); }, onClickLoadMoreBtn: function(e){ e.preventDefault(); state.ID=state.getID($(e.currentTarget)); state.loadMore('append'); }, updateURLParameter: function(param, paramVal){ if(history.pushState){ var newurl=window.location.protocol + "//" + window.location.host + window.location.pathname + '?' + param + '=' + paramVal; window.history.pushState({ path: newurl }, '', newurl); }}, loadMore: function(type, callback){ if(_.isUndefined(type)){ type='append'; } var $offset=__$(state._input.offset), $images_per_page=__$(state._input.per_page), $term_id=__$(state._input.term_id), $term_type=__$(state._input.term_type), view=$(prefix + '[data-id="' + state.ID + '"]').data('view'), gallery=__$(state._content[view]), preloader=__$(state._preloader), topOffset, wpadminbarHeight, loadMoreGrid=__$(state._load.grid), newItems=[]; if(_.isEqual(type, 'append')){ loadMoreGrid.addClass('tm_pg_loading'); loadMoreGrid.find('.preloader').show(); if(!$offset.val()){ $offset.val(Number($offset.val()) + Number($images_per_page.val())); }} if(_.isEqual(type, 'replase')){ gallery.css('height', gallery.height()); wpadminbarHeight=state.wpadminbar.length > 0 ? state.wpadminbar.height():0; topOffset=__$(state._content.gallery).offset().top - wpadminbarHeight; state.body.stop().animate({ scrollTop: topOffset }, 350); if(loadMoreGrid.length){ loadMoreGrid.fadeTo(350, 0, function(){ loadMoreGrid.remove(); }); } state.hideAnimation(state._content[view] + ' ' + state._item_wrapper, 50); preloader.removeClass('tm-pg_hidden'); } state.getContent($offset.val(), $images_per_page.val(), $term_id.val(), $term_type.val(), function($html){ if(_.isEqual(type, 'append')){ loadMoreGrid.fadeTo(350, 0, function(){ loadMoreGrid.remove(); }); } if(_.isEqual(type, 'replase')){ __$(state._content[view]).html(''); } $.each($html, function(key, value){ var $value=$(value); $value.find(state._item_wrapper).addClass('animate-cycle-show'); __$(state._content[view]).append($value); newItems.push($value); }); if('masonry'!==view){ setTimeout(function(){ gallery.css('height', ''); }, 100); } preloader.addClass('tm-pg_hidden'); state.checkLoadMore(newItems.length * 50); __('slider').init(state.ID); if(__$(state._pagination.content).length){ var $current=__$('a.current', state._pagination.numbers).last().next(); $current.addClass('current'); __$('a.next', state._pagination.numbers).hide(); __$('a.prev', state._pagination.numbers).hide(); } if(!_.isUndefined(callback)&&_.isFunction(callback)){ callback(); } gallery.imagesLoaded(function(){ if('masonry'===view){ gallery.masonry('reloadItems'); setTimeout(function(){ gallery.masonry(); }, 400); setTimeout(function(){ state.showAnimation(newItems, 50); }, 500); } if('justify'===view){ state.justifiedLayoutRender(); } if('masonry'!==view){ state.showAnimation(newItems, 50); }}); }); }, checkLoadMore: function(timeout){ var view=$(prefix + '[data-id="' + state.ID + '"]').data('view'), $offset=__$(state._input.offset), $images_per_page=__$(state._input.per_page), timeout=timeout ? timeout + 350:0, $term_id=__$(state._input.term_id), total_count=Number(__$('a[data-id="' + $term_id.val() + '"]').data('count')); total_count=_.isNaN(total_count) ? __$(state._input.count).val():total_count; $offset.val(parseInt($offset.val(), 10) + parseInt($images_per_page.val(), 10)); if(parseInt($offset.val(), 10) >=parseInt(total_count, 10)){ __$(state._load.btn).hide(350); __$(state._load.grid).hide(350); }else{ if('grid'===view){ state.setLoadMoreGirdHeight(); } __$(state._load.btn).fadeTo(500, 1); __$(state._load.grid).delay(timeout).fadeTo(500, 1); }}, setLoadMoreGirdHeight: function(){ var loadMoreGrid=__$(state._load.grid); if(loadMoreGrid.length){ if(! state.gridBtnHeight){ state.gridBtnHeight=__$(state._item).first().height(); } loadMoreGrid.height(state.gridBtnHeight); }}, sortGrid: function($this){ state.ID=state.getID($this); var term_id=$this.attr('data-id'), type=$this.attr('data-type'), view=$(prefix + '[data-id="' + state.ID + '"]').data('view'), gallery=__$(state._content[view]), preloader=__$(state._preloader), newItems=[], loadMoreGrid=__$(state._load.grid); state.hideAnimation(state._content[view] + ' ' + state._item_wrapper, 50); if(loadMoreGrid.length){ var itemsCount=gallery.find('.tm_pg_gallery-item').length - 1; loadMoreGrid.delay(( itemsCount * 50) + 100).fadeTo(350, 0, function(){ loadMoreGrid.remove(); }); } preloader.removeClass('tm-pg_hidden'); __$(state._filter.dropdown.content).removeClass('open'); __$(state._filter.dropdown.content).find('li').removeClass('active'); state.filterContent(term_id, type, function($data){ __$(state._filter.line.content).find('li').removeClass('active'); $this.parents('li').addClass('active'); __$(state._content[view]).html(''); $.each($data, function(key, value){ var $value=$(value); $value.find(state._item_wrapper).addClass('animate-cycle-show'); __$(state._content[view]).append($value); newItems.push($value); }); preloader.addClass('tm-pg_hidden'); __$(state._input.term_id).val(term_id); __$(state._input.term_type).val(type); __$(state._input.offset).val(0); if(__$(state._pagination.content).data('load-more-page')){ state.getPagination(term_id, type, function(html){ __$(state._pagination.content).html(html); state.checkLoadMore(newItems.length * 50); __('slider').init(state.ID); }); }else{ state.checkLoadMore(newItems.length * 50); __('slider').init(state.ID); } gallery.imagesLoaded(function(){ if('masonry'===view){ gallery.masonry('reloadItems'); gallery.masonry(); } if('justify'===view){ state.justifiedLayoutRender(); } state.showAnimation(newItems, 50); }); }); }, filterContent: function(term_id, type, callback){ var $params={ action: 'tm_pg_f', post_id: __$('').data('post-id'), fields: 'all' }, $images_per_page=__$(state._input.per_page); $params[window.tm_pg_options.action]='filter_grid'; $params.controller='grid'; $params.term_id=term_id; $params.id=state.ID; $params.type=type; $params.images_per_page=$images_per_page.val(); $params.tm_pg_nonce=window.tm_pg_options.nonce; $.post(window.tm_pg_options.ajax_url, $params, function(data){ if(!_.isUndefined(callback)&&_.isFunction(callback)){ callback(data.data); }}); }, getContent: function(offset, images_per_page, term_id, type, callback){ var $params={ action: 'tm_pg_f', controller: 'grid', shortcode: 'grid', fields: 'all', post_id: __$('').data('post-id'), term_id: term_id, type: type, id: state.ID, offset: offset, images_per_page: images_per_page }; $params.tm_pg_nonce=window.tm_pg_options.nonce; $params[window.tm_pg_options.action]='get_content'; $.post(window.tm_pg_options.ajax_url, $params, function(data){ if(data.success&&!_.isUndefined(callback)&&_.isFunction(callback)){ callback(data.data); }}); }, getPagination: function(term_id, type, callback){ var $params={ action: 'tm_pg_f' }; $params[window.tm_pg_options.action]='get_pagination'; $params.controller='grid'; $params.id=state.ID; $params.term_id=term_id; $params.type=type; $params.tm_pg_nonce=window.tm_pg_options.nonce; $.post(window.tm_pg_options.ajax_url, $params, function(data){ if(data.success&&!_.isUndefined(callback)&&_.isFunction(callback)){ callback(data.data); }}); }, showAnimation: function(items, delta){ items.forEach(function(item, i){ var delay=delta * i + 350, timeOutInterval; timeOutInterval=setTimeout(function(){ item.find(state._item_wrapper).removeClass('animate-cycle-show'); }, delay); }); }, hideAnimation: function(selector, delta){ __$(selector).each(function(index, el){ var $this=$(el), delay=delta *(index + 1), timeOutInterval; timeOutInterval=setTimeout(function(){ $this.addClass('animate-cycle-hide'); }, delay); }); }, justifiedLayoutRender: function (){ var projectsListWrap=$(state._content.justify), projectsList=$(state._item, projectsListWrap), moreGridBtn=$(state._load.grid, projectsListWrap), fixedHeight=projectsListWrap.data('fixed-height'); if(moreGridBtn.length){ moreGridBtn.css({ 'min-height': fixedHeight }); moreGridBtn.find('.tm_pg_gallery-item_link_show-more').css({ 'min-height': fixedHeight }); } projectsList.each(function(){ var $this=$(this), imageWidth=$this.data('image-width'), imageHeight=$this.data('image-height'), imageRatio=+imageWidth / +imageHeight, flexValue=Math.round(imageRatio * 100), newWidth=Math.round(fixedHeight * imageRatio), newHeight='auto'; $this.css({ 'flex-grow': flexValue, 'flex-basis': newWidth, 'max-width': imageWidth }); }); }};} return { getInstance: function (){ if(!state){ state=createInstance(); } return state; }};})(jQuery)); Registry.register("slider",(function($){ "use strict"; var state, prefix='.tm-pg_frontend'; function __(value){ return Registry._get(value); } function createInstance(){ return { container: '', gallery: { }, _content: { grid: '.tm-pg_front_gallery-grid', masonry: '.tm-pg_front_gallery-masonry', justify: '.tm-pg_front_gallery-justify' }, _item: 'div.tm_pg_gallery-item[data-type="img"] a', __$: function(value){ return $(state.container + ' ' + value); }, init: function(parent_id){ state.container=prefix + '[data-id="' + parent_id + '"]'; var view=$(state.container).data('view'), gallery=state.__$(state._content[view]); if(undefined!==gallery.data('lightGallery')){ gallery.data('lightGallery').destroy(true); } gallery.lightGallery({ autoplayControls: gallery.data('lightbox-autoplay')===false ? false:true, thumbnail: gallery.data('lightbox-thumbnails')===false ? false:true, fullScreen: gallery.data('lightbox-fullscreen')===false ? false:true, controls: gallery.data('lightbox-arrows')===false ? false:true, selector: state._item, animateThumb: true, showThumbByDefault: true, toogleThumb: true, thumbContHeight: 80 }); gallery.on('onBeforeOpen.lg', function(event){ $('#wpadminbar').css('z-index', '0'); }); gallery.on('onCloseAfter.lg', function(event){ $('#wpadminbar').css('z-index', ''); }); state.gallery=gallery.data('lightGallery'); }, };} return { getInstance: function (){ if(!state){ state=createInstance(); } return state; }};})(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()}(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||{},n=i[t]=i[t]||[];return n[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){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}(window,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t}function n(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;ie;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=s=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,E=a.borderTopWidth+a.borderBottomWidth,z=d&&s,b=t(r.width);b!==!1&&(a.width=b+(z?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(z?0:g+E)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+E),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;is?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,u=this.cols+1-o.length,d=0;u>d;d++)this.colYs[s+d]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});