/**
 * ModuloBox PACKAGED v1.0.5
 * Touch & responsive multimedia Lightbox
 *
 * @author Themeone [https://theme-one.com/]
 * Copyright © 2016 All Rights Reserved.
 */
!function(){var t=window,e=0;t.requestAnimationFrame=t.requestAnimationFrame||t.webkitRequestAnimationFrame,t.requestAnimationFrame||(t.requestAnimationFrame=function(t){var i=(new Date).getTime(),s=Math.max(0,16-(i-e));return t=setTimeout(t,s),e=i+s,t}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(t){clearTimeout(t)})}(),function(t,e){"function"==typeof define&&define.amd?define("themeone-utils/utils",e):"object"==typeof module&&module.exports?module.exports=e():t.ThemeoneUtils=e()}(this,function(){var t={},e=window.console;return t.error=function(t){void 0!==e&&e.error(t)},t.extend=function(t,e){if(t)if("object"!=typeof t)this.error("Custom options must be an object");else for(var i in e)e.hasOwnProperty(i)&&t.hasOwnProperty(i)&&(e[i]=t[i]);return e},t.prop=function(t){for(var e=this.createEl(),i=["","Webkit","Moz","ms","O"],s=0,o=i.length;s<o;s++){var n=i[s]?i[s]+t.charAt(0).toUpperCase()+t.slice(1):t;if(void 0!==e.style[n])return n}return""},t.cloneObject=function(t){var e,i={};for(e in t)t.hasOwnProperty(e)&&(i[e]=t[e]);return i},t.createEl=function(t,e){var i=document.createElement(t||"div");return e&&(i.className=e),i},t.camelize=function(t){return t.replace(/-([a-z])/g,function(t){return t[1].toUpperCase()})},t.handleEvents=function(t,e,i,s,o){"object"!=typeof this.event_handlers&&(this.event_handlers={}),this.event_handlers[s]||(this.event_handlers[s]=t[s].bind(t));var n=void 0===o||o?"addEventListener":"removeEventListener";i.forEach(function(t){e[n](t,this.event_handlers[s],!1)}.bind(this))},t.dispatchEvent=function(t,e,i,s,o){i+=e?"."+e:"",e=s?[s].concat(o):[o],t.emitEvent(i,e)},t.throttle=function(t,e){var i=null;return function(){var s=arguments,o=Date.now();(!i||o-i>=e)&&(i=o,t.apply(this,s))}},t.modulo=function(t,e){return(t+e%t)%t},t.classReg=function(t){return new RegExp("(^|\\s+)"+t+"(\\s+|$)")},t.hasClass=function(t,e){return!!t.className.match(this.classReg(e))},t.addClass=function(t,e){this.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},t.removeClass=function(t,e){this.hasClass(t,e)&&(t.className=t.className.replace(this.classReg(e)," ").replace(/\s+$/,""))},t.translate=function(t,e,i,s){s=s?" scale("+s+","+s+")":"",t.style[this.browser.trans]=this.browser.gpu?"translate3d("+(e||0)+"px, "+(i||0)+"px, 0)"+s:"translate("+(e||0)+"px, "+(i||0)+"px)"+s},t.browser={trans:t.prop("transform"),gpu:!!t.prop("perspective")},t}),function(t,e){"function"==typeof define&&define.amd?define("themeone-event/event",e):"object"==typeof module&&module.exports?module.exports=e():t.ThemeoneEvent=e()}("undefined"!=typeof window?window:this,function(){var t=function(){},e=t.prototype;return e.on=function(t,e){if(!t||!e)return null;var i=this._events=this._events||{};return-1===(i=i[t]=i[t]||[]).indexOf(e)&&i.push(e),this},e.off=function(t,e){var i=this._events&&this._events[t];if(!i||!i.length)return null;var s=i.indexOf(e);return-1!==s&&i.splice(s,1),this},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(!i||!i.length)return null;var s=0,o=i[s];e=e||[];for(var n=this._onceEvents&&this._onceEvents[t];o;){var r=n&&n[o];r&&(this.off(t,o),delete n[o]),o.apply(this,e),o=i[s+=r?0:1]}return this},t}),function(t,e){"function"==typeof define&&define.amd?define("themeone-animate/animate",["themeone-utils/utils","themeone-event/event"],e):"object"==typeof module&&module.exports?module.exports=e(require("themeone-utils"),require("themeone-event")):t.ThemeoneAnimate=e(t.ThemeoneUtils,t.ThemeoneEvent)}(this,function(t,e){var i=function(t,e,i,s){this.element=t,this.defaults=e,this.forces={friction:i||.28,attraction:s||.028},this.resetAnimate()},s=i.prototype=Object.create(e.prototype);return s.updateDrag=function(t){this.move=!0,this.drag=t},s.releaseDrag=function(){this.move=!1},s.animateTo=function(t){this.attraction=t},s.startAnimate=function(){this.move=!0,this.settle=!1,this.restingFrames=0,this.RAF||this.animate()},s.stopAnimate=function(){this.move=!1,this.restingFrames=0,this.RAF&&(cancelAnimationFrame(this.RAF),this.RAF=!1),this.start=t.cloneObject(this.position),this.velocity={x:0,y:0,s:0}},s.resetAnimate=function(){this.stopAnimate(),this.settle=!0,this.drag=t.cloneObject(this.defaults),this.start=t.cloneObject(this.defaults),this.resting=t.cloneObject(this.defaults),this.position=t.cloneObject(this.defaults),this.attraction=t.cloneObject(this.defaults)},s.animate=function(){var e=function(){if(void 0!==this.position){var i=t.cloneObject(this.position);this.applyDragForce(),this.applyAttractionForce(),t.dispatchEvent(this,"toanimate","render",this),this.integratePhysics(),this.getRestingPosition(),this.render(100),this.RAF=requestAnimationFrame(e),this.checkSettle(i)}}.bind(this);this.RAF=requestAnimationFrame(e)},s.integratePhysics=function(){for(var t in this.position)void 0!==this.position[t]&&(this.position[t]+=this.velocity[t],this.position[t]="s"===t?Math.max(.1,this.position[t]):this.position[t],this.velocity[t]*=this.getFrictionFactor())},s.applyDragForce=function(){if(this.move)for(var t in this.drag)void 0!==this.drag[t]&&this.applyForce(t,this.drag[t]-this.position[t]-this.velocity[t])},s.applyAttractionForce=function(){if(!this.move)for(var t in this.attraction)void 0!==this.attraction[t]&&this.applyForce(t,(this.attraction[t]-this.position[t])*this.forces.attraction)},s.getRestingPosition=function(){for(var t in this.position)void 0!==this.position[t]&&(this.resting[t]=this.position[t]+this.velocity[t]/(1-this.getFrictionFactor()))},s.applyForce=function(t,e){this.velocity[t]+=e},s.getFrictionFactor=function(){return 1-this.forces.friction},s.roundValues=function(t,e){for(var i in t)void 0!==t[i]&&(e="s"===i?100*e:e,t[i]=Math.round(t[i]*e)/e)},s.checkSettle=function(e){if(!this.move){var i,s=0;for(i in this.position)if(void 0!==this.position[i]){var o="s"===i?1e4:100;Math.round(this.position[i]*o)===Math.round(e[i]*o)&&++s===Object.keys(this.position).length&&this.restingFrames++}}2<this.restingFrames&&(this.stopAnimate(),this.render(1<this.position.s?10:1),this.settle=!0,JSON.stringify(this.start)!==JSON.stringify(this.position)&&t.dispatchEvent(this,"toanimate","settle",this))},s.render=function(e){this.roundValues(this.position,e),t.translate(this.element,this.position.x,this.position.y,this.position.s)},i}),function(t,e){"function"==typeof define&&define.amd?define(["themeone-utils/utils","themeone-event/event","themeone-animate/animate"],e):"object"==typeof exports&&module.exports?module.exports=e(require("themeone-utils"),require("themeone-event"),require("themeone-animate")):t.ModuloBox=e(t.ThemeoneUtils,t.ThemeoneEvent,t.ThemeoneAnimate)}(this,function(t,e,i){var s=0,o={},n="mobx"+("1.0.5"+Math.random()).replace(/\D/g,""),r={uid:0},a={mediaSelector:".mobx",threshold:5,attraction:{slider:.055,slide:.018,thumbs:.016},friction:{slider:.62,slide:.18,thumbs:.22},rightToLeft:!1,loop:3,preload:1,unload:!1,timeToIdle:4e3,history:!1,mouseWheel:!0,contextMenu:!0,scrollBar:!0,fadeIfSettle:!1,controls:["close"],prevNext:!0,prevNextTouch:!1,counterMessage:"[index] / [total]",caption:!0,autoCaption:!1,captionSmallDevice:!0,thumbnails:!0,thumbnailsNav:"basic",thumbnailSizes:{1920:{width:110,height:80,gutter:10},1280:{width:90,height:65,gutter:10},680:{width:70,height:50,gutter:8},480:{width:60,height:44,gutter:5}},spacing:.1,smartResize:!0,overflow:!1,loadError:"Sorry, an error occured while loading the content...",noContent:"Sorry, no content was found!",prevNextKey:!0,scrollToNav:!1,scrollSensitivity:15,zoomTo:"auto",minZoom:1.2,maxZoom:4,doubleTapToZoom:!0,scrollToZoom:!1,pinchToZoom:!0,escapeToClose:!0,scrollToClose:!1,pinchToClose:!0,dragToClose:!0,tapToClose:!0,shareButtons:"facebook googleplus twitter pinterest linkedin reddit".split(" "),shareText:"Share on",sharedUrl:"deeplink",slideShowInterval:4e3,slideShowAutoPlay:!1,slideShowAutoStop:!1,countTimer:!0,countTimerBg:"rgba(255,255,255,0.25)",countTimerColor:"rgba(255,255,255,0.75)",mediaelement:!1,videoRatio:16/9,videoMaxWidth:1180,videoAutoPlay:!1,videoThumbnail:!1},h=function(e){this.options=t.extend(e,a),this.setVar()};return e=h.prototype=Object.create(e.prototype),e.init=function(){if(this.GUID)return o[this.GUID];this.GUID=++s,o[this.GUID]=this,this.createDOM(),this.setAnimation(),this.getGalleries(),this.openFromQuery()},e.setVar=function(){var t=window,e=document,i=navigator;this.pre="mobx",this.gesture={},this.buttons={},this.slider={},this.slides={},this.cells={},this.states={},this.pointers=[],this.expando=n,this.cache=r,this.dragEvents=this.detectPointerEvents(),this.browser={touchDevice:"ontouchstart"in t||0<i.maxTouchPoints||0<i.msMaxTouchPoints,pushState:"history"in t&&"pushState"in history,fullScreen:this.detectFullScreen(),mouseWheel:"onwheel"in e.createElement("div")?"wheel":void 0!==e.onmousewheel?"mousewheel":"DOMMouseScroll"},this.iframeVideo=this.iframeVideo(),this.socialMedia=this.socialMedia()},e.detectPointerEvents=function(){var t=navigator;return t.pointerEnabled?{start:["pointerdown"],move:["pointermove"],end:["pointerup","pointercancel"]}:t.msPointerEnabled?{start:["MSPointerDown"],move:["MSPointerMove"],end:["MSPointerUp","MSPointerCancel"]}:{start:["mousedown","touchstart"],move:["mousemove","touchmove"],end:["mouseup","mouseleave","touchend","touchcancel"]}},e.detectFullScreen=function(){for(var t=["fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled"],e=0,i=t.length;e<i;e++)if(document[t[e]])return{element:["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"][e],request:["requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen"][e],change:["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"][e],exit:["exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen"][e]};return t=this.options.controls,-1<(e=t.indexOf("fullScreen"))&&t.splice(e,1),null},e.iframeVideo=function(){return{youtube:{reg:/(?:www\.)?youtu\.?be(?:\.com)?\/?.*?(?:watch|embed)?(?:.*v=|v\/|watch%3Fv%3D|\/)([\w\-_]+)&?/i,url:"https://www.youtube.com/embed/[ID]?enablejsapi=1&rel=0&autoplay=1",share:"https://www.youtube.com/watch?v=[ID]",poster:"https://img.youtube.com/vi/[ID]/maxresdefault.jpg",thumb:"https://img.youtube.com/vi/[ID]/default.jpg",play:{event:"command",func:"playVideo"},pause:{event:"command",func:"pauseVideo"}},vimeo:{reg:/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/)?(\d+)(?:[a-zA-Z0-9_\-]+)?/i,url:"https://player.vimeo.com/video/[ID]?autoplay=1&api=1",share:"https://vimeo.com/[ID]",poster:"https://vimeo.com/api/v2/video/[ID].json",play:{event:"command",method:"play"},pause:{event:"command",method:"pause"}},dailymotion:{reg:/(?:www\.)?(?:dailymotion\.com(?:\/embed)(?:\/video|\/hub)|dai\.ly)\/([0-9a-z]+)(?:[\-_0-9a-zA-Z]+#video=(?:[a-zA-Z0-9_\-]+))?/i,url:"https://dailymotion.com/embed/video/[ID]?autoplay=1&api=postMessage",share:"https://www.dailymotion.com/video/[ID]",poster:"https://www.dailymotion.com/thumbnail/video/[ID]",thumb:"https://www.dailymotion.com/thumbnail/video/[ID]",play:"play",pause:"pause"},wistia:{reg:/(?:www\.)?(?:wistia\.(?:com|net)|wi\.st)\/(?:(?:m|medias|projects)|embed\/(?:iframe|playlists))\/([a-zA-Z0-9_\-]+)/i,url:"https://fast.wistia.net/embed/iframe/[ID]?version=3&enablejsapi=1&html5=1&autoplay=1",share:"https://fast.wistia.net/embed/iframe/[ID]",poster:"https://fast.wistia.com/oembed?url=https://home.wistia.com/medias/[ID].json",play:{event:"cmd",method:"play"},pause:{event:"cmd",method:"pause"}}}},e.socialMedia=function(){return{facebook:"https://www.facebook.com/sharer/sharer.php?u=[url]",googleplus:"https://plus.google.com/share?url=[url]",twitter:"https://twitter.com/intent/tweet?text=[text]&url=[url]",pinterest:"https://www.pinterest.com/pin/create/button/?url=[url]&media=[image]&description=[text]",linkedin:"https://www.linkedin.com/shareArticle?url=[url]&mini=true&title=[text]",reddit:"https://www.reddit.com/submit?url=[url]&title=[text]",stumbleupon:"https://www.stumbleupon.com/badge?url=[url]&title=[text]",tumblr:"https://www.tumblr.com/share?v=3&u=[url]&t=[text]",blogger:"https://www.blogger.com/blog_this.pyra?t&u=[url]&n=[text]",buffer:"https://bufferapp.com/add?url=[url]title=[text]",digg:"https://digg.com/submit?url=[url]&title=[text]",evernote:"https://www.evernote.com/clip.action?url=[url]&title=[text]"}},e.createDOM=function(){this.DOM={};for(var e="holder overlay slider item item-inner ui top-bar bottom-bar share-tooltip counter caption caption-inner thumbs-holder thumbs-inner".split(" "),i=0;i<e.length;i++)this.DOM[t.camelize(e[i])]=t.createEl("div",this.pre+"-"+e[i]);this.appendDOM(this.DOM)},e.appendDOM=function(e){var i=this.options;e.holder.appendChild(e.overlay),e.holder.appendChild(e.slider),e.holder.appendChild(e.ui);for(var s=0;5>s;s++){var o=e.item.cloneNode(!0);o.appendChild(e.itemInner.cloneNode(!0)),e.slider.appendChild(o),this.slides[s]=o}this.slides.length=e.slider.children.length,this.createUI(e,i),e.holder.setAttribute("tabindex",-1),e.holder.setAttribute("aria-hidden",!0),this.DOM.comment=document.createComment(" ModuloBox (v1.0.5) by Themeone "),document.body.appendChild(this.DOM.comment),t.dispatchEvent(this,"modulobox","beforeAppendDOM",e),document.body.appendChild(e.holder),e.topBar.height=e.topBar.clientHeight},e.createUI=function(e,i){var s=i.controls.indexOf("share");if(-1<s){for(var o=i.shareButtons,n=o.length;n--;)this.socialMedia.hasOwnProperty(o[n])||o.splice(n,1);o.length?(e.ui.appendChild(e.shareTooltip),i.shareText&&(e.shareTooltip.appendChild(t.createEl("span")).textContent=i.shareText),this.createButtons(o,e.shareTooltip,"shareOn")):i.controls.splice(s,1)}(i.controls.length||i.counterMessage)&&(s=i.controls.indexOf("play"),e.ui.appendChild(e.topBar),i.counterMessage&&e.topBar.appendChild(e.counter),1>i.slideShowInterval&&-1<s&&i.controls.splice(s,1),i.countTimer&&-1<s&&((s=this.DOM.timer=t.createEl("canvas",this.pre+"-timer")).setAttribute("width",48),s.setAttribute("height",48),e.topBar.appendChild(s)),i.controls.length&&(s=i.controls.slice(),this.createButtons(s.reverse(),e.topBar))),(i.caption||i.thumbnails)&&(e.ui.appendChild(e.bottomBar),i.caption&&e.bottomBar.appendChild(e.caption).appendChild(e.captionInner),i.thumbnails&&e.bottomBar.appendChild(e.thumbsHolder).appendChild(e.thumbsInner)),i.prevNext&&this.createButtons(["prev","next"],e.ui)},e.createButtons=function(e,i,s){for(var o=e.length,n=0;n<o;n++){var r=e[n];this.buttons[r]=t.createEl("BUTTON",this.pre+"-"+r.toLowerCase()),i.appendChild(this.buttons[r]),(r&&"function"==typeof this[r]||s)&&(this.buttons[r].event=s||r,this.buttons[r].action=r,"shareOn"===s&&this.buttons[r].setAttribute("title",r.charAt(0).toUpperCase()+r.slice(1)))}},e.getGalleries=function(){this.galleries={};var e="";if(!(i=this.options.mediaSelector))return!1;try{e=document.querySelectorAll(i)}catch(e){t.error('Your current mediaSelector is not a valid selector: "'+i+'"')}for(var i=0,s=e.length;i<s;i++){var o=e[i],n={};if(n.src="A"===o.tagName?o.getAttribute("href"):null,n.src="IMG"===o.tagName?o.currentSrc||o.src:n.src,n.src=o.getAttribute("data-src")||n.src,n.src&&(this.getMediaAtts(o,n),this.setMediaType(n),n.type)){this.getMediaThumb(o,n),this.getVideoThumb(n),this.getMediaCaption(o,n),this.setMediaCaption(n);var r=this.setGalleryName(o);this.setGalleryFeatures(r,n),n.index=r.length,r.push(n),this.setMediaEvent(o,r.name,n.index)}}t.dispatchEvent(this,"modulobox","updateGalleries",this.galleries)},e.addMedia=function(e,i){if(!i||"object"!=typeof i)return t.error("No media was found to addMedia() in a gallery"),!1;e=""===e?1:e;var s=this.galleries[e];(s=s||(this.galleries[e]=[])).name=e;for(var o=i.length,n=0;n<o;n++){var r=t.cloneObject(i[n]);r.src&&(this.setMediaType(r),this.getVideoThumb(r),this.setMediaCaption(r),this.setGalleryFeatures(s,r),r.index=s.length,s.push(r))}},e.setMediaType=function(t){if(!(-1<["image","video","iframe","HTML"].indexOf(t.type))){t.type=null;var e=t.src?t.src:null,i=(e.split(/[?#]/)[0]||e).substr(2+(~-e.lastIndexOf(".")>>>0));if(/(jpg|webp|avif|jpeg|png|bmp|gif|tif|tiff|jfi|jfif|exif|svg)/.test(i)||-1<["external.xx.fbcdn","drscdn.500px.org"].indexOf(e))t.type="image",t.src=this.getSrc(e);else if(/(mp4|webm|ogv)/.test(i))t.type="video",t.format="html5";else{var s,o=this.iframeVideo;for(s in o)if(o.hasOwnProperty(s)&&(i=e.match(o[s].reg))&&i[1]){e=o[s],t.type="video",t.format=s,t.share=e.share.replace("[ID]",i[1]),t.src=e.url.replace("[ID]",i[1]),t.pause=e.pause,t.play=e.play,this.options.videoThumbnail&&(t.poster=!t.poster&&e.poster?e.poster.replace("[ID]",i[1]):t.poster,t.thumb=!t.thumb&&e.poster?e.poster.replace("[ID]",i[1]):t.thumb);break}}}},e.getSrc=function(t){var e=(t||"").split(/,/),i=e.length,s=0;if(1>=i)return t;for(var o=0;o<i;o++){var n=e[o].replace(/\s+/g," ").trim().split(/ /),r=parseFloat(n[1])||0;("w"===(n[1]?n[1].slice(-1):null)&&screen.width>=r&&r>s||!r||0===o)&&(s=r,t=n[0])}return t},e.getMediaAtts=function(t,e){var i=this.options.autoCaption,s=this.getAttr(t);e.type=e.type?e.type:s.type||t.getAttribute("data-type"),e.title=s.title||t.getAttribute("data-title")||(i?t.getAttribute("title"):null),e.desc=s.desc||t.getAttribute("data-desc")||(i?t.getAttribute("alt"):null),e.thumb=s.thumb||t.getAttribute("data-thumb"),e.poster=this.getSrc(s.poster||t.getAttribute("data-poster")),e.width=s.width||t.getAttribute("data-width"),e.height=s.height||t.getAttribute("data-height"),e.title===e.desc&&(e.desc=null)},e.getMediaThumb=function(t,e){var i=t.getElementsByTagName("img");!e.thumb&&i[0]&&(e.thumb=i[0].src)},e.getVideoThumb=function(t){if(this.options.videoThumbnail&&"video"===t.type&&"html5"!==t.format){var e=t.poster&&-1<t.poster.indexOf(".json"),i=t.thumb&&-1<t.thumb.indexOf(".json");if(e||i){var e=e?t.poster:t.thumb,s=new XMLHttpRequest;s.onload=function(e){e=e.target.responseText,(e=(e=JSON.parse(e)).hasOwnProperty(0)?e[0]:e)&&(t.poster=e.thumbnail_large||e.thumbnail_url,t.dom&&(t.dom.style.backgroundImage='url("'+t.poster+'")'),i&&(e=e.thumbnail_small||e.thumbnail_url,"object"==typeof t.thumb?t.thumb.style.backgroundImage='url("'+e+'")':t.thumb=e))}.bind(this),s.open("GET",encodeURI(e),!0),setTimeout(function(){s.send()},0)}}},e.getMediaCaption=function(t,e){var i=t.nextElementSibling;i&&"FIGCAPTION"===i.tagName&&(i=i.innerHTML,e.title?e.desc||(e.desc=i):e.title=i)},e.setMediaCaption=function(t){t.title=t.title?'<div class="'+this.pre+'-title">'+t.title.trim()+"</div>":"",t.desc=t.desc?'<div class="'+this.pre+'-desc">'+t.desc.trim()+"</div>":"",t.caption=t.title+t.desc},e.getGalleryName=function(t){for(var e=0;t&&2>e;){if((t=t.parentNode)&&"FIGURE"===t.tagName&&t.parentNode)return t.parentNode.getAttribute("id");e++}},e.setGalleryName=function(t){var e=(e=(e=this.getAttr(t).rel||t.getAttribute("data-rel"))||this.getGalleryName(t))?e:Object.keys(this.galleries).length+1;return t=(t=this.galleries[e])?t:this.galleries[e]=[],t.name=e,t},e.setGalleryFeatures=function(t,e){t.zoom||"image"!==e.type||(t.zoom=!0),t.download||"image"!==e.type&&"html5"!==e.format||(t.download=!0)},e.setMediaEvent=function(t,e,i){t.mobxListener&&t.removeEventListener("click",t.mobxListener,!1),t.mobxListener=this.open.bind(this,e,i),t.addEventListener("click",t.mobxListener,!1),"undefined"!=typeof jQuery&&jQuery(t).on("click",t.mobxListener)},e.open=function(e,i,s){return s&&(s.preventDefault(),s.stopPropagation()),!!this.GUID&&(this.galleries.hasOwnProperty(e)?this.galleries[e].length?this.galleries[e][i]?(t.dispatchEvent(this,"modulobox","beforeOpen",e,i),this.slides.index=i,this.gallery=this.galleries[e],this.gallery.name=e,this.gallery.index=i,this.gallery.loaded=!1,this.removeContent(),this.wrapAround(),this.hideScrollBar(),this.setSlider(),this.setThumbs(),this.setCaption(),this.setMedia(this.options.preload),this.updateMediaInfo(),this.replaceState(),this.setControls(),this.bindEvents(!0),this.show(),this.options.videoAutoPlay&&this.appendVideo(),this.options.slideShowAutoPlay&&-1<this.options.controls.indexOf("play")&&(!this.options.videoAutoPlay||"video"!==this.galleries[e][i].type)&&this.startSlideShow(),this.states.zoom=!1,void(this.states.open=!0)):(t.error("Sorry, no media was found for the current media index: "+i),!1):(t.error("Sorry, no media was found for the current gallery."),!1):(t.error('This gallery name : "'+e+'", does not exist!'),!1))},e.openFromQuery=function(){var t=this.getQueryString(window.location.search);t.hasOwnProperty("guid")&&t.hasOwnProperty("mid")&&!1===this.open(decodeURIComponent(t.guid),decodeURIComponent(t.mid)-1)&&this.replaceState(!0)},e.show=function(){var e=this.DOM.holder,i=this.options.rightToLeft?"add":"remove";e.setAttribute("aria-hidden",!1),t.removeClass(e,this.pre+"-idle"),t.removeClass(e,this.pre+"-panzoom"),t.removeClass(e,this.pre+"-will-close"),t[i+"Class"](e,this.pre+"-rtl"),t.addClass(e,this.pre+"-open")},e.close=function(e){e&&e.preventDefault(),e=this.DOM.holder;var i=this.gallery;t.dispatchEvent(this,"modulobox","beforeClose",i?i.name:"undefined",i?i.index:"undefined"),this.states.fullScreen&&(this.exitFullScreen(),t.removeClass(e,this.pre+"-fullscreen")),this.share(),this.stopSlideShow(),this.pauseVideo(),this.bindEvents(!1),this.replaceState(!0),this.hideScrollBar(),e.setAttribute("aria-hidden",!0),t.removeClass(e,this.pre+"-open"),this.states.open=!1},e.setControls=function(){var t=this.gallery,e=this.options,i=this.buttons;this.DOM.counter&&(this.DOM.counter.style.display=1<t.initialLength?"":"none"),-1<e.controls.indexOf("play")&&(i.play.style.display=1<t.initialLength?"":"none"),-1<e.controls.indexOf("zoom")&&(i.zoom.style.display=t.zoom?"":"none"),-1<e.controls.indexOf("download")&&(i.download.style.display=t.download?"":"none"),this.setPrevNextButtons()},e.setPrevNextButtons=function(){if(this.options.prevNext){var t=680>this.slider.width&&this.browser.touchDevice&&!this.options.prevNextTouch;this.buttons.prev.style.display=this.buttons.next.style.display=1<this.gallery.length&&!t?"":"none"}},e.setCaption=function(){this.states.caption=!(!this.options.captionSmallDevice&&(480>=this.slider.width||480>=this.slider.height)),this.DOM.caption.style.display=this.states.caption?"":"none"},e.hideScrollBar=function(){if(!this.options.scrollBar){var t=this.states.open;document.body.style.overflow=document.documentElement.style.overflow="undefined"!==t&&t?"":"hidden"}},e.bindEvents=function(e){var i,s,o=window,n=document,r=this.options,a=this.DOM.holder,h=this.buttons;for(s in h)h.hasOwnProperty(s)&&t.handleEvents(this,"share"!==s?h[s]:o,["click","touchend"],h[s].event,e);t.handleEvents(this,a,this.dragEvents.start,"touchStart",e),t.handleEvents(this,o,["keydown"],"keyDown",e),t.handleEvents(this,o,["resize","orientationchange"],"resize",e),t.handleEvents(this,a,["transitionend","webkitTransitionEnd","oTransitionEnd","otransitionend","MSTransitionEnd"],"opened"),t.handleEvents(this,a,["touchend"],"disableZoom",e),this.browser.fullScreen&&t.handleEvents(this,n,[this.browser.fullScreen.change],"toggleFullScreen",e),r.history&&t.handleEvents(this,o,["mouseout"],"mouseOut",e),0<r.timeToIdle&&t.handleEvents(this,a,["mousemove"],"mouseMove",e),r.contextMenu||t.handleEvents(this,a,["contextmenu"],"contextMenu",e),r.mouseWheel||this.disableScroll(e),r.scrollToZoom?i="scrollToZoom":r.scrollToNav?i="scrollToNav":r.scrollToClose&&(i="scrollToClose"),i&&t.handleEvents(this,a,[this.browser.mouseWheel],i,e)},e.opened=function(e){if("visibility"===e.propertyName&&e.target===this.DOM.holder){e=this.gallery.name;var i=this.gallery.index;this.states.open?t.dispatchEvent(this,"modulobox","afterOpen",e,i):(this.removeContent(),t.dispatchEvent(this,"modulobox","afterClose",e,i))}},e.mouseOut=function(t){(t=(t=t||window.event).relatedTarget||t.toElement)&&"HTML"!==t.nodeName||this.replaceState()},e.mouseMove=function(){var e=this.DOM.holder,i=this.pre+"-idle";clearTimeout(this.states.idle),this.states.idle=setTimeout(function(){t.hasClass(e,this.pre+"-open-tooltip")||t.addClass(e,i)}.bind(this),this.options.timeToIdle),t.removeClass(e,i)},e.contextMenu=function(t){var e=(i=t.target).tagName,i=i.className;("IMG"===e||"VIDEO"===e||-1<i.indexOf(this.pre+"-video")||-1<i.indexOf(this.pre+"-thumb-bg")||i===this.pre+"-thumb")&&t.preventDefault()},e.disableScroll=function(t){var e=document,i=window,s=function(t){if(this.isEl(t)&&(t=t||i.event).preventDefault)return t.preventDefault(),t.returnValue=!1};i.onwheel=i.ontouchmove=i.onmousewheel=e.onmousewheel=e.onmousewheel=t?s.bind(this):null},e.scrollToZoom=function(t){if(this.isEl(t)){var e=this.normalizeWheel(t);if(e&&e.deltaY){var i=(i=this.getCell()).attraction.s||i.position.s,i=Math.min(this.options.maxZoom,Math.max(1,i-Math.abs(e.deltaY)/e.deltaY));this.stopSlideShow(),this.zoomTo(t.clientX,t.clientY,Math.round(10*i)/10)}}},e.scrollToNav=function(t){this.isEl(t)&&(t=this.normalizeWheel(t))&&t.delta&&this[0>t.delta*this.isRTL()?"prev":"next"]()},e.scrollToClose=function(t){this.isEl(t)&&(t.preventDefault(),this.close())},e.disableZoom=function(t){"VIDEO"!==t.target.tagName&&t.preventDefault()},e.resize=function(e){this.DOM.topBar.height=this.DOM.topBar.clientHeight,this.share(),this.setSlider(),this.setThumbsPosition(),this.setCaption(),this.resizeMedia(),this.updateMediaInfo(),this.setPrevNextButtons(),this.states.zoom=!1,t.removeClass(this.DOM.holder,this.pre+"-panzoom"),t.dispatchEvent(this,"modulobox","resize",e)},e.resizeMedia=function(){for(var t=this.slides,e=0;e<t.length&&this.gallery;e++){var i=this.gallery[t[e].media];i&&(i.dom&&i.dom.loaded||i.dom&&-1<["video","iframe","HTML"].indexOf(i.type))&&this.setMediaSize(i,t[e])}},e.isEl=function(t){return t=t.target.className,-1<(t="string"==typeof t?t:t.baseVal).indexOf(this.pre)},e.isZoomable=function(){var t=this.getMedia(),e=!1;return"image"===t.type&&t.dom&&t.dom.size&&1<t.dom.size.scale&&(e=!0),this.DOM.holder.setAttribute("data-zoom",e),e},e.isDownloadable=function(){var t=this.getMedia(),e=!0;return"image"!==t.type&&"html5"!==t.format&&(e=!1),this.DOM.holder.setAttribute("data-download",e),e},e.isRTL=function(){return this.options.rightToLeft?-1:1},e.addAttr=function(t,e){if(void 0===t[this.expando]){var i=this.cache.uid++;t[this.expando]=i,this.cache[i]={}}else i=t[this.expando];for(var s in e)e.hasOwnProperty(s)&&(this.cache[i][s]=e[s])},e.getAttr=function(t){return this.cache[t[this.expando]]||{}},e.getThumbHeight=function(){var t=this.thumbs;return 0<t.height&&0<t.width?t.height+2*Math.min(10,t.gutter):0},e.getMedia=function(){var t=this.gallery;return t?t[t.index]:null},e.getCell=function(){var e=this.slides,e=t.modulo(e.length,e.index);return this.cells[e]},e.removeContent=function(){for(var t=0;t<this.slides.length;t++){var e=this.slides[t];this.unloadMedia(e),this.removeMedia(e),e.index=e.media=null}this.removeMedia(this.DOM.thumbsHolder)},e.getQueryString=function(t){var e={};return t.substr(1).split("&").forEach(function(t){t=t.split("="),e[decodeURIComponent(t[0])]=1<t.length?decodeURIComponent(t[1]):""}),e},e.setQueryString=function(t){var e,i=window.location.search,s=this.getQueryString(i),i=decodeURI(i);for(e in t)if(t.hasOwnProperty(e)){var o=encodeURIComponent(t[e]);if(s.hasOwnProperty(e)){var n=s[e];o?i=i.replace(e+"="+n,e+"="+o):(i=i.replace("&"+e+"="+n,""),i=i.replace(e+"="+n,""))}else i=o?i+(i?"&":"?")+e+"="+o:i.replace(e+"=","")}return t=[location.protocol,"//",location.host,location.pathname].join(""),i=i.substr(1)?i:i.substr(1),encodeURI(t+i)},e.replaceState=function(e){if((this.options.history||e)&&this.browser.pushState&&!this.states.push){var i=window.history.state;if(e={guid:e?"":this.gallery.name,mid:e?"":t.modulo(this.gallery.initialLength,this.gallery.index)+1},!i||i.mid!==e.mid){i=this.setQueryString(e);try{window.history.replaceState(e,"",i)}catch(e){this.options.history=!1,t.error("SecurityError: A history state object with origin 'null' cannot be created. Please run the script on a server.")}}}this.states.push=!1},e.normalizeWheel=function(t){var e,i,s=t||window.event,o=null;return t.preventDefault(),"detail"in s&&(i=-1*s.detail),"wheelDelta"in s&&(i=-1*s.wheelDelta),"wheelDeltaY"in s&&(i=-1*s.wheelDeltaY),"wheelDeltaX"in s&&(e=-1*s.wheelDeltaX),"deltaY"in s&&(i=s.deltaY),"deltaX"in s&&(e=-1*s.deltaX),1===s.deltaMode?(e*=40,i*=40):2===s.deltaMode&&(e*=100,i*=100),t=Math.abs(e)>Math.abs(i)?e:i,t=Math.min(100,Math.max(-100,t)),Math.abs(t)<this.options.scrollSensitivity?(this.states.prevDelta=t,o):(s=+new Date,(Math.abs(t)>Math.abs(this.states.prevDelta)||60<s-this.states.prevScroll)&&(o={deltaX:e,deltaY:i,delta:t}),this.states.prevDelta=t,this.states.prevScroll=s,o)},e.share=function(e){if(!e||"VIDEO"!==e.target.tagName){var i=this.DOM.holder,s=this.pre+"-open-tooltip",o=e?e.target.className:null,n=t.hasClass(i,s)?"remove":"add";("remove"!==n||o===this.pre+"-share"&&e)&&o!==this.pre+"-share"||("add"===n&&this.setShareTooltip(),t[n+"Class"](i,s))}},e.shareOn=function(e){var i=e.target.action,s=this.gallery,o=this.getMedia();if(e="image"===o.type?o.src:o.poster,i=this.socialMedia[i]){"page"===this.options.sharedUrl?s=[location.protocol,"//",location.host,location.pathname].join(""):"deeplink"===this.options.sharedUrl||-1<["iframe","HTML"].indexOf(o.type)?s=this.setQueryString({guid:s.name,mid:s.index+1}):(s=o.src.replace(/\s/g,"").split(",")[0],"video"===o.type&&"html5"!==o.format&&(s=o.share));var n=t.createEl("a");n.href=e,e=n.href,n.href=s,s=n.href,(n=t.createEl("div")).innerHTML=o.caption,o=(n.textContent||n.innerText).replace(/\s+/g," ").trim()||"",(i=i.replace("[url]",encodeURIComponent(s)).replace("[image]",encodeURIComponent(e)).replace("[text]",encodeURIComponent(o||document.title)))&&window.open(i,this.pre+"_share","status=0,resizable=1,location=1,toolbar=0,width=626,height=436,top="+Math.round(window.screenY+(window.outerHeight-436)/2)+",left="+Math.round(window.screenX+(window.outerWidth-626)/2))}else t.error("This social share media does not exist");return!1},e.setShareTooltip=function(){if(-1<this.options.controls.indexOf("share")){var t="right",e=this.DOM.shareTooltip,i=e.clientWidth,s=this.buttons.share.getBoundingClientRect();0>(i=s.left-i+s.width/2+20)&&(t="left",i=s.left+s.width/2-20),e.setAttribute("data-position",t),e.style.top=this.DOM.topBar.height+6+"px",e.style.left=i+"px"}},e.download=function(){if(!this.isDownloadable())return!1;var t=this.getMedia().src.replace(/\s/g,"").split(",")[0],e=document.createElement("a");e.href=t,e.download=(new Date).getTime(),e.setAttribute("target","_blank"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},e.fullScreen=function(){document[this.browser.fullScreen.element]?this.exitFullScreen():this.requestFullScreen()},e.toggleFullScreen=function(){var e=this.DOM.holder,i=document[this.browser.fullScreen.element];i?i===e&&(this.setShareTooltip(),this.states.fullScreen=!0,t.addClass(e,this.pre+"-fullscreen")):(this.share(),this.states.fullScreen=!1,t.removeClass(e,this.pre+"-fullscreen")),this.videoFullScreen()},e.requestFullScreen=function(){var t=this.browser.fullScreen.request;document.documentElement[t]&&this.DOM.holder[t]()},e.exitFullScreen=function(){var t=this.browser.fullScreen.exit;document[t]&&document[t]()},e.play=function(){this.states.play?this.stopSlideShow():this.startSlideShow()},e.startSlideShow=function(){var e=0,i=this.gallery,s=this.options,o=this.states.loop,n=s.slideShowAutoStop,r=Math.max(120,s.slideShowInterval),a=s.countTimer,h=a&&this.DOM.timer?this.DOM.timer.getContext("2d"):null,l=function(t){if(t=t||+new Date,e=e||t,o&&!n||i.index!==i.initialLength-1){if(a&&h){var d=Math.PI/180*Math.min(1,(t-e+r)/r-1)*360;h.clearRect(0,0,48,48),this.timerProgress(h,s.countTimerBg,100),this.timerProgress(h,s.countTimerColor,d)}t>=e+r&&(e=t,this.slideTo(this.slides.index+1,!0)),this.timer=requestAnimationFrame(l)}else this.stopSlideShow()}.bind(this);t.addClass(this.DOM.holder,this.pre+"-autoplay"),this.states.play=!0,this.timer=requestAnimationFrame(l)},e.stopSlideShow=function(){cancelAnimationFrame(this.timer),t.removeClass(this.DOM.holder,this.pre+"-autoplay"),this.states.play=!1},e.timerProgress=function(t,e,i){var s=1.5*Math.PI;t.strokeStyle=e,t.lineWidth=5,t.beginPath(),t.arc(24,24,18,s,s+i,!1),t.stroke()},e.appendVideo=function(){var e=this.getMedia();if("video"===e.type){if(t.addClass(e.dom,this.pre+"-loading"),t.removeClass(e.dom,this.pre+"-playing"),!e.video){if("html5"===e.format){e.video=t.createEl("video"),e.video.setAttribute("controls",""),e.video.setAttribute("autoplay","");for(var i=e.src.replace(/\s/g,"").split(","),s=0;s<i.length;s++){var o=document.createDocumentFragment(),n=t.createEl("source"),r=/^.+\.([^.]+)$/.exec(i[s]);r&&-1<["mp4","webm","ogv"].indexOf(r[1])&&(n.src=i[s],n.setAttribute("type","video/"+("ogv"===r[1]?"ogg":r[1])),o.appendChild(n)),e.video.appendChild(o)}}else e.format&&(e.video=t.createEl("iframe"),e.video.src=e.src,e.video.setAttribute("frameborder",0),e.video.setAttribute("allowfullscreen",""));e.video.setAttribute("width","100%"),e.video.setAttribute("height","100%")}e.dom.firstChild||(e.dom.appendChild(e.video),"html5"!==e.format&&(e.video.loaded=!1)),this.playVideo(e)}},e.onVideoLoaded=function(e){e.video.loaded=!0,t.removeClass(e.dom,this.pre+"-loading"),t.addClass(e.dom,this.pre+"-playing"),this.cloneVideo(e)},e.cloneVideo=function(e){if(this.states.loop&&"html5"===e.format)for(var i=this.gallery,s=i.length,o=i.initialLength,n=t.modulo(o,e.index),r=0;r<s;r++)t.modulo(o,i[r].index)===n&&i[r].index!==e.index&&(i[r].video=e.video)},e.videoFullScreen=function(){var t=this.getMedia(),e=this.states.fullScreen;"video"===t.type&&"html5"!==t.format&&t.video&&t.video[e?"removeAttribute":"setAttribute"]("allowfullscreen","")},e.playVideo=function(e){if(e.video.loaded)if(e.video.getClientRects(),t.removeClass(e.dom,this.pre+"-loading"),t.addClass(e.dom,this.pre+"-playing"),"html5"!==e.format){if(e.play){var i="object"==typeof e.play?JSON.stringify(e.play):String(e.play);e.video.contentWindow.postMessage(i,"*")}}else e.video.error||("function"==typeof MediaElementPlayer&&"undefined"!=typeof jQuery&&this.options.mediaelement?((i="VIDEO"===e.video.tagName?e.video:e.video.getElementsByTagName("video")[0]).player&&i.player.setControlsSize(),i.play()):e.video.play());else{var s=this;"undefined"==typeof jQuery||"function"!=typeof MediaElementPlayer||e.play||!this.options.mediaelement||e.video.player?e.video.onload||(e.video.onload=e.video.onerror=e.video.onloadedmetadata=function(){e.dom.firstChild&&(s.onVideoLoaded(e),s.videoFullScreen())},e.video.src=e.src.replace(/\s/g,"").split(",")[0]):MediaElementPlayer(e.video,{features:"playpause stop current progress duration volume fullscreen".split(" "),videoVolume:"horizontal",startVolume:.8,keyActions:!1,enableKeyboard:!1,iPadUseNativeControls:!0,iPhoneUseNativeControls:!0,AndroidUseNativeControls:!0,success:function(t){t.addEventListener("loadeddata",function(){if(e.video=e.dom.lastChild,e.video){var t=e.video.previousSibling;t&&t.parentNode&&t.parentNode.removeChild(t),s.onVideoLoaded(e)}},e,!1)},error:function(){s.onVideoLoaded(e)}})}},e.pauseVideo=function(){var e=this.getMedia();if(e&&"video"===e.type&&e.video)if(t.removeClass(e.dom,this.pre+"-playing"),e.video.loaded)if("html5"===e.format)"function"==typeof MediaElementPlayer&&"undefined"!=typeof jQuery&&this.options.mediaelement?("VIDEO"===e.video.tagName?e.video:e.video.getElementsByTagName("video")[0]).pause():e.video.pause();else if(e.pause&&"dailymotion"!==e.format){var i="object"==typeof e.pause?JSON.stringify(e.pause):String(e.pause);e.video.contentWindow.postMessage(i,"*")}else e.dom.innerHTML="",e.video=null;else e.dom.innerHTML="",t.removeClass(e.dom,this.pre+"-loading")},e.insertMedia=function(t,e){var i=this.gallery[t];i&&(void 0===i.index&&(i.index=this.gallery.indexOf(i)),this.buildMedia(i),this.appendMedia(i,e),this.loadMedia(i,e))},e.buildMedia=function(e){if(void 0===e.dom){switch(e.type){case"image":e.dom=t.createEl("img",this.pre+"-img"),e.dom.src=e.src;break;case"video":e.dom=t.createEl("div",this.pre+"-video"),e.poster?e.dom.style.backgroundImage='url("'+e.poster+'")':e.dom.loaded=!0;break;case"iframe":e.dom=t.createEl("iframe",this.pre+"-iframe"),e.dom.setAttribute("allowfullscreen",""),e.dom.setAttribute("frameborder",0),e.dom.src=e.src;break;case"HTML":var i=document.querySelector(e.src);e.dom=t.createEl("div",this.pre+"-html"),e.dom.appendChild(t.createEl("div",this.pre+"-html-inner")),e.dom.firstChild.innerHTML=i?i.innerHTML:null,e.src=i||"",e.dom.loaded=!0}e.type&&e.src||(e.dom=t.createEl("div",this.pre+"-error"),e.dom.textContent=this.options.noContent,e.dom.loaded=!0,e.dom.error=!0,t.dispatchEvent(this,"modulobox","noContent",this.gallery.name,parseInt(e.index,10)))}},e.appendMedia=function(e,i){var s=this.slides[i],o=s.firstChild;if(o.childElementCount){var n=o.lastChild,r=o.firstChild;r.style.visibility="",e.dom!==n&&o[1===o.childElementCount?"appendChild":"replaceChild"](e.dom,n)}else n=document.createDocumentFragment(),r=t.createEl("div",this.pre+"-loader"),n.appendChild(r),n.appendChild(e.dom),o.appendChild(n);s.media=e.index},e.loadMedia=function(e,i){if(e.dom.loaded)this.showMedia(e,i);else{var s=this,o="iframe"===e.type?e.dom:e.dom.img=new Image,n=function(){e.dom.error||t.dispatchEvent(s,"modulobox","loadComplete",s.gallery.name,parseInt(e.index,10)),e.dom.loaded="iframe"!==e.type,s.showMedia(e,i)};o.onload=n,o.onerror=function(o){"video"!==e.type&&(e.dom=t.createEl("p",s.pre+"-error"),e.dom.textContent=s.options.loadError,e.dom.error=!0,s.appendMedia(e,i)),t.dispatchEvent(s,"modulobox","loadError",s.gallery.name,parseInt(e.index,10)),n()},o.src="video"===e.type?e.poster:e.src}},e.unloadMedia=function(t){this.gallery&&(t=this.gallery[t.media])&&t.dom&&(!this.options.unload||"image"!==t.type||t.dom.loaded||t.dom.complete||t.dom.naturalWidth?"video"===t.type&&"html5"!==t.format&&t.dom.firstChild&&(t.video=null,t.dom.removeChild(t.dom.firstChild)):(t.dom.onload=null,t.dom.onerror=null,t.dom.src="",t.dom.img&&(t.dom.img.onload=null,t.dom.img.onerror=null,t.dom.img.src="",delete t.dom.img),delete t.dom))},e.removeMedia=function(t){if(t=t.firstChild)for(;t.firstChild;)t.removeChild(t.firstChild)},e.showMedia=function(e,i){s=this.slider;if(!this.options.fadeIfSettle||s.settle||e.dom.revealed){var s=this.slides[i],o=this.gallery,n=s.firstChild.firstChild,r=this.options.preload;this.setMediaSize(e,s),e.index===o.index&&this.isZoomable(),t.addClass(e.dom,this.pre+"-media-loaded"),e.dom.revealed=!0,s.media===e.index&&(n.style.visibility="hidden",o.loaded+=1,o.loaded===r&&4>r&&this.setMedia(r+2)),"iframe"===e.type&&(e.dom.loaded=!1)}},e.setMediaSize=function(t,e){var i=t.dom,s=this.slider,o=i.viewport,n=this.getThumbHeight();i.error||(o&&o.width===s.width&&o.height===s.height-n||(this.getCaptionHeight(t,e),this.getMediaSize(t,e),this.fitMediaSize(t,e),this.setMediaOffset(t,e)),s=i.style,s.width=i.size.width+"px",s.height=i.size.height+"px",s.left=i.offset.left+"px",s.top=i.offset.top+"px")},e.getCaptionHeight=function(t,e){var i=this.DOM.captionInner,s=this.DOM.topBar.height,o=i.innerHTML,n=this.getThumbHeight();this.options.caption&&this.states.caption&&t.caption?(i.innerHTML=t.caption,i.height=Math.max(s,parseInt(i.clientHeight,10))||s,i.innerHTML=o):i.height=n?0:s,e.width=this.slider.width,e.height=this.slider.height-s-i.height-n},e.getMediaSize=function(t,e){var i=t.dom.size={};switch(t.type){case"image":i.width=t.dom.naturalWidth,i.height=t.dom.naturalHeight;break;case"video":i.width=this.options.videoMaxWidth,i.height=i.width/this.options.videoRatio;break;case"iframe":i.width=t.width?t.width:680<e.width?.8*e.width:e.width,i.height=t.height?t.height:e.height;break;case"HTML":i.width=t.width?t.width:e.width,i.height=t.height?t.height:e.height}},e.fitMediaSize=function(t,e){var i,s,o=this.slider,n=this.options,r=n.zoomTo,a=t.dom.size,h=a.width/a.height,l=this.getThumbHeight(),d=480>=o.width||680>=o.height,u=0>["video","iframe","HTML"].indexOf(t.type),p=[e.height];(n.smartResize&&d||n.overflow)&&u&&p.unshift(o.height-l),p.forEach(function(t){(!s||s<o.height-l)&&(i=Math.min(a.width,h*t),i=i>e.width?e.width:Math.round(i),s=Math.ceil(1/h*i),s=2>s%t?t:s)}),d=Number((a.width/i).toFixed(3)),t.dom.size={width:i,height:s,scale:d>=n.minZoom?Math.min(n.maxZoom,"auto"===r?d:r):1}},e.setMediaOffset=function(t,e){var i=t.dom.size,s=this.slider,o=this.DOM.topBar.height,n=this.getThumbHeight(),r=0;i.height<=e.height&&(r=o+.5*(e.height-i.height)),t.dom.offset={top:0>r?0:Math.round(r),left:Math.round(.5*(e.width-i.width))},t.dom.viewport={width:s.width,height:s.height-n}},e.mediaViewport=function(t){if(!(o=this.getMedia()).dom||!o.dom.size)return{top:0,bottom:0,left:0,right:0};var e=o.dom.size,i=o.dom.offset,s=this.slider.height,o=this.slider.width,n=.5*(s-e.height),r=(n=.5*(n-(r=2*i.top-n)))*t-2*n-r,i=e.width/2*(t-1)-i.left,a=e.height*t<=s?n*t:-e.height/2*(t-1)+s-e.height+r,s=e.height*t<=s?n*t:e.height/2*(t-1)+r;return{top:1>=t?0:Math.round(a),bottom:1>=t?0:Math.round(s),left:e.width*t<o?0:Math.round(i),right:e.width*t<o?0:Math.round(-i)}},e.setMedia=function(e){var i,s=this.gallery,o=this.slides,n=this.states.loop,r=this.isRTL(),a=Math.round(-r*this.slider.position.x/o.width),h=s.initialLength-1,l=0,r=[];if(!e&&!s.loaded){for(i=e=0;i<o.length;i++)o[i].firstChild.childElementCount&&e++;e+=2,s.loaded=this.options.preload}switch(e){case 0:case 1:r=[0];break;case 2:case 3:r=[-1,0,1];break;default:e=5,r=[-2,-1,0,1,2]}for(n||(i=a+r[e-1],e=a+r[0],l=0>e?-e:0,l=i>h?h-i:l),r=r.map(function(e){return t.modulo(s.length,e+l+a)}),i=0;i<o.length;i++)h=o[i],e=t.modulo(s.length,h.index),!n&&h.index>e||!(-1<r.indexOf(e))||h.media===e||(this.unloadMedia(h),this.insertMedia(e,i))},e.updateMediaInfo=function(){var e=this.gallery;e.index=t.modulo(e.length,this.slides.index),this.isZoomable(),this.isDownloadable(),this.updateCounter(),this.updateCaption(),this.updateThumbs(),t.dispatchEvent(this,"modulobox","updateMedia",this.getMedia())},e.setThumbs=function(){var e=this.thumbs,i=this.gallery.initialLength,s=this.DOM.thumbsHolder;if(!this.options.thumbnails||2>i)this.DOM.caption.style.bottom=0,s.style.visibility="hidden",s.style.height=0,e.height=e.gutter=0;else{for(var o=this.options.thumbnailSizes,n=Math.max(window.innerWidth,Math.max(screen.width,screen.height)),s=0,r=Object.keys(o).sort(function(t,e){return t-e}),e=0;e<r.length;e++){var a=r[e],h=Math.ceil((e===r.length-1?n:Math.min(n,a))/(o[a].width+o[a].gutter)*2);if(isFinite(h)&&h>s&&(s=h),a>=n)break}for(o=document.createDocumentFragment(),i=50<i?Math.min(s,i):i,e=0;e<i;e++)s=t.createEl("div",this.pre+"-thumb"),o.appendChild(s);this.DOM.thumbsInner.appendChild(o),this.setThumbsPosition()}},e.thumbClick=function(e){e=e.target,t.hasClass(e,this.pre+"-thumb")||(e=e.parentNode),0<=parseInt(e.index,10)&&this.slideTo(e.index)},e.loadThumb=function(e,i){var s=this.gallery[i];if(!s.thumb||"object"!=typeof s.thumb){var o=s.thumb;s.thumb=t.createEl("div",this.pre+"-thumb-bg"),s.thumb.style.backgroundImage=o&&0>o.indexOf(".json")?"url("+o+")":null,"video"===s.type&&(t.addClass(s.thumb,this.pre+"-thumb-video"),t.addClass(s.thumb,this.pre+"-thumb-loaded"))}if(e[e.firstChild?"replaceChild":"appendChild"](s.thumb,e.firstChild),e.media=i,o){var n=new Image;n.onload=function(){t.addClass(s.thumb,this.pre+"-thumb-loaded")}.bind(this),n.src=o}},e.updateThumbs=function(){e=this.gallery;if(this.options.thumbnails&&!(2>e.initialLength)){var e=this.thumbs,i=this.getThumbPosition(e);e.stopAnimate(),i===e.position.x?this.shiftThumbs(e):Math.abs(i-e.position.x)>50*e.size?(this.DOM.thumbsHolder.style.visibility="hidden",e.position.x=i,t.translate(this.DOM.thumbsInner,i,0),this.renderThumbs(e),this.DOM.thumbsHolder.style.visibility=""):(e.startAnimate(),e.releaseDrag(),e.animateTo({x:i}))}},e.updateCaption=function(){if(this.options.caption){var t=(t=this.getMedia()).caption?t.caption:"",e=this.DOM.captionInner;e.innerHTML!==t&&(e.innerHTML=t)}},e.updateCounter=function(){if(this.options.counterMessage){var e=(i=this.gallery).initialLength,i=t.modulo(e,i.index),e=this.options.counterMessage.replace("[index]",i+1).replace("[total]",e);(i=this.DOM.counter).textContent!==e&&(i.textContent=e)}},e.wrapAround=function(){var e=this.options.loop,i=this.gallery,s=i.length;if(i.initialLength||(i.initialLength=s),this.states.loop=!!(e&&e<=s),this.states.loop&&s<this.slides.length)for(var e=Math.ceil(this.slides.length/s)*s-s,o=0;o<e;o++){var n=s+o;i[n]=t.cloneObject(i[t.modulo(s,o)]),i[n].index=n}},e.setSlider=function(){var t=this.slider,e=this.slides;this.setSizes(t,e),this.setSliderPosition(t,e),this.setSlidesPositions(e),this.DOM.overlay.style.opacity=1},e.setSizes=function(t,e){t.width=document.body.clientWidth,t.height=window.innerHeight,e.width=t.width+Math.round(t.width*this.options.spacing)},e.setSlidesPositions=function(t){for(var e=0;e<t.length;e++)t[e].position=null,this.setCellPosition(e);this.shiftSlides()},e.setThumbsPosition=function(){if(this.options.thumbnails&&!(2>this.gallery.initialLength)){for(var e,i=this.thumbs,s=this.slider,o=this.DOM.thumbsHolder,n=this.DOM.thumbsInner,r=this.options.thumbnailSizes,a=this.options.rightToLeft,h=Object.keys(r).sort(function(t,e){return e-t}),l=Math.max.apply(null,h),d=window.innerWidth,u=0;u<h.length;u++)e=Number(h[u]),d<=e&&(l=e);i.width=Number(r[l].width),i.gutter=Number(r[l].gutter),i.height=Number(r[l].height),i.size=i.width+i.gutter,i.length=this.gallery.initialLength,r=i.length*i.size,i.bound={left:0,right:r>s.width?s.width-r:0},a&&(i.bound.right=r>s.width?s.width-i.size:r-i.size,i.bound.left=r-i.size),"centered"===this.options.thumbnailsNav&&(i.bound={left:r>s.width?Math.floor(.5*s.width-.5*i.size):Math.floor(.5*r-.5*i.size),right:r>s.width?Math.ceil(.5*s.width-r+.5*i.size):-Math.ceil(.5*r-.5*i.size)},a&&(i.bound.right=i.bound.left,i.bound.left=i.bound.left+r-i.size)),i.resetAnimate(),h=this.getThumbPosition(i),i.position.x=h,t.translate(n,h,0),h=this.getThumbHeight(),o.style.visibility=h?"":"hidden",o.style.height=h?h+"px":"",n.style.height=h?i.height+Math.min(10,i.gutter)+"px":"",n.style.width=i.length*i.size+"px",n.style.right=r>s.width&&a?"auto":""}},e.getThumbPosition=function(e){var i=this.slider,s=this.gallery,o=this.options.thumbnailsNav,n=this.isRTL(),r=0>n?"right":"left",s=t.modulo(s.initialLength,s.index),i=.5*i.width-.5*e.size,s=e.bound[r]-s*e.size*n,s=e.bound[r]?s+(0>n&&"centered"!==o?-i:0):s+i;return Math.max(e.bound.right,Math.min(e.bound.left,s))},e.setCellPosition=function(e){this.cells[e].resetAnimate(),t.translate(this.slides[e].children[0],0,0,1)},e.setSliderPosition=function(e,i){var s=this.options.rightToLeft,o=-i.index*i.width,o=s?-o:o;e.resetAnimate(),e.position.x=e.attraction.x=o,e.bound={left:0,right:-(this.gallery.length-1)*i.width},s&&(e.bound.left=-e.bound.right,e.bound.right=0),t.translate(this.DOM.slider,o,0)},e.setAnimation=function(){var t=this.DOM.slider,e=this.options.friction,s=this.options.attraction;this.slider=new i(t,{x:0,y:0},Math.min(Math.max(e.slider,0),1),Math.min(Math.max(s.slider,0),1)),this.slider.on("settle.toanimate",this.settleSider.bind(this)),this.slider.on("render.toanimate",this.renderSlider.bind(this));for(var o=(t=t.children).length,n=0;n<o;n++)this.cells[n]=new i(t[n].children[0],{x:0,y:0,s:1},Math.min(Math.max(e.slide,0),1),Math.min(Math.max(s.slide,0),1)),this.cells[n].on("settle.toanimate",this.settleCell.bind(this)),this.cells[n].on("render.toanimate",this.renderCell.bind(this));this.thumbs=new i(this.DOM.thumbsInner,{x:0},Math.min(Math.max(e.thumbs,0),1),Math.min(Math.max(s.thumbs,0),1)),this.thumbs.on("settle.toanimate",this.settleThumbs.bind(this)),this.thumbs.on("render.toanimate",this.renderThumbs.bind(this))},e.settleSider=function(e){if(t.dispatchEvent(this,"modulobox","sliderSettled",e.position),this.states.open&&(this.setMedia(),this.replaceState()),this.options.fadeIfSettle)for(var i=this.slides,s=0;s<i.length;s++)(e=this.gallery[i[s].media]).dom.loaded&&this.showMedia(e,s)},e.settleCell=function(e){var i=this.gesture;i.closeBy&&t.dispatchEvent(this,"modulobox","panYSettled",null,e.position),(i.closeBy&&!1===i.canClose||!i.closeBy)&&t.dispatchEvent(this,"modulobox","panZoomSettled",null,e.position)},e.settleThumbs=function(e){t.dispatchEvent(this,"modulobox","thumbsSettled",null,e.position)},e.renderSlider=function(e){this.shiftSlides();var i=this.isRTL(),s=this.gallery.initialLength;e=t.modulo(s,-i*e.position.x/this.slides.width),t.dispatchEvent(this,"modulobox","sliderProgress",null,Math.min(1,Math.max(0,(e>s-.5?0:e)/(s-1))))},e.renderCell=function(e){if(this.willClose(e),"panY"===this.gesture.type||this.gesture.closeBy||"dragSlider"===this.gesture.type&&0!==e.position.y){var i=1-Math.abs(e.position.y)/(.5*this.slider.height);t.dispatchEvent(this,"modulobox","panYProgress",null,i)}"panY"!==this.gesture.type&&1!==e.position.s&&(i=e.position.s,t.dispatchEvent(this,"modulobox","panZoomProgress",null,i))},e.renderThumbs=function(e){this.shiftThumbs(e),t.dispatchEvent(this,"modulobox","thumbsProgress",null,e.bound.left!==e.bound.right?(e.bound.left-e.position.x)/(e.bound.left-e.bound.right):0)},e.touchStart=function(e){var i=e.target,s=i.tagName,o=i.className;3!==e.which&&i!==this.buttons.play&&this.stopSlideShow(),3===e.which||!this.isEl(e)||-1<["BUTTON","VIDEO","INPUT","A"].indexOf(s)||("IMG"===s&&1<this.gallery.length&&t.addClass(this.DOM.holder,this.pre+"-dragging"),e.preventDefault(),t.hasClass(this.DOM.holder,this.pre+"-open-tooltip")||(this.pointers.length||(this.gesture.canClose=void 0,t.handleEvents(this,window,this.dragEvents.move,"touchMove"),t.handleEvents(this,window,this.dragEvents.end,"touchEnd")),this.addPointer(e),0>o.indexOf("-thumb")?(this.slider.stopAnimate(),e=this.getCell(),(1!=Math.round(100*e.position.s)/100||2===this.pointers.length||this.gesture.closeBy)&&e.stopAnimate()):this.thumbs.stopAnimate(),this.gestures("start")))},e.touchMove=function(e){this.updatePointer(e);var i=this.gesture,s=this.pointers.length,o=this.isSliderSettle();this.switchPointers(),this.gestures("move"),i.type?(this[i.type](e),t.dispatchEvent(this,"modulobox",i.type+"Move",e,i),i.move=!0):(2===s&&o||Math.abs(i.dx)>this.options.threshold||Math.abs(i.dy)>this.options.threshold)&&(i.sx+=i.dx,i.sy+=i.dy,i.canZoom=this.isZoomable(),i.closeBy=!1,i.type=!(Math.abs(i.dx)<Math.abs(i.dy)/2)&&"dragSlider",i.type=this.options.dragToClose&&!i.type&&o?"panY":i.type,i.type=(this.options.pinchToZoom||this.states.zoom)&&i.canZoom&&o&&(2===s||this.states.zoom)?"panZoom":i.type,i.type=this.options.pinchToClose&&1>i.scale&&o&&2===s?"panZoom":i.type,i.type=-1<e.target.className.indexOf("-thumb")?"dragThumbs":i.type,"dragSlider"===i.type&&this.setMedia(),-1<["dragSlider","dragThumbs"].indexOf(i.type)&&((s=this.getCell()).startAnimate(),s.releaseDrag(),s.animateTo({x:0,y:0,s:1})),"dragSlider"!==i.type&&(s=this.slider,o=this.slides,-this.isRTL()*s.position.x!=o.index*o.width&&(s.startAnimate(),s.releaseDrag())),i.type&&(this.pauseVideo(),t.dispatchEvent(this,"modulobox",i.type+"Start",e,i),(1<this.gallery.length||"dragSlider"!==i.type)&&t.addClass(this.DOM.holder,this.pre+"-dragging")))},e.touchEnd=function(e){if(this.deletePointer(e),!this.pointers.length){if(t.removeClass(this.DOM.holder,this.pre+"-dragging"),t.handleEvents(this,window,this.dragEvents.move,"touchMove",!1),t.handleEvents(this,window,this.dragEvents.end,"touchEnd",!1),this.isSliderSettle()){var i=e.target.className;if(t.hasClass(e.target,this.pre+"-video"))this.appendVideo();else if(this.options.tapToClose&&!this.states.zoom&&(i===this.pre+"-item-inner"||i===this.pre+"-top-bar")&&Math.abs(this.gesture.dx)<this.options.threshold)return void this.close();"IMG"===e.target.tagName&&this.doubleTap(e)}this.options.thumbnails&&!this.gesture.move&&this.thumbClick(e),i=this.gesture.type+"End",this.gesture.type&&"function"==typeof this[i]&&(this[i](e),t.dispatchEvent(this,"modulobox",i,e,this.gesture)),this.gesture.type=this.gesture.move=!1,this.states.open&&((e=this.getCell()).settle||(e.startAnimate(),e.releaseDrag()),(e=this.slider).settle||(e.startAnimate(),e.releaseDrag()))}},e.switchPointers=function(){if("panZoom"===this.gesture.type&&1===this.pointers.length&&0!==this.gesture.distance){var t=this.getCell();t.stopAnimate(),t.startAnimate(),this.gesture.move=!1,this.gestures("start"),this.gestures("move")}},e.doubleTap=function(e){e.preventDefault();var i=(e=this.mapPointer(e))[0].clientX,s=e[0].clientY;void 0!==this.tap&&350>+new Date-this.tap.delay&&30>Math.abs(this.tap.deltaX-i)&&30>Math.abs(this.tap.deltaY-s)?(this.states.tapIdle&&clearTimeout(this.states.tapIdle),this.options.doubleTapToZoom&&this.zoomTo(i,s),this.tap=void 0):(this.browser.touchDevice&&this.options.timeToIdle&&!this.states.idle&&(this.states.tapIdle=setTimeout(function(){var e=t.hasClass(this.DOM.holder,this.pre+"-idle")?"remove":"add";t[e+"Class"](this.DOM.holder,this.pre+"-idle")}.bind(this),350)),this.tap={delay:+new Date,deltaX:e[0].clientX,deltaY:e[0].clientY})},e.isSliderSettle=function(){if(this.gesture.type)return!1;var t=this.isRTL(),e=this.slides,i=e.width;return 3>=Math.abs(t*this.slider.position.x+e.index*i)/i*100},e.mapPointer=function(t){return t.touches?t.changedTouches:[t]},e.addPointer=function(t){t=this.mapPointer(t);for(var e=0;e<t.length;e++)if(2>this.pointers.length&&-1===["dragSlider","panY","dragThumbs"].indexOf(this.gesture.type)){var i=t[e],s=void 0!==i.pointerId?i.pointerId:i.identifier;this.getPointer(s)||(this.pointers[this.pointers.length]={id:s,x:Math.round(i.clientX),y:Math.round(i.clientY)})}},e.updatePointer=function(t){t=this.mapPointer(t);for(var e=0;e<t.length;e++){var i=t[e],s=this.getPointer(void 0!==i.pointerId?i.pointerId:i.identifier);s&&(s.x=Math.round(i.clientX),s.y=Math.round(i.clientY))}},e.deletePointer=function(t){t=this.mapPointer(t);for(var e=0;e<t.length;e++)for(var i=t[e],i=void 0!==i.pointerId?i.pointerId:i.identifier,s=0;s<this.pointers.length;s++)this.pointers[s].id===i&&this.pointers.splice(s,1)},e.getPointer=function(t){for(var e in this.pointers)if(this.pointers[e].id===t)return this.pointers[e];return null},e.gestures=function(t){var e=this.gesture;if((s=this.pointers).length){if(e.direction=e.x?s[0].x>e.x?1:-1:0,e.x=s[0].x,e.y=s[0].y,2===s.length){var i=s[1].x,s=s[1].y,o=this.getDistance([e.x,e.y],[i,s]);e.x-=(e.x-i)/2,e.y-=(e.y-s)/2}"start"===t?(e.dx=0,e.dy=0,e.sx=e.x,e.sy=e.y,e.distance=o||0):(e.dx=e.x-e.sx,e.dy=e.y-e.sy,e.scale=o&&e.distance?o/e.distance:1)}},e.getDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},e.panY=function(){var t=this.getCell();t.startAnimate(),t.updateDrag({x:t.position.x,y:t.start.y+this.gesture.dy,s:t.position.s})},e.panYEnd=function(){var t=this.getCell(),e=this.slider.height,i=t.resting.y;.8>1-Math.abs(i)/(.5*e)&&(e=Math.abs(i)<.5*e?Math.abs(i)/i*e*.5:i,this.close(),t.animateTo({x:0,y:e,s:e?t.resting.s:1}),t.startAnimate(),t.releaseDrag())},e.panZoom=function(){var t=this.getCell(),e=this.gesture,i=this.mediaViewport(t.position.s),s=Math.min(1.5*this.options.maxZoom,Math.max(this.options.pinchToClose&&e.canClose?.1:.6,t.start.s*e.scale)),o=t.start.x+e.dx,n=t.start.y+e.dy,r=e.sx-.5*this.slider.width,a=e.sy-.5*this.slider.height;e.canZoom&&(this.options.pinchToZoom||this.states.zoom)||(s=Math.min(1,s)),!this.options.pinchToZoom&&this.states.zoom&&(s=t.position.s),e.move||1!==this.pointers.length||(t.start.x+=o>i.left?o-i.left:o<i.right?o-i.right:0,t.start.y+=n>i.bottom?n-i.bottom:n<i.top?n-i.top:0),o=e.dx+r+s/t.start.s*(t.start.x-r),n=e.dy+a+s/t.start.s*(t.start.y-a),1===this.pointers.length&&(o=o>i.left?.5*(o+i.left):o<i.right?.5*(o+i.right):o,n=n>i.bottom?.5*(n+i.bottom):n<i.top?.5*(n+i.top):n),t.startAnimate(),t.updateDrag({x:o,y:n,s:s}),this.updateZoom(s)},e.panZoomEnd=function(){var t=this.getCell(),e=this.gesture,i=t.resting.s>this.options.maxZoom?this.options.maxZoom:1>t.resting.s?1:t.resting.s,s=this.mediaViewport(i);if(Math.round(10*t.resting.s)/10>this.options.maxZoom){var o=e.distance?e.sx-.5*this.slider.width:0,n=e.distance?e.sy-.5*this.slider.height:0;o=e.dx+o+i/t.start.s*(t.start.x-o),n=e.dy+n+i/t.start.s*(t.start.y-n),o=o>s.left?s.left:o<s.right?s.right:o,n=n>s.bottom?s.bottom:n<s.top?s.top:n}else o=t.resting.x>s.left?s.left:t.resting.x<s.right?s.right:void 0,n=t.resting.y>s.bottom?s.bottom:t.resting.y<s.top?s.top:void 0;this.options.pinchToClose&&.8>t.resting.s&&e.canClose&&(i=.3>t.resting.s?t.resting.s:.15,o=t.resting.x,n=t.resting.y,this.close()),t.animateTo({x:o,y:n,s:i!==t.resting.s?i:void 0}),t.startAnimate(),t.releaseDrag(),this.updateZoom(t.resting.s)},e.dragThumbs=function(){var t=this.thumbs,e=t.bound,i=t.start.x+this.gesture.dx;this.gesture.move||(t.start.x+=i>e.left?i-e.left:i<e.right?i-e.right:0,i=t.start.x+this.gesture.dx),i=i>e.left?.5*(i+e.left):i<e.right?.5*(i+e.right):i,t.startAnimate(),t.attraction.x=void 0,t.updateDrag({x:i})},e.dragThumbsEnd=function(){var t=this.thumbs,e=t.bound,i=t.resting.x;(i=i>e.left?e.left:i<e.right?e.right:i)!==t.resting.x&&t.animateTo({x:i}),t.startAnimate(),t.releaseDrag()},e.dragSlider=function(){if(1!==this.gallery.length){var t=this.slider,e=t.start.x+this.gesture.dx;if(!this.states.loop){var i=t.bound;this.gesture.move||(t.start.x+=e>i.left?e-i.left:e<i.right?e-i.right:0,e=t.start.x+this.gesture.dx),e=e>i.left?.5*(e+i.left):e<i.right?.5*(e+i.right):e}t.startAnimate(),t.updateDrag({x:e})}},e.dragSliderEnd=function(){if(1!==this.gallery.length){var t=this.slider,e=this.slides,i=e.index,s=this.isRTL();this.getRestingIndex(t.position.x,t.resting.x),i!==e.index&&this.updateMediaInfo(),this.slider.animateTo({x:-s*e.index*e.width,y:void 0,s:void 0}),t.startAnimate(),t.releaseDrag()}},e.getRestingIndex=function(t,e){var i=this.gesture.direction,s=this.gallery,o=this.slides,n=this.gesture.dx,r=this.isRTL(),a=Math.round(-r*t/o.width),h=Math.abs(e-t);Math.abs(n)<.5*o.width&&h&&(0<n&&0<i?a-=1*r:0>n&&0>i&&(a+=1*r)),i=Math.max(-1,Math.min(1,a-o.index)),!this.states.loop&&(0>s.index+i||s.index+i>s.length-1)||(o.index+=i)},e.shiftSlides=function(){var e=this.slides,i=this.gallery,s=this.states.loop,o=this.isRTL(),n=o*Math.round(-this.slider.position.x/e.width)-2,r=n+5;for(!s&&r>i.initialLength-1&&(n=i.initialLength-5,r=n+5),!s&&0>n&&(n=0,r=5),i=n;i<r;i++)s=o*i*e.width,n=t.modulo(e.length,i),((n=e[n]).index!==i||n.position!==s)&&(n.index=i,n.position=s,n.style.left=s+"px");this.states.open&&this.setMedia(3)},e.shiftThumbs=function(e){var i=this.DOM.thumbsInner.children,s=this.slider,o=this.gallery,n=this.isRTL(),r=i.length,a=t.modulo(o.initialLength,o.index),h=(u=Math.max(0,Math.round((-n*e.position.x+n*e.size*r*.25)/e.size)-Math.floor(r/2)))+r,l=.5*s.width,d=e.position.x+l,s=e.position.x-s.width-l;for(h>o.initialLength&&(h=o.initialLength,u=h-r),h===o.initialLength-1&&u-h<r&&(u=o.initialLength-r),o=u;o<h;o++){var u=i[t.modulo(r,o)],l=n*o*e.size+.5*e.gutter,p=this.pre+"-active-thumb",m=t.hasClass(u,p);u.index===o&&u.position===l||(u.index=o,u.position=l,u.style.left=l+"px"),this.setThumbSize(u,e),-u.position<=d&&-u.position>=s&&u.media!==o&&this.loadThumb(u,o),m&&a!==o?t.removeClass(u,p):m||a!==o||t.addClass(u,p)}},e.setThumbSize=function(t,e){t.width===e.width&&t.height===e.height&&t.gutter===e.gutter||(t.width=e.width,t.height=e.height,t.gutter=e.gutter,t.style.width=e.width+"px",t.style.height=e.height+"px")},e.willClose=function(e){var i=this.DOM.overlay.style.opacity,s=this.gesture.canClose,o=this.gesture.type,n=this.gesture.closeBy,r="panY"===o||"panY"===n;1.1<e.position.s&&void 0===s?this.gesture.canClose=!1:1>e.position.s&&void 0===s&&(this.gesture.canClose=!0),this.options.pinchToClose&&("panZoom"===o||"panZoom"===n)&&this.gesture.canClose?(i=e.position.s,this.gesture.closeBy="panZoom"):r?(i=1-Math.abs(e.position.y)/(.5*this.slider.height),this.gesture.closeBy="panY"):i&&1>i&&(i=1,this.gesture.closeBy=!1),i=i?Math.max(0,Math.min(1,i)):1,t[(.8>=i||!i?"add":"remove")+"Class"](this.DOM.holder,this.pre+"-will-close"),this.DOM.overlay.style.opacity=i},e.prev=t.throttle(function(){this.gesture.move||this.slideTo(this.slides.index-1*this.isRTL())},120),e.next=t.throttle(function(){this.gesture.move||this.slideTo(this.slides.index+1*this.isRTL())},120),e.slideTo=function(e,i){var s=this.slides,o=this.gallery,n=this.DOM.slider,r=this.isRTL(),a=o.initialLength,h=t.modulo(a,e),o=h-(o=t.modulo(a,o.index)),l=a-Math.abs(o);!this.states.loop&&(0>e||e>this.gallery.initialLength-1)||(this.states.loop&&3>l&&2*l<a&&(o=0>o?l:-l),h===e&&(e=s.index+o),(o=e-s.index)&&(this.states.zoom&&this.zoom(),this.pauseVideo(),this.share(),i||this.stopSlideShow(),s.index=e,a=this.slider,2<Math.abs(o)&&(t.addClass(n,this.pre+"-hide"),this.setSliderPosition(a,s),this.setSlidesPositions(s),a.position.x=a.attraction.x=a.position.x+r*s.width*Math.min(2,Math.abs(o))*Math.abs(o)/o,t.translate(n,a.position.x,0),n.getClientRects()),this.updateMediaInfo(),t.removeClass(n,this.pre+"-hide"),a.startAnimate(),a.releaseDrag(),a.animateTo({x:-r*e*s.width,y:0,s:void 0})))},e.keyDown=function(t){var e=t.keyCode,i=this.options;if(i.prevNextKey&&(37===e?this.prev(t):39===e&&this.next(t)),27===e&&i.escapeToClose&&this.close(),!i.mouseWheel&&-1<[32,33,34,35,36,38,40].indexOf(e))return t.preventDefault(),!1},e.zoom=function(){this.zoomTo()},e.zoomTo=function(t,e,i){if(!(!this.isSliderSettle()||!this.isZoomable()&&1<i)){this.gesture.closeBy=!1;s=this.getMedia();i=i||(this.states.zoom?1:s.dom.size.scale);var s=this.getCell(),o=this.mediaViewport(i);t=t?t-.5*this.slider.width:0,e=e?e-.5*this.slider.height:0,t=1<i?Math.ceil(t+i/s.position.s*(s.position.x-t)):0,e=1<i?Math.ceil(e+i/s.position.s*(s.position.y-e)):0,s.startAnimate(),s.releaseDrag(),s.animateTo({x:t>o.left?o.left:t<o.right?o.right:t,y:e>o.bottom?o.bottom:e<o.top?o.top:e,s:i}),this.updateZoom(i)}},e.updateZoom=function(e){this.states.zoom=1<e,t[this.states.zoom?"addClass":"removeClass"](this.DOM.holder,this.pre+"-panzoom")},e.destroy=function(){if(this.GUID){this.states.open&&this.close();var t=this.options.mediaSelector,e="";try{e=document.querySelectorAll(t)}catch(t){}for(var t=0,i=e.length;t<i;t++){var s=e[t];s.mobxListener&&(s.removeEventListener("click",s.mobxListener,!1),"undefined"!=typeof jQuery&&jQuery(s).off("click",s.mobxListener))}for(this.bindEvents(!1),this.slider.resetAnimate(),t=0;t<this.slides.length;t++)this.cells[t].resetAnimate();this.thumbs&&this.thumbs.resetAnimate(),this.DOM.holder.parentNode.removeChild(this.DOM.holder),this.DOM.comment.parentNode.removeChild(this.DOM.comment),delete o[this.GUID],delete this.GUID}},"undefined"!=typeof jQuery&&function(t){t.ModuloBox=function(t){return new h(t)}}(jQuery),h});
jQuery(document).ready(function($) {
    'use strict'; 
    var rh_top_gallery = $.ModuloBox( {
        mediaSelector  : '.modulo-lightbox a',
        controls           : ['zoom', 'play', 'fullScreen', 'close'],
        caption : true,
        autoCaption : true,
        thumbnails : true,
        smartResize : true,
        pinchToZoom : true,
        escapeToClose : true
    });  
    rh_top_gallery.init(); 
});