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