-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscripts.js
5 lines (5 loc) · 126 KB
/
scripts.js
1
2
3
4
5
function Terrain(options){options=options||{},this.terrain=document.createElement("canvas"),this.terCtx=this.terrain.getContext("2d"),this.scrollDelay=options.scrollDelay||90,this.lastScroll=(new Date).getTime(),this.terrain.width=width,this.terrain.height=height,this.fillStyle=options.fillStyle||"#191D4C",this.mHeight=options.mHeight||height,this.points=[];var displacement=options.displacement||140,power=Math.pow(2,Math.ceil(Math.log(width)/Math.log(2)));this.points[0]=this.mHeight,this.points[power]=this.points[0];for(var i=1;power>i;i*=2){for(var j=power/i/2;power>j;j+=power/i)this.points[j]=(this.points[j-power/i/2]+this.points[j+power/i/2])/2+Math.floor(Math.random()*-displacement+displacement);displacement*=.6}document.body.appendChild(this.terrain)}function Star(options){this.size=2*Math.random(),this.speed=.05*Math.random(),this.x=options.x,this.y=options.y}function ShootingStar(){this.reset()}function animate(){var grd=bgCtx.createLinearGradient(0,0,0,height);grd.addColorStop(0,"#181d1f"),grd.addColorStop(1,"#2f373a");var meteor=bgCtx.createLinearGradient(0,0,0,height/2);meteor.addColorStop(0,"#181d1f"),meteor.addColorStop(.5,"#2ECEF1"),meteor.addColorStop(1,"white"),bgCtx.fillStyle=grd,bgCtx.fillRect(0,0,width,height),bgCtx.fillStyle="#ffffff",bgCtx.strokeStyle=meteor;for(var entLen=entities.length;entLen--;)entities[entLen].update();requestAnimationFrame(animate)}function toggleNavigation(event){event.preventDefault(),body.classList.toggle("nav-open")}!function(window,factory){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(jQuery){factory(window,jQuery)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("jquery")):window.jQueryBridget=factory(window,window.jQuery)}(window,function(window,jQuery){"use strict";function jQueryBridget(namespace,PluginClass,$){function methodCall($elems,methodName,args){var returnValue,pluginMethodStr="$()."+namespace+'("'+methodName+'")';return $elems.each(function(i,elem){var instance=$.data(elem,namespace);if(!instance)return void logError(namespace+" not initialized. Cannot call methods, i.e. "+pluginMethodStr);var method=instance[methodName];if(!method||"_"==methodName.charAt(0))return void logError(pluginMethodStr+" is not a valid method");var value=method.apply(instance,args);returnValue=void 0===returnValue?value:returnValue}),void 0!==returnValue?returnValue:$elems}function plainCall($elems,options){$elems.each(function(i,elem){var instance=$.data(elem,namespace);instance?(instance.option(options),instance._init()):(instance=new PluginClass(elem,options),$.data(elem,namespace,instance))})}$=$||jQuery||window.jQuery,$&&(PluginClass.prototype.option||(PluginClass.prototype.option=function(opts){$.isPlainObject(opts)&&(this.options=$.extend(!0,this.options,opts))}),$.fn[namespace]=function(arg0){if("string"==typeof arg0){var args=arraySlice.call(arguments,1);return methodCall(this,arg0,args)}return plainCall(this,arg0),this},updateJQuery($))}function updateJQuery($){!$||$&&$.bridget||($.bridget=jQueryBridget)}var arraySlice=Array.prototype.slice,console=window.console,logError="undefined"==typeof console?function(){}:function(message){console.error(message)};return updateJQuery(jQuery||window.jQuery),jQueryBridget}),function(global,factory){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",factory):"object"==typeof module&&module.exports?module.exports=factory():global.EvEmitter=factory()}("undefined"!=typeof window?window:this,function(){function EvEmitter(){}var proto=EvEmitter.prototype;return proto.on=function(eventName,listener){if(eventName&&listener){var events=this._events=this._events||{},listeners=events[eventName]=events[eventName]||[];return-1==listeners.indexOf(listener)&&listeners.push(listener),this}},proto.once=function(eventName,listener){if(eventName&&listener){this.on(eventName,listener);var onceEvents=this._onceEvents=this._onceEvents||{},onceListeners=onceEvents[eventName]=onceEvents[eventName]||{};return onceListeners[listener]=!0,this}},proto.off=function(eventName,listener){var listeners=this._events&&this._events[eventName];if(listeners&&listeners.length){var index=listeners.indexOf(listener);return-1!=index&&listeners.splice(index,1),this}},proto.emitEvent=function(eventName,args){var listeners=this._events&&this._events[eventName];if(listeners&&listeners.length){var i=0,listener=listeners[i];args=args||[];for(var onceListeners=this._onceEvents&&this._onceEvents[eventName];listener;){var isOnce=onceListeners&&onceListeners[listener];isOnce&&(this.off(eventName,listener),delete onceListeners[listener]),listener.apply(this,args),i+=isOnce?0:1,listener=listeners[i]}return this}},EvEmitter}),function(window,factory){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return factory()}):"object"==typeof module&&module.exports?module.exports=factory():window.getSize=factory()}(window,function(){"use strict";function getStyleSize(value){var num=parseFloat(value),isValid=-1==value.indexOf("%")&&!isNaN(num);return isValid&&num}function noop(){}function getZeroSize(){for(var size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},i=0;measurementsLength>i;i++){var measurement=measurements[i];size[measurement]=0}return size}function getStyle(elem){var style=getComputedStyle(elem);return style||logError("Style returned "+style+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),style}function setup(){if(!isSetup){isSetup=!0;var div=document.createElement("div");div.style.width="200px",div.style.padding="1px 2px 3px 4px",div.style.borderStyle="solid",div.style.borderWidth="1px 2px 3px 4px",div.style.boxSizing="border-box";var body=document.body||document.documentElement;body.appendChild(div);var style=getStyle(div);getSize.isBoxSizeOuter=isBoxSizeOuter=200==getStyleSize(style.width),body.removeChild(div)}}function getSize(elem){if(setup(),"string"==typeof elem&&(elem=document.querySelector(elem)),elem&&"object"==typeof elem&&elem.nodeType){var style=getStyle(elem);if("none"==style.display)return getZeroSize();var size={};size.width=elem.offsetWidth,size.height=elem.offsetHeight;for(var isBorderBox=size.isBorderBox="border-box"==style.boxSizing,i=0;measurementsLength>i;i++){var measurement=measurements[i],value=style[measurement],num=parseFloat(value);size[measurement]=isNaN(num)?0:num}var paddingWidth=size.paddingLeft+size.paddingRight,paddingHeight=size.paddingTop+size.paddingBottom,marginWidth=size.marginLeft+size.marginRight,marginHeight=size.marginTop+size.marginBottom,borderWidth=size.borderLeftWidth+size.borderRightWidth,borderHeight=size.borderTopWidth+size.borderBottomWidth,isBorderBoxSizeOuter=isBorderBox&&isBoxSizeOuter,styleWidth=getStyleSize(style.width);styleWidth!==!1&&(size.width=styleWidth+(isBorderBoxSizeOuter?0:paddingWidth+borderWidth));var styleHeight=getStyleSize(style.height);return styleHeight!==!1&&(size.height=styleHeight+(isBorderBoxSizeOuter?0:paddingHeight+borderHeight)),size.innerWidth=size.width-(paddingWidth+borderWidth),size.innerHeight=size.height-(paddingHeight+borderHeight),size.outerWidth=size.width+marginWidth,size.outerHeight=size.height+marginHeight,size}}var isBoxSizeOuter,logError="undefined"==typeof console?noop:function(message){console.error(message)},measurements=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],measurementsLength=measurements.length,isSetup=!1;return getSize}),function(window,factory){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",factory):"object"==typeof module&&module.exports?module.exports=factory():window.matchesSelector=factory()}(window,function(){"use strict";var matchesMethod=function(){var ElemProto=Element.prototype;if(ElemProto.matches)return"matches";if(ElemProto.matchesSelector)return"matchesSelector";for(var prefixes=["webkit","moz","ms","o"],i=0;i<prefixes.length;i++){var prefix=prefixes[i],method=prefix+"MatchesSelector";if(ElemProto[method])return method}}();return function(elem,selector){return elem[matchesMethod](selector)}}),function(window,factory){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(matchesSelector){return factory(window,matchesSelector)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("desandro-matches-selector")):window.fizzyUIUtils=factory(window,window.matchesSelector)}(window,function(window,matchesSelector){var utils={};utils.extend=function(a,b){for(var prop in b)a[prop]=b[prop];return a},utils.modulo=function(num,div){return(num%div+div)%div},utils.makeArray=function(obj){var ary=[];if(Array.isArray(obj))ary=obj;else if(obj&&"number"==typeof obj.length)for(var i=0;i<obj.length;i++)ary.push(obj[i]);else ary.push(obj);return ary},utils.removeFrom=function(ary,obj){var index=ary.indexOf(obj);-1!=index&&ary.splice(index,1)},utils.getParent=function(elem,selector){for(;elem!=document.body;)if(elem=elem.parentNode,matchesSelector(elem,selector))return elem},utils.getQueryElement=function(elem){return"string"==typeof elem?document.querySelector(elem):elem},utils.handleEvent=function(event){var method="on"+event.type;this[method]&&this[method](event)},utils.filterFindElements=function(elems,selector){elems=utils.makeArray(elems);var ffElems=[];return elems.forEach(function(elem){if(elem instanceof HTMLElement){if(!selector)return void ffElems.push(elem);matchesSelector(elem,selector)&&ffElems.push(elem);for(var childElems=elem.querySelectorAll(selector),i=0;i<childElems.length;i++)ffElems.push(childElems[i])}}),ffElems},utils.debounceMethod=function(_class,methodName,threshold){var method=_class.prototype[methodName],timeoutName=methodName+"Timeout";_class.prototype[methodName]=function(){var timeout=this[timeoutName];timeout&&clearTimeout(timeout);var args=arguments,_this=this;this[timeoutName]=setTimeout(function(){method.apply(_this,args),delete _this[timeoutName]},threshold||100)}},utils.docReady=function(callback){var readyState=document.readyState;"complete"==readyState||"interactive"==readyState?callback():document.addEventListener("DOMContentLoaded",callback)},utils.toDashed=function(str){return str.replace(/(.)([A-Z])/g,function(match,$1,$2){return $1+"-"+$2}).toLowerCase()};var console=window.console;return utils.htmlInit=function(WidgetClass,namespace){utils.docReady(function(){var dashedNamespace=utils.toDashed(namespace),dataAttr="data-"+dashedNamespace,dataAttrElems=document.querySelectorAll("["+dataAttr+"]"),jsDashElems=document.querySelectorAll(".js-"+dashedNamespace),elems=utils.makeArray(dataAttrElems).concat(utils.makeArray(jsDashElems)),dataOptionsAttr=dataAttr+"-options",jQuery=window.jQuery;elems.forEach(function(elem){var options,attr=elem.getAttribute(dataAttr)||elem.getAttribute(dataOptionsAttr);try{options=attr&&JSON.parse(attr)}catch(error){return void(console&&console.error("Error parsing "+dataAttr+" on "+elem.className+": "+error))}var instance=new WidgetClass(elem,options);jQuery&&jQuery.data(elem,namespace,instance)})})},utils}),function(window,factory){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("ev-emitter"),require("get-size")):(window.Outlayer={},window.Outlayer.Item=factory(window.EvEmitter,window.getSize))}(window,function(EvEmitter,getSize){"use strict";function isEmptyObj(obj){for(var prop in obj)return!1;return prop=null,!0}function Item(element,layout){element&&(this.element=element,this.layout=layout,this.position={x:0,y:0},this._create())}function toDashedAll(str){return str.replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}var docElemStyle=document.documentElement.style,transitionProperty="string"==typeof docElemStyle.transition?"transition":"WebkitTransition",transformProperty="string"==typeof docElemStyle.transform?"transform":"WebkitTransform",transitionEndEvent={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[transitionProperty],vendorProperties={transform:transformProperty,transition:transitionProperty,transitionDuration:transitionProperty+"Duration",transitionProperty:transitionProperty+"Property",transitionDelay:transitionProperty+"Delay"},proto=Item.prototype=Object.create(EvEmitter.prototype);proto.constructor=Item,proto._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},proto.handleEvent=function(event){var method="on"+event.type;this[method]&&this[method](event)},proto.getSize=function(){this.size=getSize(this.element)},proto.css=function(style){var elemStyle=this.element.style;for(var prop in style){var supportedProp=vendorProperties[prop]||prop;elemStyle[supportedProp]=style[prop]}},proto.getPosition=function(){var style=getComputedStyle(this.element),isOriginLeft=this.layout._getOption("originLeft"),isOriginTop=this.layout._getOption("originTop"),xValue=style[isOriginLeft?"left":"right"],yValue=style[isOriginTop?"top":"bottom"],layoutSize=this.layout.size,x=-1!=xValue.indexOf("%")?parseFloat(xValue)/100*layoutSize.width:parseInt(xValue,10),y=-1!=yValue.indexOf("%")?parseFloat(yValue)/100*layoutSize.height:parseInt(yValue,10);x=isNaN(x)?0:x,y=isNaN(y)?0:y,x-=isOriginLeft?layoutSize.paddingLeft:layoutSize.paddingRight,y-=isOriginTop?layoutSize.paddingTop:layoutSize.paddingBottom,this.position.x=x,this.position.y=y},proto.layoutPosition=function(){var layoutSize=this.layout.size,style={},isOriginLeft=this.layout._getOption("originLeft"),isOriginTop=this.layout._getOption("originTop"),xPadding=isOriginLeft?"paddingLeft":"paddingRight",xProperty=isOriginLeft?"left":"right",xResetProperty=isOriginLeft?"right":"left",x=this.position.x+layoutSize[xPadding];style[xProperty]=this.getXValue(x),style[xResetProperty]="";var yPadding=isOriginTop?"paddingTop":"paddingBottom",yProperty=isOriginTop?"top":"bottom",yResetProperty=isOriginTop?"bottom":"top",y=this.position.y+layoutSize[yPadding];style[yProperty]=this.getYValue(y),style[yResetProperty]="",this.css(style),this.emitEvent("layout",[this])},proto.getXValue=function(x){var isHorizontal=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!isHorizontal?x/this.layout.size.width*100+"%":x+"px"},proto.getYValue=function(y){var isHorizontal=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&isHorizontal?y/this.layout.size.height*100+"%":y+"px"},proto._transitionTo=function(x,y){this.getPosition();var curX=this.position.x,curY=this.position.y,compareX=parseInt(x,10),compareY=parseInt(y,10),didNotMove=compareX===this.position.x&&compareY===this.position.y;if(this.setPosition(x,y),didNotMove&&!this.isTransitioning)return void this.layoutPosition();var transX=x-curX,transY=y-curY,transitionStyle={};transitionStyle.transform=this.getTranslate(transX,transY),this.transition({to:transitionStyle,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},proto.getTranslate=function(x,y){var isOriginLeft=this.layout._getOption("originLeft"),isOriginTop=this.layout._getOption("originTop");return x=isOriginLeft?x:-x,y=isOriginTop?y:-y,"translate3d("+x+"px, "+y+"px, 0)"},proto.goTo=function(x,y){this.setPosition(x,y),this.layoutPosition()},proto.moveTo=proto._transitionTo,proto.setPosition=function(x,y){this.position.x=parseInt(x,10),this.position.y=parseInt(y,10)},proto._nonTransition=function(args){this.css(args.to),args.isCleaning&&this._removeStyles(args.to);for(var prop in args.onTransitionEnd)args.onTransitionEnd[prop].call(this)},proto.transition=function(args){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(args);var _transition=this._transn;for(var prop in args.onTransitionEnd)_transition.onEnd[prop]=args.onTransitionEnd[prop];for(prop in args.to)_transition.ingProperties[prop]=!0,args.isCleaning&&(_transition.clean[prop]=!0);if(args.from){this.css(args.from);var h=this.element.offsetHeight;h=null}this.enableTransition(args.to),this.css(args.to),this.isTransitioning=!0};var transitionProps="opacity,"+toDashedAll(transformProperty);proto.enableTransition=function(){if(!this.isTransitioning){var duration=this.layout.options.transitionDuration;duration="number"==typeof duration?duration+"ms":duration,this.css({transitionProperty:transitionProps,transitionDuration:duration,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(transitionEndEvent,this,!1)}},proto.onwebkitTransitionEnd=function(event){this.ontransitionend(event)},proto.onotransitionend=function(event){this.ontransitionend(event)};var dashedVendorProperties={"-webkit-transform":"transform"};proto.ontransitionend=function(event){if(event.target===this.element){var _transition=this._transn,propertyName=dashedVendorProperties[event.propertyName]||event.propertyName;if(delete _transition.ingProperties[propertyName],isEmptyObj(_transition.ingProperties)&&this.disableTransition(),propertyName in _transition.clean&&(this.element.style[event.propertyName]="",delete _transition.clean[propertyName]),propertyName in _transition.onEnd){var onTransitionEnd=_transition.onEnd[propertyName];onTransitionEnd.call(this),delete _transition.onEnd[propertyName]}this.emitEvent("transitionEnd",[this])}},proto.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(transitionEndEvent,this,!1),this.isTransitioning=!1},proto._removeStyles=function(style){var cleanStyle={};for(var prop in style)cleanStyle[prop]="";this.css(cleanStyle)};var cleanTransitionStyle={transitionProperty:"",transitionDuration:"",transitionDelay:""};return proto.removeTransitionStyles=function(){this.css(cleanTransitionStyle)},proto.stagger=function(delay){delay=isNaN(delay)?0:delay,this.staggerDelay=delay+"ms"},proto.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},proto.remove=function(){return transitionProperty&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},proto.reveal=function(){delete this.isHidden,this.css({display:""});var options=this.layout.options,onTransitionEnd={},transitionEndProperty=this.getHideRevealTransitionEndProperty("visibleStyle");onTransitionEnd[transitionEndProperty]=this.onRevealTransitionEnd,this.transition({from:options.hiddenStyle,to:options.visibleStyle,isCleaning:!0,onTransitionEnd:onTransitionEnd})},proto.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},proto.getHideRevealTransitionEndProperty=function(styleProperty){var optionStyle=this.layout.options[styleProperty];if(optionStyle.opacity)return"opacity";for(var prop in optionStyle)return prop},proto.hide=function(){this.isHidden=!0,this.css({display:""});var options=this.layout.options,onTransitionEnd={},transitionEndProperty=this.getHideRevealTransitionEndProperty("hiddenStyle");onTransitionEnd[transitionEndProperty]=this.onHideTransitionEnd,this.transition({from:options.visibleStyle,to:options.hiddenStyle,isCleaning:!0,onTransitionEnd:onTransitionEnd})},proto.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},proto.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},Item}),function(window,factory){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(EvEmitter,getSize,utils,Item){return factory(window,EvEmitter,getSize,utils,Item)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):window.Outlayer=factory(window,window.EvEmitter,window.getSize,window.fizzyUIUtils,window.Outlayer.Item)}(window,function(window,EvEmitter,getSize,utils,Item){"use strict";function Outlayer(element,options){var queryElement=utils.getQueryElement(element);if(!queryElement)return void(console&&console.error("Bad element for "+this.constructor.namespace+": "+(queryElement||element)));this.element=queryElement,jQuery&&(this.$element=jQuery(this.element)),this.options=utils.extend({},this.constructor.defaults),this.option(options);var id=++GUID;this.element.outlayerGUID=id,instances[id]=this,this._create();var isInitLayout=this._getOption("initLayout");isInitLayout&&this.layout()}function subclass(Parent){function SubClass(){Parent.apply(this,arguments)}return SubClass.prototype=Object.create(Parent.prototype),SubClass.prototype.constructor=SubClass,SubClass}function getMilliseconds(time){if("number"==typeof time)return time;var matches=time.match(/(^\d*\.?\d*)(\w*)/),num=matches&&matches[1],unit=matches&&matches[2];if(!num.length)return 0;num=parseFloat(num);var mult=msUnits[unit]||1;return num*mult}var console=window.console,jQuery=window.jQuery,noop=function(){},GUID=0,instances={};Outlayer.namespace="outlayer",Outlayer.Item=Item,Outlayer.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var proto=Outlayer.prototype;utils.extend(proto,EvEmitter.prototype),proto.option=function(opts){utils.extend(this.options,opts)},proto._getOption=function(option){var oldOption=this.constructor.compatOptions[option];return oldOption&&void 0!==this.options[oldOption]?this.options[oldOption]:this.options[option]},Outlayer.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},proto._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),utils.extend(this.element.style,this.options.containerStyle);var canBindResize=this._getOption("resize");canBindResize&&this.bindResize()},proto.reloadItems=function(){this.items=this._itemize(this.element.children)},proto._itemize=function(elems){for(var itemElems=this._filterFindItemElements(elems),Item=this.constructor.Item,items=[],i=0;i<itemElems.length;i++){var elem=itemElems[i],item=new Item(elem,this);items.push(item)}return items},proto._filterFindItemElements=function(elems){return utils.filterFindElements(elems,this.options.itemSelector)},proto.getItemElements=function(){return this.items.map(function(item){return item.element})},proto.layout=function(){this._resetLayout(),this._manageStamps();var layoutInstant=this._getOption("layoutInstant"),isInstant=void 0!==layoutInstant?layoutInstant:!this._isLayoutInited;this.layoutItems(this.items,isInstant),this._isLayoutInited=!0},proto._init=proto.layout,proto._resetLayout=function(){this.getSize()},proto.getSize=function(){this.size=getSize(this.element)},proto._getMeasurement=function(measurement,size){var elem,option=this.options[measurement];option?("string"==typeof option?elem=this.element.querySelector(option):option instanceof HTMLElement&&(elem=option),this[measurement]=elem?getSize(elem)[size]:option):this[measurement]=0},proto.layoutItems=function(items,isInstant){items=this._getItemsForLayout(items),this._layoutItems(items,isInstant),this._postLayout()},proto._getItemsForLayout=function(items){return items.filter(function(item){return!item.isIgnored})},proto._layoutItems=function(items,isInstant){if(this._emitCompleteOnItems("layout",items),items&&items.length){var queue=[];items.forEach(function(item){var position=this._getItemLayoutPosition(item);position.item=item,position.isInstant=isInstant||item.isLayoutInstant,queue.push(position)},this),this._processLayoutQueue(queue)}},proto._getItemLayoutPosition=function(){return{x:0,y:0}},proto._processLayoutQueue=function(queue){this.updateStagger(),queue.forEach(function(obj,i){this._positionItem(obj.item,obj.x,obj.y,obj.isInstant,i)},this)},proto.updateStagger=function(){var stagger=this.options.stagger;return null===stagger||void 0===stagger?void(this.stagger=0):(this.stagger=getMilliseconds(stagger),this.stagger)},proto._positionItem=function(item,x,y,isInstant,i){isInstant?item.goTo(x,y):(item.stagger(i*this.stagger),item.moveTo(x,y))},proto._postLayout=function(){this.resizeContainer()},proto.resizeContainer=function(){var isResizingContainer=this._getOption("resizeContainer");if(isResizingContainer){var size=this._getContainerSize();size&&(this._setContainerMeasure(size.width,!0),this._setContainerMeasure(size.height,!1))}},proto._getContainerSize=noop,proto._setContainerMeasure=function(measure,isWidth){if(void 0!==measure){var elemSize=this.size;elemSize.isBorderBox&&(measure+=isWidth?elemSize.paddingLeft+elemSize.paddingRight+elemSize.borderLeftWidth+elemSize.borderRightWidth:elemSize.paddingBottom+elemSize.paddingTop+elemSize.borderTopWidth+elemSize.borderBottomWidth),measure=Math.max(measure,0),this.element.style[isWidth?"width":"height"]=measure+"px"}},proto._emitCompleteOnItems=function(eventName,items){function onComplete(){_this.dispatchEvent(eventName+"Complete",null,[items])}function tick(){doneCount++,doneCount==count&&onComplete()}var _this=this,count=items.length;if(!items||!count)return void onComplete();var doneCount=0;items.forEach(function(item){item.once(eventName,tick)})},proto.dispatchEvent=function(type,event,args){var emitArgs=event?[event].concat(args):args;if(this.emitEvent(type,emitArgs),jQuery)if(this.$element=this.$element||jQuery(this.element),event){var $event=jQuery.Event(event);$event.type=type,this.$element.trigger($event,args)}else this.$element.trigger(type,args)},proto.ignore=function(elem){var item=this.getItem(elem);item&&(item.isIgnored=!0)},proto.unignore=function(elem){var item=this.getItem(elem);item&&delete item.isIgnored},proto.stamp=function(elems){elems=this._find(elems),elems&&(this.stamps=this.stamps.concat(elems),elems.forEach(this.ignore,this))},proto.unstamp=function(elems){elems=this._find(elems),elems&&elems.forEach(function(elem){utils.removeFrom(this.stamps,elem),this.unignore(elem)},this)},proto._find=function(elems){return elems?("string"==typeof elems&&(elems=this.element.querySelectorAll(elems)),elems=utils.makeArray(elems)):void 0},proto._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},proto._getBoundingRect=function(){var boundingRect=this.element.getBoundingClientRect(),size=this.size;this._boundingRect={left:boundingRect.left+size.paddingLeft+size.borderLeftWidth,top:boundingRect.top+size.paddingTop+size.borderTopWidth,right:boundingRect.right-(size.paddingRight+size.borderRightWidth),bottom:boundingRect.bottom-(size.paddingBottom+size.borderBottomWidth)}},proto._manageStamp=noop,proto._getElementOffset=function(elem){var boundingRect=elem.getBoundingClientRect(),thisRect=this._boundingRect,size=getSize(elem),offset={left:boundingRect.left-thisRect.left-size.marginLeft,top:boundingRect.top-thisRect.top-size.marginTop,right:thisRect.right-boundingRect.right-size.marginRight,bottom:thisRect.bottom-boundingRect.bottom-size.marginBottom};return offset},proto.handleEvent=utils.handleEvent,proto.bindResize=function(){window.addEventListener("resize",this),this.isResizeBound=!0},proto.unbindResize=function(){window.removeEventListener("resize",this),this.isResizeBound=!1},proto.onresize=function(){this.resize()},utils.debounceMethod(Outlayer,"onresize",100),proto.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},proto.needsResizeLayout=function(){var size=getSize(this.element),hasSizes=this.size&&size;return hasSizes&&size.innerWidth!==this.size.innerWidth},proto.addItems=function(elems){var items=this._itemize(elems);return items.length&&(this.items=this.items.concat(items)),items},proto.appended=function(elems){var items=this.addItems(elems);items.length&&(this.layoutItems(items,!0),this.reveal(items))},proto.prepended=function(elems){var items=this._itemize(elems);if(items.length){var previousItems=this.items.slice(0);this.items=items.concat(previousItems),this._resetLayout(),this._manageStamps(),this.layoutItems(items,!0),this.reveal(items),this.layoutItems(previousItems)}},proto.reveal=function(items){if(this._emitCompleteOnItems("reveal",items),items&&items.length){var stagger=this.updateStagger();items.forEach(function(item,i){item.stagger(i*stagger),item.reveal()})}},proto.hide=function(items){if(this._emitCompleteOnItems("hide",items),items&&items.length){var stagger=this.updateStagger();items.forEach(function(item,i){item.stagger(i*stagger),item.hide()})}},proto.revealItemElements=function(elems){var items=this.getItems(elems);this.reveal(items)},proto.hideItemElements=function(elems){var items=this.getItems(elems);this.hide(items)},proto.getItem=function(elem){for(var i=0;i<this.items.length;i++){var item=this.items[i];if(item.element==elem)return item}},proto.getItems=function(elems){elems=utils.makeArray(elems);var items=[];return elems.forEach(function(elem){var item=this.getItem(elem);item&&items.push(item)},this),items},proto.remove=function(elems){var removeItems=this.getItems(elems);this._emitCompleteOnItems("remove",removeItems),removeItems&&removeItems.length&&removeItems.forEach(function(item){item.remove(),utils.removeFrom(this.items,item)},this)},proto.destroy=function(){var style=this.element.style;style.height="",style.position="",style.width="",this.items.forEach(function(item){item.destroy()}),this.unbindResize();var id=this.element.outlayerGUID;delete instances[id],delete this.element.outlayerGUID,jQuery&&jQuery.removeData(this.element,this.constructor.namespace)},Outlayer.data=function(elem){elem=utils.getQueryElement(elem);var id=elem&&elem.outlayerGUID;return id&&instances[id]},Outlayer.create=function(namespace,options){var Layout=subclass(Outlayer);return Layout.defaults=utils.extend({},Outlayer.defaults),utils.extend(Layout.defaults,options),Layout.compatOptions=utils.extend({},Outlayer.compatOptions),Layout.namespace=namespace,Layout.data=Outlayer.data,Layout.Item=subclass(Item),utils.htmlInit(Layout,namespace),jQuery&&jQuery.bridget&&jQuery.bridget(namespace,Layout),Layout};var msUnits={ms:1,s:1e3};return Outlayer.Item=Item,Outlayer}),function(window,factory){"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("outlayer")):(window.Isotope=window.Isotope||{},window.Isotope.Item=factory(window.Outlayer))}(window,function(Outlayer){"use strict";function Item(){Outlayer.Item.apply(this,arguments)}var proto=Item.prototype=Object.create(Outlayer.Item.prototype),_create=proto._create;proto._create=function(){this.id=this.layout.itemGUID++,_create.call(this),this.sortData={}},proto.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var getSortData=this.layout.options.getSortData,sorters=this.layout._sorters;for(var key in getSortData){var sorter=sorters[key];this.sortData[key]=sorter(this.element,this)}}};var _destroy=proto.destroy;return proto.destroy=function(){_destroy.apply(this,arguments),this.css({display:""})},Item}),function(window,factory){"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("get-size"),require("outlayer")):(window.Isotope=window.Isotope||{},window.Isotope.LayoutMode=factory(window.getSize,window.Outlayer))}(window,function(getSize,Outlayer){
"use strict";function LayoutMode(isotope){this.isotope=isotope,isotope&&(this.options=isotope.options[this.namespace],this.element=isotope.element,this.items=isotope.filteredItems,this.size=isotope.size)}var proto=LayoutMode.prototype,facadeMethods=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];return facadeMethods.forEach(function(methodName){proto[methodName]=function(){return Outlayer.prototype[methodName].apply(this.isotope,arguments)}}),proto.needsVerticalResizeLayout=function(){var size=getSize(this.isotope.element),hasSizes=this.isotope.size&&size;return hasSizes&&size.innerHeight!=this.isotope.size.innerHeight},proto._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},proto.getColumnWidth=function(){this.getSegmentSize("column","Width")},proto.getRowHeight=function(){this.getSegmentSize("row","Height")},proto.getSegmentSize=function(segment,size){var segmentName=segment+size,outerSize="outer"+size;if(this._getMeasurement(segmentName,outerSize),!this[segmentName]){var firstItemSize=this.getFirstItemSize();this[segmentName]=firstItemSize&&firstItemSize[outerSize]||this.isotope.size["inner"+size]}},proto.getFirstItemSize=function(){var firstItem=this.isotope.filteredItems[0];return firstItem&&firstItem.element&&getSize(firstItem.element)},proto.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},proto.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},LayoutMode.modes={},LayoutMode.create=function(namespace,options){function Mode(){LayoutMode.apply(this,arguments)}return Mode.prototype=Object.create(proto),Mode.prototype.constructor=Mode,options&&(Mode.options=options),Mode.prototype.namespace=namespace,LayoutMode.modes[namespace]=Mode,Mode},LayoutMode}),function(window,factory){"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("outlayer"),require("get-size")):window.Masonry=factory(window.Outlayer,window.getSize)}(window,function(Outlayer,getSize){var Masonry=Outlayer.create("masonry");return Masonry.compatOptions.fitWidth="isFitWidth",Masonry.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var i=0;i<this.cols;i++)this.colYs.push(0);this.maxY=0},Masonry.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var firstItem=this.items[0],firstItemElem=firstItem&&firstItem.element;this.columnWidth=firstItemElem&&getSize(firstItemElem).outerWidth||this.containerWidth}var columnWidth=this.columnWidth+=this.gutter,containerWidth=this.containerWidth+this.gutter,cols=containerWidth/columnWidth,excess=columnWidth-containerWidth%columnWidth,mathMethod=excess&&1>excess?"round":"floor";cols=Math[mathMethod](cols),this.cols=Math.max(cols,1)},Masonry.prototype.getContainerWidth=function(){var isFitWidth=this._getOption("fitWidth"),container=isFitWidth?this.element.parentNode:this.element,size=getSize(container);this.containerWidth=size&&size.innerWidth},Masonry.prototype._getItemLayoutPosition=function(item){item.getSize();var remainder=item.size.outerWidth%this.columnWidth,mathMethod=remainder&&1>remainder?"round":"ceil",colSpan=Math[mathMethod](item.size.outerWidth/this.columnWidth);colSpan=Math.min(colSpan,this.cols);for(var colGroup=this._getColGroup(colSpan),minimumY=Math.min.apply(Math,colGroup),shortColIndex=colGroup.indexOf(minimumY),position={x:this.columnWidth*shortColIndex,y:minimumY},setHeight=minimumY+item.size.outerHeight,setSpan=this.cols+1-colGroup.length,i=0;setSpan>i;i++)this.colYs[shortColIndex+i]=setHeight;return position},Masonry.prototype._getColGroup=function(colSpan){if(2>colSpan)return this.colYs;for(var colGroup=[],groupCount=this.cols+1-colSpan,i=0;groupCount>i;i++){var groupColYs=this.colYs.slice(i,i+colSpan);colGroup[i]=Math.max.apply(Math,groupColYs)}return colGroup},Masonry.prototype._manageStamp=function(stamp){var stampSize=getSize(stamp),offset=this._getElementOffset(stamp),isOriginLeft=this._getOption("originLeft"),firstX=isOriginLeft?offset.left:offset.right,lastX=firstX+stampSize.outerWidth,firstCol=Math.floor(firstX/this.columnWidth);firstCol=Math.max(0,firstCol);var lastCol=Math.floor(lastX/this.columnWidth);lastCol-=lastX%this.columnWidth?0:1,lastCol=Math.min(this.cols-1,lastCol);for(var isOriginTop=this._getOption("originTop"),stampMaxY=(isOriginTop?offset.top:offset.bottom)+stampSize.outerHeight,i=firstCol;lastCol>=i;i++)this.colYs[i]=Math.max(stampMaxY,this.colYs[i])},Masonry.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var size={height:this.maxY};return this._getOption("fitWidth")&&(size.width=this._getContainerFitWidth()),size},Masonry.prototype._getContainerFitWidth=function(){for(var unusedCols=0,i=this.cols;--i&&0===this.colYs[i];)unusedCols++;return(this.cols-unusedCols)*this.columnWidth-this.gutter},Masonry.prototype.needsResizeLayout=function(){var previousWidth=this.containerWidth;return this.getContainerWidth(),previousWidth!=this.containerWidth},Masonry}),function(window,factory){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("../layout-mode"),require("masonry-layout")):factory(window.Isotope.LayoutMode,window.Masonry)}(window,function(LayoutMode,Masonry){"use strict";var MasonryMode=LayoutMode.create("masonry"),proto=MasonryMode.prototype,keepModeMethods={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var method in Masonry.prototype)keepModeMethods[method]||(proto[method]=Masonry.prototype[method]);var measureColumns=proto.measureColumns;proto.measureColumns=function(){this.items=this.isotope.filteredItems,measureColumns.call(this)};var _getOption=proto._getOption;return proto._getOption=function(option){return"fitWidth"==option?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:_getOption.apply(this.isotope,arguments)},MasonryMode}),function(window,factory){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],factory):"object"==typeof exports?module.exports=factory(require("../layout-mode")):factory(window.Isotope.LayoutMode)}(window,function(LayoutMode){"use strict";var FitRows=LayoutMode.create("fitRows"),proto=FitRows.prototype;return proto._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},proto._getItemLayoutPosition=function(item){item.getSize();var itemWidth=item.size.outerWidth+this.gutter,containerWidth=this.isotope.size.innerWidth+this.gutter;0!==this.x&&itemWidth+this.x>containerWidth&&(this.x=0,this.y=this.maxY);var position={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+item.size.outerHeight),this.x+=itemWidth,position},proto._getContainerSize=function(){return{height:this.maxY}},FitRows}),function(window,factory){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("../layout-mode")):factory(window.Isotope.LayoutMode)}(window,function(LayoutMode){"use strict";var Vertical=LayoutMode.create("vertical",{horizontalAlignment:0}),proto=Vertical.prototype;return proto._resetLayout=function(){this.y=0},proto._getItemLayoutPosition=function(item){item.getSize();var x=(this.isotope.size.innerWidth-item.size.outerWidth)*this.options.horizontalAlignment,y=this.y;return this.y+=item.size.outerHeight,{x:x,y:y}},proto._getContainerSize=function(){return{height:this.y}},Vertical}),function(window,factory){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(Outlayer,getSize,matchesSelector,utils,Item,LayoutMode){return factory(window,Outlayer,getSize,matchesSelector,utils,Item,LayoutMode)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope/js/item"),require("isotope/js/layout-mode"),require("isotope/js/layout-modes/masonry"),require("isotope/js/layout-modes/fit-rows"),require("isotope/js/layout-modes/vertical")):window.Isotope=factory(window,window.Outlayer,window.getSize,window.matchesSelector,window.fizzyUIUtils,window.Isotope.Item,window.Isotope.LayoutMode)}(window,function(window,Outlayer,getSize,matchesSelector,utils,Item,LayoutMode){function getItemSorter(sortBys,sortAsc){return function(itemA,itemB){for(var i=0;i<sortBys.length;i++){var sortBy=sortBys[i],a=itemA.sortData[sortBy],b=itemB.sortData[sortBy];if(a>b||b>a){var isAscending=void 0!==sortAsc[sortBy]?sortAsc[sortBy]:sortAsc,direction=isAscending?1:-1;return(a>b?1:-1)*direction}}return 0}}var jQuery=window.jQuery,trim=String.prototype.trim?function(str){return str.trim()}:function(str){return str.replace(/^\s+|\s+$/g,"")},Isotope=Outlayer.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});Isotope.Item=Item,Isotope.LayoutMode=LayoutMode;var proto=Isotope.prototype;proto._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),Outlayer.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var name in LayoutMode.modes)this._initLayoutMode(name)},proto.reloadItems=function(){this.itemGUID=0,Outlayer.prototype.reloadItems.call(this)},proto._itemize=function(){for(var items=Outlayer.prototype._itemize.apply(this,arguments),i=0;i<items.length;i++){var item=items[i];item.id=this.itemGUID++}return this._updateItemsSortData(items),items},proto._initLayoutMode=function(name){var Mode=LayoutMode.modes[name],initialOpts=this.options[name]||{};this.options[name]=Mode.options?utils.extend(Mode.options,initialOpts):initialOpts,this.modes[name]=new Mode(this)},proto.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},proto._layout=function(){var isInstant=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,isInstant),this._isLayoutInited=!0},proto.arrange=function(opts){this.option(opts),this._getIsInstant();var filtered=this._filter(this.items);this.filteredItems=filtered.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[filtered]):this._hideReveal(filtered),this._sort(),this._layout()},proto._init=proto.arrange,proto._hideReveal=function(filtered){this.reveal(filtered.needReveal),this.hide(filtered.needHide)},proto._getIsInstant=function(){var isLayoutInstant=this._getOption("layoutInstant"),isInstant=void 0!==isLayoutInstant?isLayoutInstant:!this._isLayoutInited;return this._isInstant=isInstant,isInstant},proto._bindArrangeComplete=function(){function arrangeParallelCallback(){isLayoutComplete&&isHideComplete&&isRevealComplete&&_this.dispatchEvent("arrangeComplete",null,[_this.filteredItems])}var isLayoutComplete,isHideComplete,isRevealComplete,_this=this;this.once("layoutComplete",function(){isLayoutComplete=!0,arrangeParallelCallback()}),this.once("hideComplete",function(){isHideComplete=!0,arrangeParallelCallback()}),this.once("revealComplete",function(){isRevealComplete=!0,arrangeParallelCallback()})},proto._filter=function(items){var filter=this.options.filter;filter=filter||"*";for(var matches=[],hiddenMatched=[],visibleUnmatched=[],test=this._getFilterTest(filter),i=0;i<items.length;i++){var item=items[i];if(!item.isIgnored){var isMatched=test(item);isMatched&&matches.push(item),isMatched&&item.isHidden?hiddenMatched.push(item):isMatched||item.isHidden||visibleUnmatched.push(item)}}return{matches:matches,needReveal:hiddenMatched,needHide:visibleUnmatched}},proto._getFilterTest=function(filter){return jQuery&&this.options.isJQueryFiltering?function(item){return jQuery(item.element).is(filter)}:"function"==typeof filter?function(item){return filter(item.element)}:function(item){return matchesSelector(item.element,filter)}},proto.updateSortData=function(elems){var items;elems?(elems=utils.makeArray(elems),items=this.getItems(elems)):items=this.items,this._getSorters(),this._updateItemsSortData(items)},proto._getSorters=function(){var getSortData=this.options.getSortData;for(var key in getSortData){var sorter=getSortData[key];this._sorters[key]=mungeSorter(sorter)}},proto._updateItemsSortData=function(items){for(var len=items&&items.length,i=0;len&&len>i;i++){var item=items[i];item.updateSortData()}};var mungeSorter=function(){function mungeSorter(sorter){if("string"!=typeof sorter)return sorter;var args=trim(sorter).split(" "),query=args[0],attrMatch=query.match(/^\[(.+)\]$/),attr=attrMatch&&attrMatch[1],getValue=getValueGetter(attr,query),parser=Isotope.sortDataParsers[args[1]];return sorter=parser?function(elem){return elem&&parser(getValue(elem))}:function(elem){return elem&&getValue(elem)}}function getValueGetter(attr,query){return attr?function(elem){return elem.getAttribute(attr)}:function(elem){var child=elem.querySelector(query);return child&&child.textContent}}return mungeSorter}();Isotope.sortDataParsers={parseInt:function(val){return parseInt(val,10)},parseFloat:function(val){return parseFloat(val)}},proto._sort=function(){var sortByOpt=this.options.sortBy;if(sortByOpt){var sortBys=[].concat.apply(sortByOpt,this.sortHistory),itemSorter=getItemSorter(sortBys,this.options.sortAscending);this.filteredItems.sort(itemSorter),sortByOpt!=this.sortHistory[0]&&this.sortHistory.unshift(sortByOpt)}},proto._mode=function(){var layoutMode=this.options.layoutMode,mode=this.modes[layoutMode];if(!mode)throw new Error("No layout mode: "+layoutMode);return mode.options=this.options[layoutMode],mode},proto._resetLayout=function(){Outlayer.prototype._resetLayout.call(this),this._mode()._resetLayout()},proto._getItemLayoutPosition=function(item){return this._mode()._getItemLayoutPosition(item)},proto._manageStamp=function(stamp){this._mode()._manageStamp(stamp)},proto._getContainerSize=function(){return this._mode()._getContainerSize()},proto.needsResizeLayout=function(){return this._mode().needsResizeLayout()},proto.appended=function(elems){var items=this.addItems(elems);if(items.length){var filteredItems=this._filterRevealAdded(items);this.filteredItems=this.filteredItems.concat(filteredItems)}},proto.prepended=function(elems){var items=this._itemize(elems);if(items.length){this._resetLayout(),this._manageStamps();var filteredItems=this._filterRevealAdded(items);this.layoutItems(this.filteredItems),this.filteredItems=filteredItems.concat(this.filteredItems),this.items=items.concat(this.items)}},proto._filterRevealAdded=function(items){var filtered=this._filter(items);return this.hide(filtered.needHide),this.reveal(filtered.matches),this.layoutItems(filtered.matches,!0),filtered.matches},proto.insert=function(elems){var items=this.addItems(elems);if(items.length){var i,item,len=items.length;for(i=0;len>i;i++)item=items[i],this.element.appendChild(item.element);var filteredInsertItems=this._filter(items).matches;for(i=0;len>i;i++)items[i].isLayoutInstant=!0;for(this.arrange(),i=0;len>i;i++)delete items[i].isLayoutInstant;this.reveal(filteredInsertItems)}};var _remove=proto.remove;return proto.remove=function(elems){elems=utils.makeArray(elems);var removeItems=this.getItems(elems);_remove.call(this,elems);for(var len=removeItems&&removeItems.length,i=0;len&&len>i;i++){var item=removeItems[i];utils.removeFrom(this.filteredItems,item)}},proto.shuffle=function(){for(var i=0;i<this.items.length;i++){var item=this.items[i];item.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},proto._noTransition=function(fn,args){var transitionDuration=this.options.transitionDuration;this.options.transitionDuration=0;var returnValue=fn.apply(this,args);return this.options.transitionDuration=transitionDuration,returnValue},proto.getFilteredItemElements=function(){return this.filteredItems.map(function(item){return item.element})},Isotope}),function(window,factory){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(jQuery){return factory(window,jQuery)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("jquery")):window.jQueryBridget=factory(window,window.jQuery)}(window,function(window,jQuery){"use strict";function jQueryBridget(namespace,PluginClass,$){function methodCall($elems,methodName,args){var returnValue,pluginMethodStr="$()."+namespace+'("'+methodName+'")';return $elems.each(function(i,elem){var instance=$.data(elem,namespace);if(!instance)return void logError(namespace+" not initialized. Cannot call methods, i.e. "+pluginMethodStr);var method=instance[methodName];if(!method||"_"==methodName.charAt(0))return void logError(pluginMethodStr+" is not a valid method");var value=method.apply(instance,args);returnValue=void 0===returnValue?value:returnValue}),void 0!==returnValue?returnValue:$elems}function plainCall($elems,options){$elems.each(function(i,elem){var instance=$.data(elem,namespace);instance?(instance.option(options),instance._init()):(instance=new PluginClass(elem,options),$.data(elem,namespace,instance))})}$=$||jQuery||window.jQuery,$&&(PluginClass.prototype.option||(PluginClass.prototype.option=function(opts){$.isPlainObject(opts)&&(this.options=$.extend(!0,this.options,opts))}),$.fn[namespace]=function(arg0){if("string"==typeof arg0){var args=arraySlice.call(arguments,1);return methodCall(this,arg0,args)}return plainCall(this,arg0),this},updateJQuery($))}function updateJQuery($){!$||$&&$.bridget||($.bridget=jQueryBridget)}var arraySlice=Array.prototype.slice,console=window.console,logError="undefined"==typeof console?function(){}:function(message){console.error(message)};return updateJQuery(jQuery||window.jQuery),jQueryBridget}),function(global,factory){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",factory):"object"==typeof module&&module.exports?module.exports=factory():global.EvEmitter=factory()}("undefined"!=typeof window?window:this,function(){function EvEmitter(){}var proto=EvEmitter.prototype;return proto.on=function(eventName,listener){if(eventName&&listener){var events=this._events=this._events||{},listeners=events[eventName]=events[eventName]||[];return-1==listeners.indexOf(listener)&&listeners.push(listener),this}},proto.once=function(eventName,listener){if(eventName&&listener){this.on(eventName,listener);var onceEvents=this._onceEvents=this._onceEvents||{},onceListeners=onceEvents[eventName]=onceEvents[eventName]||{};return onceListeners[listener]=!0,this}},proto.off=function(eventName,listener){var listeners=this._events&&this._events[eventName];if(listeners&&listeners.length){var index=listeners.indexOf(listener);return-1!=index&&listeners.splice(index,1),this}},proto.emitEvent=function(eventName,args){var listeners=this._events&&this._events[eventName];if(listeners&&listeners.length){var i=0,listener=listeners[i];args=args||[];for(var onceListeners=this._onceEvents&&this._onceEvents[eventName];listener;){var isOnce=onceListeners&&onceListeners[listener];isOnce&&(this.off(eventName,listener),delete onceListeners[listener]),listener.apply(this,args),i+=isOnce?0:1,listener=listeners[i]}return this}},EvEmitter}),function(window,factory){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return factory()}):"object"==typeof module&&module.exports?module.exports=factory():window.getSize=factory()}(window,function(){"use strict";function getStyleSize(value){var num=parseFloat(value),isValid=-1==value.indexOf("%")&&!isNaN(num);return isValid&&num}function noop(){}function getZeroSize(){for(var size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},i=0;measurementsLength>i;i++){var measurement=measurements[i];size[measurement]=0}return size}function getStyle(elem){var style=getComputedStyle(elem);return style||logError("Style returned "+style+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),style}function setup(){if(!isSetup){isSetup=!0;var div=document.createElement("div");div.style.width="200px",div.style.padding="1px 2px 3px 4px",div.style.borderStyle="solid",div.style.borderWidth="1px 2px 3px 4px",div.style.boxSizing="border-box";var body=document.body||document.documentElement;body.appendChild(div);var style=getStyle(div);getSize.isBoxSizeOuter=isBoxSizeOuter=200==getStyleSize(style.width),body.removeChild(div)}}function getSize(elem){if(setup(),"string"==typeof elem&&(elem=document.querySelector(elem)),elem&&"object"==typeof elem&&elem.nodeType){var style=getStyle(elem);if("none"==style.display)return getZeroSize();var size={};size.width=elem.offsetWidth,size.height=elem.offsetHeight;for(var isBorderBox=size.isBorderBox="border-box"==style.boxSizing,i=0;measurementsLength>i;i++){var measurement=measurements[i],value=style[measurement],num=parseFloat(value);size[measurement]=isNaN(num)?0:num}var paddingWidth=size.paddingLeft+size.paddingRight,paddingHeight=size.paddingTop+size.paddingBottom,marginWidth=size.marginLeft+size.marginRight,marginHeight=size.marginTop+size.marginBottom,borderWidth=size.borderLeftWidth+size.borderRightWidth,borderHeight=size.borderTopWidth+size.borderBottomWidth,isBorderBoxSizeOuter=isBorderBox&&isBoxSizeOuter,styleWidth=getStyleSize(style.width);styleWidth!==!1&&(size.width=styleWidth+(isBorderBoxSizeOuter?0:paddingWidth+borderWidth));var styleHeight=getStyleSize(style.height);return styleHeight!==!1&&(size.height=styleHeight+(isBorderBoxSizeOuter?0:paddingHeight+borderHeight)),size.innerWidth=size.width-(paddingWidth+borderWidth),size.innerHeight=size.height-(paddingHeight+borderHeight),size.outerWidth=size.width+marginWidth,size.outerHeight=size.height+marginHeight,size}}var isBoxSizeOuter,logError="undefined"==typeof console?noop:function(message){console.error(message)},measurements=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],measurementsLength=measurements.length,isSetup=!1;return getSize}),function(window,factory){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",factory):"object"==typeof module&&module.exports?module.exports=factory():window.matchesSelector=factory()}(window,function(){"use strict";var matchesMethod=function(){var ElemProto=Element.prototype;if(ElemProto.matches)return"matches";if(ElemProto.matchesSelector)return"matchesSelector";for(var prefixes=["webkit","moz","ms","o"],i=0;i<prefixes.length;i++){var prefix=prefixes[i],method=prefix+"MatchesSelector";if(ElemProto[method])return method}}();return function(elem,selector){return elem[matchesMethod](selector)}}),function(window,factory){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(matchesSelector){return factory(window,matchesSelector)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("desandro-matches-selector")):window.fizzyUIUtils=factory(window,window.matchesSelector)}(window,function(window,matchesSelector){var utils={};utils.extend=function(a,b){for(var prop in b)a[prop]=b[prop];return a},utils.modulo=function(num,div){return(num%div+div)%div},utils.makeArray=function(obj){var ary=[];if(Array.isArray(obj))ary=obj;else if(obj&&"number"==typeof obj.length)for(var i=0;i<obj.length;i++)ary.push(obj[i]);else ary.push(obj);return ary},utils.removeFrom=function(ary,obj){var index=ary.indexOf(obj);-1!=index&&ary.splice(index,1)},utils.getParent=function(elem,selector){for(;elem!=document.body;)if(elem=elem.parentNode,matchesSelector(elem,selector))return elem},utils.getQueryElement=function(elem){return"string"==typeof elem?document.querySelector(elem):elem},utils.handleEvent=function(event){var method="on"+event.type;this[method]&&this[method](event)},utils.filterFindElements=function(elems,selector){elems=utils.makeArray(elems);var ffElems=[];return elems.forEach(function(elem){if(elem instanceof HTMLElement){if(!selector)return void ffElems.push(elem);matchesSelector(elem,selector)&&ffElems.push(elem);for(var childElems=elem.querySelectorAll(selector),i=0;i<childElems.length;i++)ffElems.push(childElems[i])}}),ffElems},utils.debounceMethod=function(_class,methodName,threshold){var method=_class.prototype[methodName],timeoutName=methodName+"Timeout";_class.prototype[methodName]=function(){var timeout=this[timeoutName];timeout&&clearTimeout(timeout);var args=arguments,_this=this;this[timeoutName]=setTimeout(function(){method.apply(_this,args),delete _this[timeoutName]},threshold||100)}},utils.docReady=function(callback){var readyState=document.readyState;"complete"==readyState||"interactive"==readyState?callback():document.addEventListener("DOMContentLoaded",callback)},utils.toDashed=function(str){return str.replace(/(.)([A-Z])/g,function(match,$1,$2){return $1+"-"+$2}).toLowerCase()};var console=window.console;return utils.htmlInit=function(WidgetClass,namespace){utils.docReady(function(){var dashedNamespace=utils.toDashed(namespace),dataAttr="data-"+dashedNamespace,dataAttrElems=document.querySelectorAll("["+dataAttr+"]"),jsDashElems=document.querySelectorAll(".js-"+dashedNamespace),elems=utils.makeArray(dataAttrElems).concat(utils.makeArray(jsDashElems)),dataOptionsAttr=dataAttr+"-options",jQuery=window.jQuery;elems.forEach(function(elem){var options,attr=elem.getAttribute(dataAttr)||elem.getAttribute(dataOptionsAttr);try{options=attr&&JSON.parse(attr)}catch(error){return void(console&&console.error("Error parsing "+dataAttr+" on "+elem.className+": "+error))}var instance=new WidgetClass(elem,options);jQuery&&jQuery.data(elem,namespace,instance)})})},utils}),function(window,factory){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("ev-emitter"),require("get-size")):(window.Outlayer={},window.Outlayer.Item=factory(window.EvEmitter,window.getSize))}(window,function(EvEmitter,getSize){"use strict";function isEmptyObj(obj){for(var prop in obj)return!1;return prop=null,!0}function Item(element,layout){element&&(this.element=element,this.layout=layout,this.position={x:0,y:0},this._create())}function toDashedAll(str){return str.replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}var docElemStyle=document.documentElement.style,transitionProperty="string"==typeof docElemStyle.transition?"transition":"WebkitTransition",transformProperty="string"==typeof docElemStyle.transform?"transform":"WebkitTransform",transitionEndEvent={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[transitionProperty],vendorProperties={transform:transformProperty,transition:transitionProperty,transitionDuration:transitionProperty+"Duration",transitionProperty:transitionProperty+"Property",transitionDelay:transitionProperty+"Delay"},proto=Item.prototype=Object.create(EvEmitter.prototype);proto.constructor=Item,proto._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},proto.handleEvent=function(event){var method="on"+event.type;this[method]&&this[method](event)},proto.getSize=function(){this.size=getSize(this.element)},proto.css=function(style){var elemStyle=this.element.style;for(var prop in style){var supportedProp=vendorProperties[prop]||prop;elemStyle[supportedProp]=style[prop]}},proto.getPosition=function(){var style=getComputedStyle(this.element),isOriginLeft=this.layout._getOption("originLeft"),isOriginTop=this.layout._getOption("originTop"),xValue=style[isOriginLeft?"left":"right"],yValue=style[isOriginTop?"top":"bottom"],layoutSize=this.layout.size,x=-1!=xValue.indexOf("%")?parseFloat(xValue)/100*layoutSize.width:parseInt(xValue,10),y=-1!=yValue.indexOf("%")?parseFloat(yValue)/100*layoutSize.height:parseInt(yValue,10);x=isNaN(x)?0:x,y=isNaN(y)?0:y,x-=isOriginLeft?layoutSize.paddingLeft:layoutSize.paddingRight,y-=isOriginTop?layoutSize.paddingTop:layoutSize.paddingBottom,this.position.x=x,this.position.y=y},proto.layoutPosition=function(){var layoutSize=this.layout.size,style={},isOriginLeft=this.layout._getOption("originLeft"),isOriginTop=this.layout._getOption("originTop"),xPadding=isOriginLeft?"paddingLeft":"paddingRight",xProperty=isOriginLeft?"left":"right",xResetProperty=isOriginLeft?"right":"left",x=this.position.x+layoutSize[xPadding];style[xProperty]=this.getXValue(x),style[xResetProperty]="";var yPadding=isOriginTop?"paddingTop":"paddingBottom",yProperty=isOriginTop?"top":"bottom",yResetProperty=isOriginTop?"bottom":"top",y=this.position.y+layoutSize[yPadding];style[yProperty]=this.getYValue(y),style[yResetProperty]="",this.css(style),this.emitEvent("layout",[this])},proto.getXValue=function(x){var isHorizontal=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!isHorizontal?x/this.layout.size.width*100+"%":x+"px"},proto.getYValue=function(y){var isHorizontal=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&isHorizontal?y/this.layout.size.height*100+"%":y+"px"},proto._transitionTo=function(x,y){this.getPosition();var curX=this.position.x,curY=this.position.y,compareX=parseInt(x,10),compareY=parseInt(y,10),didNotMove=compareX===this.position.x&&compareY===this.position.y;if(this.setPosition(x,y),didNotMove&&!this.isTransitioning)return void this.layoutPosition();var transX=x-curX,transY=y-curY,transitionStyle={};transitionStyle.transform=this.getTranslate(transX,transY),this.transition({to:transitionStyle,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},proto.getTranslate=function(x,y){var isOriginLeft=this.layout._getOption("originLeft"),isOriginTop=this.layout._getOption("originTop");return x=isOriginLeft?x:-x,y=isOriginTop?y:-y,"translate3d("+x+"px, "+y+"px, 0)"},proto.goTo=function(x,y){this.setPosition(x,y),this.layoutPosition()},proto.moveTo=proto._transitionTo,proto.setPosition=function(x,y){this.position.x=parseInt(x,10),this.position.y=parseInt(y,10)},proto._nonTransition=function(args){this.css(args.to),args.isCleaning&&this._removeStyles(args.to);for(var prop in args.onTransitionEnd)args.onTransitionEnd[prop].call(this)},proto.transition=function(args){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(args);var _transition=this._transn;for(var prop in args.onTransitionEnd)_transition.onEnd[prop]=args.onTransitionEnd[prop];for(prop in args.to)_transition.ingProperties[prop]=!0,args.isCleaning&&(_transition.clean[prop]=!0);if(args.from){this.css(args.from);var h=this.element.offsetHeight;h=null}this.enableTransition(args.to),this.css(args.to),this.isTransitioning=!0};var transitionProps="opacity,"+toDashedAll(transformProperty);proto.enableTransition=function(){if(!this.isTransitioning){var duration=this.layout.options.transitionDuration;duration="number"==typeof duration?duration+"ms":duration,this.css({transitionProperty:transitionProps,transitionDuration:duration,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(transitionEndEvent,this,!1)}},proto.onwebkitTransitionEnd=function(event){this.ontransitionend(event)},proto.onotransitionend=function(event){this.ontransitionend(event)};var dashedVendorProperties={"-webkit-transform":"transform"};proto.ontransitionend=function(event){if(event.target===this.element){
var _transition=this._transn,propertyName=dashedVendorProperties[event.propertyName]||event.propertyName;if(delete _transition.ingProperties[propertyName],isEmptyObj(_transition.ingProperties)&&this.disableTransition(),propertyName in _transition.clean&&(this.element.style[event.propertyName]="",delete _transition.clean[propertyName]),propertyName in _transition.onEnd){var onTransitionEnd=_transition.onEnd[propertyName];onTransitionEnd.call(this),delete _transition.onEnd[propertyName]}this.emitEvent("transitionEnd",[this])}},proto.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(transitionEndEvent,this,!1),this.isTransitioning=!1},proto._removeStyles=function(style){var cleanStyle={};for(var prop in style)cleanStyle[prop]="";this.css(cleanStyle)};var cleanTransitionStyle={transitionProperty:"",transitionDuration:"",transitionDelay:""};return proto.removeTransitionStyles=function(){this.css(cleanTransitionStyle)},proto.stagger=function(delay){delay=isNaN(delay)?0:delay,this.staggerDelay=delay+"ms"},proto.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},proto.remove=function(){return transitionProperty&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},proto.reveal=function(){delete this.isHidden,this.css({display:""});var options=this.layout.options,onTransitionEnd={},transitionEndProperty=this.getHideRevealTransitionEndProperty("visibleStyle");onTransitionEnd[transitionEndProperty]=this.onRevealTransitionEnd,this.transition({from:options.hiddenStyle,to:options.visibleStyle,isCleaning:!0,onTransitionEnd:onTransitionEnd})},proto.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},proto.getHideRevealTransitionEndProperty=function(styleProperty){var optionStyle=this.layout.options[styleProperty];if(optionStyle.opacity)return"opacity";for(var prop in optionStyle)return prop},proto.hide=function(){this.isHidden=!0,this.css({display:""});var options=this.layout.options,onTransitionEnd={},transitionEndProperty=this.getHideRevealTransitionEndProperty("hiddenStyle");onTransitionEnd[transitionEndProperty]=this.onHideTransitionEnd,this.transition({from:options.visibleStyle,to:options.hiddenStyle,isCleaning:!0,onTransitionEnd:onTransitionEnd})},proto.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},proto.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},Item}),function(window,factory){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(EvEmitter,getSize,utils,Item){return factory(window,EvEmitter,getSize,utils,Item)}):"object"==typeof module&&module.exports?module.exports=factory(window,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):window.Outlayer=factory(window,window.EvEmitter,window.getSize,window.fizzyUIUtils,window.Outlayer.Item)}(window,function(window,EvEmitter,getSize,utils,Item){"use strict";function Outlayer(element,options){var queryElement=utils.getQueryElement(element);if(!queryElement)return void(console&&console.error("Bad element for "+this.constructor.namespace+": "+(queryElement||element)));this.element=queryElement,jQuery&&(this.$element=jQuery(this.element)),this.options=utils.extend({},this.constructor.defaults),this.option(options);var id=++GUID;this.element.outlayerGUID=id,instances[id]=this,this._create();var isInitLayout=this._getOption("initLayout");isInitLayout&&this.layout()}function subclass(Parent){function SubClass(){Parent.apply(this,arguments)}return SubClass.prototype=Object.create(Parent.prototype),SubClass.prototype.constructor=SubClass,SubClass}function getMilliseconds(time){if("number"==typeof time)return time;var matches=time.match(/(^\d*\.?\d*)(\w*)/),num=matches&&matches[1],unit=matches&&matches[2];if(!num.length)return 0;num=parseFloat(num);var mult=msUnits[unit]||1;return num*mult}var console=window.console,jQuery=window.jQuery,noop=function(){},GUID=0,instances={};Outlayer.namespace="outlayer",Outlayer.Item=Item,Outlayer.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var proto=Outlayer.prototype;utils.extend(proto,EvEmitter.prototype),proto.option=function(opts){utils.extend(this.options,opts)},proto._getOption=function(option){var oldOption=this.constructor.compatOptions[option];return oldOption&&void 0!==this.options[oldOption]?this.options[oldOption]:this.options[option]},Outlayer.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},proto._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),utils.extend(this.element.style,this.options.containerStyle);var canBindResize=this._getOption("resize");canBindResize&&this.bindResize()},proto.reloadItems=function(){this.items=this._itemize(this.element.children)},proto._itemize=function(elems){for(var itemElems=this._filterFindItemElements(elems),Item=this.constructor.Item,items=[],i=0;i<itemElems.length;i++){var elem=itemElems[i],item=new Item(elem,this);items.push(item)}return items},proto._filterFindItemElements=function(elems){return utils.filterFindElements(elems,this.options.itemSelector)},proto.getItemElements=function(){return this.items.map(function(item){return item.element})},proto.layout=function(){this._resetLayout(),this._manageStamps();var layoutInstant=this._getOption("layoutInstant"),isInstant=void 0!==layoutInstant?layoutInstant:!this._isLayoutInited;this.layoutItems(this.items,isInstant),this._isLayoutInited=!0},proto._init=proto.layout,proto._resetLayout=function(){this.getSize()},proto.getSize=function(){this.size=getSize(this.element)},proto._getMeasurement=function(measurement,size){var elem,option=this.options[measurement];option?("string"==typeof option?elem=this.element.querySelector(option):option instanceof HTMLElement&&(elem=option),this[measurement]=elem?getSize(elem)[size]:option):this[measurement]=0},proto.layoutItems=function(items,isInstant){items=this._getItemsForLayout(items),this._layoutItems(items,isInstant),this._postLayout()},proto._getItemsForLayout=function(items){return items.filter(function(item){return!item.isIgnored})},proto._layoutItems=function(items,isInstant){if(this._emitCompleteOnItems("layout",items),items&&items.length){var queue=[];items.forEach(function(item){var position=this._getItemLayoutPosition(item);position.item=item,position.isInstant=isInstant||item.isLayoutInstant,queue.push(position)},this),this._processLayoutQueue(queue)}},proto._getItemLayoutPosition=function(){return{x:0,y:0}},proto._processLayoutQueue=function(queue){this.updateStagger(),queue.forEach(function(obj,i){this._positionItem(obj.item,obj.x,obj.y,obj.isInstant,i)},this)},proto.updateStagger=function(){var stagger=this.options.stagger;return null===stagger||void 0===stagger?void(this.stagger=0):(this.stagger=getMilliseconds(stagger),this.stagger)},proto._positionItem=function(item,x,y,isInstant,i){isInstant?item.goTo(x,y):(item.stagger(i*this.stagger),item.moveTo(x,y))},proto._postLayout=function(){this.resizeContainer()},proto.resizeContainer=function(){var isResizingContainer=this._getOption("resizeContainer");if(isResizingContainer){var size=this._getContainerSize();size&&(this._setContainerMeasure(size.width,!0),this._setContainerMeasure(size.height,!1))}},proto._getContainerSize=noop,proto._setContainerMeasure=function(measure,isWidth){if(void 0!==measure){var elemSize=this.size;elemSize.isBorderBox&&(measure+=isWidth?elemSize.paddingLeft+elemSize.paddingRight+elemSize.borderLeftWidth+elemSize.borderRightWidth:elemSize.paddingBottom+elemSize.paddingTop+elemSize.borderTopWidth+elemSize.borderBottomWidth),measure=Math.max(measure,0),this.element.style[isWidth?"width":"height"]=measure+"px"}},proto._emitCompleteOnItems=function(eventName,items){function onComplete(){_this.dispatchEvent(eventName+"Complete",null,[items])}function tick(){doneCount++,doneCount==count&&onComplete()}var _this=this,count=items.length;if(!items||!count)return void onComplete();var doneCount=0;items.forEach(function(item){item.once(eventName,tick)})},proto.dispatchEvent=function(type,event,args){var emitArgs=event?[event].concat(args):args;if(this.emitEvent(type,emitArgs),jQuery)if(this.$element=this.$element||jQuery(this.element),event){var $event=jQuery.Event(event);$event.type=type,this.$element.trigger($event,args)}else this.$element.trigger(type,args)},proto.ignore=function(elem){var item=this.getItem(elem);item&&(item.isIgnored=!0)},proto.unignore=function(elem){var item=this.getItem(elem);item&&delete item.isIgnored},proto.stamp=function(elems){elems=this._find(elems),elems&&(this.stamps=this.stamps.concat(elems),elems.forEach(this.ignore,this))},proto.unstamp=function(elems){elems=this._find(elems),elems&&elems.forEach(function(elem){utils.removeFrom(this.stamps,elem),this.unignore(elem)},this)},proto._find=function(elems){return elems?("string"==typeof elems&&(elems=this.element.querySelectorAll(elems)),elems=utils.makeArray(elems)):void 0},proto._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},proto._getBoundingRect=function(){var boundingRect=this.element.getBoundingClientRect(),size=this.size;this._boundingRect={left:boundingRect.left+size.paddingLeft+size.borderLeftWidth,top:boundingRect.top+size.paddingTop+size.borderTopWidth,right:boundingRect.right-(size.paddingRight+size.borderRightWidth),bottom:boundingRect.bottom-(size.paddingBottom+size.borderBottomWidth)}},proto._manageStamp=noop,proto._getElementOffset=function(elem){var boundingRect=elem.getBoundingClientRect(),thisRect=this._boundingRect,size=getSize(elem),offset={left:boundingRect.left-thisRect.left-size.marginLeft,top:boundingRect.top-thisRect.top-size.marginTop,right:thisRect.right-boundingRect.right-size.marginRight,bottom:thisRect.bottom-boundingRect.bottom-size.marginBottom};return offset},proto.handleEvent=utils.handleEvent,proto.bindResize=function(){window.addEventListener("resize",this),this.isResizeBound=!0},proto.unbindResize=function(){window.removeEventListener("resize",this),this.isResizeBound=!1},proto.onresize=function(){this.resize()},utils.debounceMethod(Outlayer,"onresize",100),proto.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},proto.needsResizeLayout=function(){var size=getSize(this.element),hasSizes=this.size&&size;return hasSizes&&size.innerWidth!==this.size.innerWidth},proto.addItems=function(elems){var items=this._itemize(elems);return items.length&&(this.items=this.items.concat(items)),items},proto.appended=function(elems){var items=this.addItems(elems);items.length&&(this.layoutItems(items,!0),this.reveal(items))},proto.prepended=function(elems){var items=this._itemize(elems);if(items.length){var previousItems=this.items.slice(0);this.items=items.concat(previousItems),this._resetLayout(),this._manageStamps(),this.layoutItems(items,!0),this.reveal(items),this.layoutItems(previousItems)}},proto.reveal=function(items){if(this._emitCompleteOnItems("reveal",items),items&&items.length){var stagger=this.updateStagger();items.forEach(function(item,i){item.stagger(i*stagger),item.reveal()})}},proto.hide=function(items){if(this._emitCompleteOnItems("hide",items),items&&items.length){var stagger=this.updateStagger();items.forEach(function(item,i){item.stagger(i*stagger),item.hide()})}},proto.revealItemElements=function(elems){var items=this.getItems(elems);this.reveal(items)},proto.hideItemElements=function(elems){var items=this.getItems(elems);this.hide(items)},proto.getItem=function(elem){for(var i=0;i<this.items.length;i++){var item=this.items[i];if(item.element==elem)return item}},proto.getItems=function(elems){elems=utils.makeArray(elems);var items=[];return elems.forEach(function(elem){var item=this.getItem(elem);item&&items.push(item)},this),items},proto.remove=function(elems){var removeItems=this.getItems(elems);this._emitCompleteOnItems("remove",removeItems),removeItems&&removeItems.length&&removeItems.forEach(function(item){item.remove(),utils.removeFrom(this.items,item)},this)},proto.destroy=function(){var style=this.element.style;style.height="",style.position="",style.width="",this.items.forEach(function(item){item.destroy()}),this.unbindResize();var id=this.element.outlayerGUID;delete instances[id],delete this.element.outlayerGUID,jQuery&&jQuery.removeData(this.element,this.constructor.namespace)},Outlayer.data=function(elem){elem=utils.getQueryElement(elem);var id=elem&&elem.outlayerGUID;return id&&instances[id]},Outlayer.create=function(namespace,options){var Layout=subclass(Outlayer);return Layout.defaults=utils.extend({},Outlayer.defaults),utils.extend(Layout.defaults,options),Layout.compatOptions=utils.extend({},Outlayer.compatOptions),Layout.namespace=namespace,Layout.data=Outlayer.data,Layout.Item=subclass(Item),utils.htmlInit(Layout,namespace),jQuery&&jQuery.bridget&&jQuery.bridget(namespace,Layout),Layout};var msUnits={ms:1,s:1e3};return Outlayer.Item=Item,Outlayer}),function(window,factory){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("outlayer"),require("get-size")):window.Masonry=factory(window.Outlayer,window.getSize)}(window,function(Outlayer,getSize){var Masonry=Outlayer.create("masonry");return Masonry.compatOptions.fitWidth="isFitWidth",Masonry.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var i=0;i<this.cols;i++)this.colYs.push(0);this.maxY=0},Masonry.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var firstItem=this.items[0],firstItemElem=firstItem&&firstItem.element;this.columnWidth=firstItemElem&&getSize(firstItemElem).outerWidth||this.containerWidth}var columnWidth=this.columnWidth+=this.gutter,containerWidth=this.containerWidth+this.gutter,cols=containerWidth/columnWidth,excess=columnWidth-containerWidth%columnWidth,mathMethod=excess&&1>excess?"round":"floor";cols=Math[mathMethod](cols),this.cols=Math.max(cols,1)},Masonry.prototype.getContainerWidth=function(){var isFitWidth=this._getOption("fitWidth"),container=isFitWidth?this.element.parentNode:this.element,size=getSize(container);this.containerWidth=size&&size.innerWidth},Masonry.prototype._getItemLayoutPosition=function(item){item.getSize();var remainder=item.size.outerWidth%this.columnWidth,mathMethod=remainder&&1>remainder?"round":"ceil",colSpan=Math[mathMethod](item.size.outerWidth/this.columnWidth);colSpan=Math.min(colSpan,this.cols);for(var colGroup=this._getColGroup(colSpan),minimumY=Math.min.apply(Math,colGroup),shortColIndex=colGroup.indexOf(minimumY),position={x:this.columnWidth*shortColIndex,y:minimumY},setHeight=minimumY+item.size.outerHeight,setSpan=this.cols+1-colGroup.length,i=0;setSpan>i;i++)this.colYs[shortColIndex+i]=setHeight;return position},Masonry.prototype._getColGroup=function(colSpan){if(2>colSpan)return this.colYs;for(var colGroup=[],groupCount=this.cols+1-colSpan,i=0;groupCount>i;i++){var groupColYs=this.colYs.slice(i,i+colSpan);colGroup[i]=Math.max.apply(Math,groupColYs)}return colGroup},Masonry.prototype._manageStamp=function(stamp){var stampSize=getSize(stamp),offset=this._getElementOffset(stamp),isOriginLeft=this._getOption("originLeft"),firstX=isOriginLeft?offset.left:offset.right,lastX=firstX+stampSize.outerWidth,firstCol=Math.floor(firstX/this.columnWidth);firstCol=Math.max(0,firstCol);var lastCol=Math.floor(lastX/this.columnWidth);lastCol-=lastX%this.columnWidth?0:1,lastCol=Math.min(this.cols-1,lastCol);for(var isOriginTop=this._getOption("originTop"),stampMaxY=(isOriginTop?offset.top:offset.bottom)+stampSize.outerHeight,i=firstCol;lastCol>=i;i++)this.colYs[i]=Math.max(stampMaxY,this.colYs[i])},Masonry.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var size={height:this.maxY};return this._getOption("fitWidth")&&(size.width=this._getContainerFitWidth()),size},Masonry.prototype._getContainerFitWidth=function(){for(var unusedCols=0,i=this.cols;--i&&0===this.colYs[i];)unusedCols++;return(this.cols-unusedCols)*this.columnWidth-this.gutter},Masonry.prototype.needsResizeLayout=function(){var previousWidth=this.containerWidth;return this.getContainerWidth(),previousWidth!=this.containerWidth},Masonry}),!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipe=b()}(this,function(){"use strict";var a=function(a,b,c,d){var e={features:null,bind:function(a,b,c,d){var e=(d?"remove":"add")+"EventListener";b=b.split(" ");for(var f=0;f<b.length;f++)b[f]&&a[e](b[f],c,!1)},isArray:function(a){return a instanceof Array},createEl:function(a,b){var c=document.createElement(b||"div");return a&&(c.className=a),c},getScrollY:function(){var a=window.pageYOffset;return void 0!==a?a:document.documentElement.scrollTop},unbind:function(a,b,c){e.bind(a,b,c,!0)},removeClass:function(a,b){var c=new RegExp("(\\s|^)"+b+"(\\s|$)");a.className=a.className.replace(c," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")},addClass:function(a,b){e.hasClass(a,b)||(a.className+=(a.className?" ":"")+b)},hasClass:function(a,b){return a.className&&new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)},getChildByClass:function(a,b){for(var c=a.firstChild;c;){if(e.hasClass(c,b))return c;c=c.nextSibling}},arraySearch:function(a,b,c){for(var d=a.length;d--;)if(a[d][c]===b)return d;return-1},extend:function(a,b,c){for(var d in b)if(b.hasOwnProperty(d)){if(c&&a.hasOwnProperty(d))continue;a[d]=b[d]}},easing:{sine:{out:function(a){return Math.sin(a*(Math.PI/2))},inOut:function(a){return-(Math.cos(Math.PI*a)-1)/2}},cubic:{out:function(a){return--a*a*a+1}}},detectFeatures:function(){if(e.features)return e.features;var a=e.createEl(),b=a.style,c="",d={};if(d.oldIE=document.all&&!document.addEventListener,d.touch="ontouchstart"in window,window.requestAnimationFrame&&(d.raf=window.requestAnimationFrame,d.caf=window.cancelAnimationFrame),d.pointerEvent=navigator.pointerEnabled||navigator.msPointerEnabled,!d.pointerEvent){var f=navigator.userAgent;if(/iP(hone|od)/.test(navigator.platform)){var g=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);g&&g.length>0&&(g=parseInt(g[1],10),g>=1&&8>g&&(d.isOldIOSPhone=!0))}var h=f.match(/Android\s([0-9\.]*)/),i=h?h[1]:0;i=parseFloat(i),i>=1&&(4.4>i&&(d.isOldAndroid=!0),d.androidVersion=i),d.isMobileOpera=/opera mini|opera mobi/i.test(f)}for(var j,k,l=["transform","perspective","animationName"],m=["","webkit","Moz","ms","O"],n=0;4>n;n++){c=m[n];for(var o=0;3>o;o++)j=l[o],k=c+(c?j.charAt(0).toUpperCase()+j.slice(1):j),!d[j]&&k in b&&(d[j]=k);c&&!d.raf&&(c=c.toLowerCase(),d.raf=window[c+"RequestAnimationFrame"],d.raf&&(d.caf=window[c+"CancelAnimationFrame"]||window[c+"CancelRequestAnimationFrame"]))}if(!d.raf){var p=0;d.raf=function(a){var b=(new Date).getTime(),c=Math.max(0,16-(b-p)),d=window.setTimeout(function(){a(b+c)},c);return p=b+c,d},d.caf=function(a){clearTimeout(a)}}return d.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,e.features=d,d}};e.detectFeatures(),e.features.oldIE&&(e.bind=function(a,b,c,d){b=b.split(" ");for(var e,f=(d?"detach":"attach")+"Event",g=function(){c.handleEvent.call(c)},h=0;h<b.length;h++)if(e=b[h])if("object"==typeof c&&c.handleEvent){if(d){if(!c["oldIE"+e])return!1}else c["oldIE"+e]=g;a[f]("on"+e,c["oldIE"+e])}else a[f]("on"+e,c)});var f=this,g=25,h=3,i={allowPanToNext:!0,spacing:.12,bgOpacity:1,mouseUsed:!1,loop:!0,pinchToClose:!0,closeOnScroll:!0,closeOnVerticalDrag:!0,verticalDragRange:.75,hideAnimationDuration:333,showAnimationDuration:333,showHideOpacity:!1,focus:!0,escKey:!0,arrowKeys:!0,mainScrollEndFriction:.35,panEndFriction:.35,isClickableElement:function(a){return"A"===a.tagName},getDoubleTapZoom:function(a,b){return a?1:b.initialZoomLevel<.7?1:1.33},maxSpreadZoom:1.33,modal:!0,scaleMode:"fit"};e.extend(i,d);var j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la=function(){return{x:0,y:0}},ma=la(),na=la(),oa=la(),pa={},qa=0,ra={},sa=la(),ta=0,ua=!0,va=[],wa={},xa=!1,ya=function(a,b){e.extend(f,b.publicMethods),va.push(a)},za=function(a){var b=_b();return a>b-1?a-b:0>a?b+a:a},Aa={},Ba=function(a,b){return Aa[a]||(Aa[a]=[]),Aa[a].push(b)},Ca=function(a){var b=Aa[a];if(b){var c=Array.prototype.slice.call(arguments);c.shift();for(var d=0;d<b.length;d++)b[d].apply(f,c)}},Da=function(){return(new Date).getTime()},Ea=function(a){ia=a,f.bg.style.opacity=a*i.bgOpacity},Fa=function(a,b,c,d,e){(!xa||e&&e!==f.currItem)&&(d/=e?e.fitRatio:f.currItem.fitRatio),a[E]=u+b+"px, "+c+"px"+v+" scale("+d+")"},Ga=function(a){da&&(a&&(s>f.currItem.fitRatio?xa||(lc(f.currItem,!1,!0),xa=!0):xa&&(lc(f.currItem),xa=!1)),Fa(da,oa.x,oa.y,s))},Ha=function(a){a.container&&Fa(a.container.style,a.initialPosition.x,a.initialPosition.y,a.initialZoomLevel,a)},Ia=function(a,b){b[E]=u+a+"px, 0px"+v},Ja=function(a,b){if(!i.loop&&b){var c=m+(sa.x*qa-a)/sa.x,d=Math.round(a-sb.x);(0>c&&d>0||c>=_b()-1&&0>d)&&(a=sb.x+d*i.mainScrollEndFriction)}sb.x=a,Ia(a,n)},Ka=function(a,b){var c=tb[a]-ra[a];return na[a]+ma[a]+c-c*(b/t)},La=function(a,b){a.x=b.x,a.y=b.y,b.id&&(a.id=b.id)},Ma=function(a){a.x=Math.round(a.x),a.y=Math.round(a.y)},Na=null,Oa=function(){Na&&(e.unbind(document,"mousemove",Oa),e.addClass(a,"pswp--has_mouse"),i.mouseUsed=!0,Ca("mouseUsed")),Na=setTimeout(function(){Na=null},100)},Pa=function(){e.bind(document,"keydown",f),N.transform&&e.bind(f.scrollWrap,"click",f),i.mouseUsed||e.bind(document,"mousemove",Oa),e.bind(window,"resize scroll",f),Ca("bindEvents")},Qa=function(){e.unbind(window,"resize",f),e.unbind(window,"scroll",r.scroll),e.unbind(document,"keydown",f),e.unbind(document,"mousemove",Oa),N.transform&&e.unbind(f.scrollWrap,"click",f),U&&e.unbind(window,p,f),Ca("unbindEvents")},Ra=function(a,b){var c=hc(f.currItem,pa,a);return b&&(ca=c),c},Sa=function(a){return a||(a=f.currItem),a.initialZoomLevel},Ta=function(a){return a||(a=f.currItem),a.w>0?i.maxSpreadZoom:1},Ua=function(a,b,c,d){return d===f.currItem.initialZoomLevel?(c[a]=f.currItem.initialPosition[a],!0):(c[a]=Ka(a,d),c[a]>b.min[a]?(c[a]=b.min[a],!0):c[a]<b.max[a]?(c[a]=b.max[a],!0):!1)},Va=function(){if(E){var b=N.perspective&&!G;return u="translate"+(b?"3d(":"("),void(v=N.perspective?", 0px)":")")}E="left",e.addClass(a,"pswp--ie"),Ia=function(a,b){b.left=a+"px"},Ha=function(a){var b=a.fitRatio>1?1:a.fitRatio,c=a.container.style,d=b*a.w,e=b*a.h;c.width=d+"px",c.height=e+"px",c.left=a.initialPosition.x+"px",c.top=a.initialPosition.y+"px"},Ga=function(){if(da){var a=da,b=f.currItem,c=b.fitRatio>1?1:b.fitRatio,d=c*b.w,e=c*b.h;a.width=d+"px",a.height=e+"px",a.left=oa.x+"px",a.top=oa.y+"px"}}},Wa=function(a){var b="";i.escKey&&27===a.keyCode?b="close":i.arrowKeys&&(37===a.keyCode?b="prev":39===a.keyCode&&(b="next")),b&&(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey||(a.preventDefault?a.preventDefault():a.returnValue=!1,f[b]()))},Xa=function(a){a&&(X||W||ea||S)&&(a.preventDefault(),a.stopPropagation())},Ya=function(){f.setScrollOffset(0,e.getScrollY())},Za={},$a=0,_a=function(a){Za[a]&&(Za[a].raf&&I(Za[a].raf),$a--,delete Za[a])},ab=function(a){Za[a]&&_a(a),Za[a]||($a++,Za[a]={})},bb=function(){for(var a in Za)Za.hasOwnProperty(a)&&_a(a)},cb=function(a,b,c,d,e,f,g){var h,i=Da();ab(a);var j=function(){if(Za[a]){if(h=Da()-i,h>=d)return _a(a),f(c),void(g&&g());f((c-b)*e(h/d)+b),Za[a].raf=H(j)}};j()},db={shout:Ca,listen:Ba,viewportSize:pa,options:i,isMainScrollAnimating:function(){return ea},getZoomLevel:function(){return s},getCurrentIndex:function(){return m},isDragging:function(){return U},isZooming:function(){return _},setScrollOffset:function(a,b){ra.x=a,M=ra.y=b,Ca("updateScrollOffset",ra)},applyZoomPan:function(a,b,c,d){oa.x=b,oa.y=c,s=a,Ga(d)},init:function(){if(!j&&!k){var c;f.framework=e,f.template=a,f.bg=e.getChildByClass(a,"pswp__bg"),J=a.className,j=!0,N=e.detectFeatures(),H=N.raf,I=N.caf,E=N.transform,L=N.oldIE,f.scrollWrap=e.getChildByClass(a,"pswp__scroll-wrap"),f.container=e.getChildByClass(f.scrollWrap,"pswp__container"),n=f.container.style,f.itemHolders=y=[{el:f.container.children[0],wrap:0,index:-1},{el:f.container.children[1],wrap:0,index:-1},{el:f.container.children[2],wrap:0,index:-1}],y[0].el.style.display=y[2].el.style.display="none",Va(),r={resize:f.updateSize,scroll:Ya,keydown:Wa,click:Xa};var d=N.isOldIOSPhone||N.isOldAndroid||N.isMobileOpera;for(N.animationName&&N.transform&&!d||(i.showAnimationDuration=i.hideAnimationDuration=0),c=0;c<va.length;c++)f["init"+va[c]]();if(b){var g=f.ui=new b(f,e);g.init()}Ca("firstUpdate"),m=m||i.index||0,(isNaN(m)||0>m||m>=_b())&&(m=0),f.currItem=$b(m),(N.isOldIOSPhone||N.isOldAndroid)&&(ua=!1),a.setAttribute("aria-hidden","false"),i.modal&&(ua?a.style.position="fixed":(a.style.position="absolute",a.style.top=e.getScrollY()+"px")),void 0===M&&(Ca("initialLayout"),M=K=e.getScrollY());var l="pswp--open ";for(i.mainClass&&(l+=i.mainClass+" "),i.showHideOpacity&&(l+="pswp--animate_opacity "),l+=G?"pswp--touch":"pswp--notouch",l+=N.animationName?" pswp--css_animation":"",l+=N.svg?" pswp--svg":"",e.addClass(a,l),f.updateSize(),o=-1,ta=null,c=0;h>c;c++)Ia((c+o)*sa.x,y[c].el.style);L||e.bind(f.scrollWrap,q,f),Ba("initialZoomInEnd",function(){f.setContent(y[0],m-1),f.setContent(y[2],m+1),y[0].el.style.display=y[2].el.style.display="block",i.focus&&a.focus(),Pa()}),f.setContent(y[1],m),f.updateCurrItem(),Ca("afterInit"),ua||(w=setInterval(function(){$a||U||_||s!==f.currItem.initialZoomLevel||f.updateSize()},1e3)),e.addClass(a,"pswp--visible")}},close:function(){j&&(j=!1,k=!0,Ca("close"),Qa(),bc(f.currItem,null,!0,f.destroy))},destroy:function(){Ca("destroy"),Wb&&clearTimeout(Wb),a.setAttribute("aria-hidden","true"),a.className=J,w&&clearInterval(w),e.unbind(f.scrollWrap,q,f),e.unbind(window,"scroll",f),yb(),bb(),Aa=null},panTo:function(a,b,c){c||(a>ca.min.x?a=ca.min.x:a<ca.max.x&&(a=ca.max.x),b>ca.min.y?b=ca.min.y:b<ca.max.y&&(b=ca.max.y)),oa.x=a,oa.y=b,Ga()},handleEvent:function(a){a=a||window.event,r[a.type]&&r[a.type](a)},goTo:function(a){a=za(a);var b=a-m;ta=b,m=a,f.currItem=$b(m),qa-=b,Ja(sa.x*qa),bb(),ea=!1,f.updateCurrItem()},next:function(){f.goTo(m+1)},prev:function(){f.goTo(m-1)},updateCurrZoomItem:function(a){if(a&&Ca("beforeChange",0),y[1].el.children.length){var b=y[1].el.children[0];da=e.hasClass(b,"pswp__zoom-wrap")?b.style:null}else da=null;ca=f.currItem.bounds,t=s=f.currItem.initialZoomLevel,oa.x=ca.center.x,oa.y=ca.center.y,a&&Ca("afterChange")},invalidateCurrItems:function(){x=!0;for(var a=0;h>a;a++)y[a].item&&(y[a].item.needsUpdate=!0)},updateCurrItem:function(a){if(0!==ta){var b,c=Math.abs(ta);if(!(a&&2>c)){f.currItem=$b(m),xa=!1,Ca("beforeChange",ta),c>=h&&(o+=ta+(ta>0?-h:h),c=h);for(var d=0;c>d;d++)ta>0?(b=y.shift(),y[h-1]=b,o++,Ia((o+2)*sa.x,b.el.style),f.setContent(b,m-c+d+1+1)):(b=y.pop(),y.unshift(b),o--,Ia(o*sa.x,b.el.style),f.setContent(b,m+c-d-1-1));if(da&&1===Math.abs(ta)){var e=$b(z);e.initialZoomLevel!==s&&(hc(e,pa),lc(e),Ha(e))}ta=0,f.updateCurrZoomItem(),z=m,Ca("afterChange")}}},updateSize:function(b){if(!ua&&i.modal){var c=e.getScrollY();if(M!==c&&(a.style.top=c+"px",M=c),!b&&wa.x===window.innerWidth&&wa.y===window.innerHeight)return;wa.x=window.innerWidth,wa.y=window.innerHeight,a.style.height=wa.y+"px"}if(pa.x=f.scrollWrap.clientWidth,pa.y=f.scrollWrap.clientHeight,Ya(),sa.x=pa.x+Math.round(pa.x*i.spacing),sa.y=pa.y,Ja(sa.x*qa),Ca("beforeResize"),void 0!==o){for(var d,g,j,k=0;h>k;k++)d=y[k],Ia((k+o)*sa.x,d.el.style),j=m+k-1,i.loop&&_b()>2&&(j=za(j)),g=$b(j),g&&(x||g.needsUpdate||!g.bounds)?(f.cleanSlide(g),f.setContent(d,j),1===k&&(f.currItem=g,f.updateCurrZoomItem(!0)),g.needsUpdate=!1):-1===d.index&&j>=0&&f.setContent(d,j),g&&g.container&&(hc(g,pa),lc(g),Ha(g));x=!1}t=s=f.currItem.initialZoomLevel,ca=f.currItem.bounds,ca&&(oa.x=ca.center.x,oa.y=ca.center.y,Ga(!0)),Ca("resize")},zoomTo:function(a,b,c,d,f){b&&(t=s,tb.x=Math.abs(b.x)-oa.x,tb.y=Math.abs(b.y)-oa.y,La(na,oa));var g=Ra(a,!1),h={};Ua("x",g,h,a),Ua("y",g,h,a);var i=s,j={x:oa.x,y:oa.y};Ma(h);var k=function(b){1===b?(s=a,oa.x=h.x,oa.y=h.y):(s=(a-i)*b+i,oa.x=(h.x-j.x)*b+j.x,oa.y=(h.y-j.y)*b+j.y),f&&f(b),Ga(1===b)};c?cb("customZoomTo",0,1,c,d||e.easing.sine.inOut,k):k(1)}},eb=30,fb=10,gb={},hb={},ib={},jb={},kb={},lb=[],mb={},nb=[],ob={},pb=0,qb=la(),rb=0,sb=la(),tb=la(),ub=la(),vb=function(a,b){return a.x===b.x&&a.y===b.y},wb=function(a,b){return Math.abs(a.x-b.x)<g&&Math.abs(a.y-b.y)<g},xb=function(a,b){return ob.x=Math.abs(a.x-b.x),ob.y=Math.abs(a.y-b.y),Math.sqrt(ob.x*ob.x+ob.y*ob.y)},yb=function(){Y&&(I(Y),Y=null)},zb=function(){U&&(Y=H(zb),Pb())},Ab=function(){return!("fit"===i.scaleMode&&s===f.currItem.initialZoomLevel)},Bb=function(a,b){return a&&a!==document?a.getAttribute("class")&&a.getAttribute("class").indexOf("pswp__scroll-wrap")>-1?!1:b(a)?a:Bb(a.parentNode,b):!1},Cb={},Db=function(a,b){return Cb.prevent=!Bb(a.target,i.isClickableElement),Ca("preventDragEvent",a,b,Cb),Cb.prevent},Eb=function(a,b){return b.x=a.pageX,b.y=a.pageY,b.id=a.identifier,b},Fb=function(a,b,c){c.x=.5*(a.x+b.x),c.y=.5*(a.y+b.y)},Gb=function(a,b,c){if(a-P>50){var d=nb.length>2?nb.shift():{};d.x=b,d.y=c,nb.push(d),P=a}},Hb=function(){var a=oa.y-f.currItem.initialPosition.y;return 1-Math.abs(a/(pa.y/2))},Ib={},Jb={},Kb=[],Lb=function(a){for(;Kb.length>0;)Kb.pop();return F?(ka=0,lb.forEach(function(a){0===ka?Kb[0]=a:1===ka&&(Kb[1]=a),ka++})):a.type.indexOf("touch")>-1?a.touches&&a.touches.length>0&&(Kb[0]=Eb(a.touches[0],Ib),a.touches.length>1&&(Kb[1]=Eb(a.touches[1],Jb))):(Ib.x=a.pageX,Ib.y=a.pageY,Ib.id="",Kb[0]=Ib),Kb},Mb=function(a,b){var c,d,e,g,h=0,j=oa[a]+b[a],k=b[a]>0,l=sb.x+b.x,m=sb.x-mb.x;return c=j>ca.min[a]||j<ca.max[a]?i.panEndFriction:1,j=oa[a]+b[a]*c,!i.allowPanToNext&&s!==f.currItem.initialZoomLevel||(da?"h"!==fa||"x"!==a||W||(k?(j>ca.min[a]&&(c=i.panEndFriction,h=ca.min[a]-j,d=ca.min[a]-na[a]),(0>=d||0>m)&&_b()>1?(g=l,0>m&&l>mb.x&&(g=mb.x)):ca.min.x!==ca.max.x&&(e=j)):(j<ca.max[a]&&(c=i.panEndFriction,h=j-ca.max[a],d=na[a]-ca.max[a]),(0>=d||m>0)&&_b()>1?(g=l,m>0&&l<mb.x&&(g=mb.x)):ca.min.x!==ca.max.x&&(e=j))):g=l,"x"!==a)?void(ea||Z||s>f.currItem.fitRatio&&(oa[a]+=b[a]*c)):(void 0!==g&&(Ja(g,!0),Z=g===mb.x?!1:!0),ca.min.x!==ca.max.x&&(void 0!==e?oa.x=e:Z||(oa.x+=b.x*c)),void 0!==g)},Nb=function(a){if(!("mousedown"===a.type&&a.button>0)){if(Zb)return void a.preventDefault();if(!T||"mousedown"!==a.type){if(Db(a,!0)&&a.preventDefault(),Ca("pointerDown"),F){var b=e.arraySearch(lb,a.pointerId,"id");0>b&&(b=lb.length),lb[b]={x:a.pageX,y:a.pageY,id:a.pointerId}}var c=Lb(a),d=c.length;$=null,bb(),U&&1!==d||(U=ga=!0,e.bind(window,p,f),R=ja=ha=S=Z=X=V=W=!1,fa=null,Ca("firstTouchStart",c),La(na,oa),ma.x=ma.y=0,La(jb,c[0]),La(kb,jb),mb.x=sa.x*qa,nb=[{x:jb.x,y:jb.y}],P=O=Da(),Ra(s,!0),yb(),zb()),!_&&d>1&&!ea&&!Z&&(t=s,W=!1,_=V=!0,ma.y=ma.x=0,La(na,oa),La(gb,c[0]),La(hb,c[1]),Fb(gb,hb,ub),tb.x=Math.abs(ub.x)-oa.x,tb.y=Math.abs(ub.y)-oa.y,aa=ba=xb(gb,hb))}}},Ob=function(a){if(a.preventDefault(),F){var b=e.arraySearch(lb,a.pointerId,"id");if(b>-1){var c=lb[b];c.x=a.pageX,c.y=a.pageY}}if(U){var d=Lb(a);if(fa||X||_)$=d;else if(sb.x!==sa.x*qa)fa="h";else{var f=Math.abs(d[0].x-jb.x)-Math.abs(d[0].y-jb.y);Math.abs(f)>=fb&&(fa=f>0?"h":"v",
$=d)}}},Pb=function(){if($){var a=$.length;if(0!==a)if(La(gb,$[0]),ib.x=gb.x-jb.x,ib.y=gb.y-jb.y,_&&a>1){if(jb.x=gb.x,jb.y=gb.y,!ib.x&&!ib.y&&vb($[1],hb))return;La(hb,$[1]),W||(W=!0,Ca("zoomGestureStarted"));var b=xb(gb,hb),c=Ub(b);c>f.currItem.initialZoomLevel+f.currItem.initialZoomLevel/15&&(ja=!0);var d=1,e=Sa(),g=Ta();if(e>c)if(i.pinchToClose&&!ja&&t<=f.currItem.initialZoomLevel){var h=e-c,j=1-h/(e/1.2);Ea(j),Ca("onPinchClose",j),ha=!0}else d=(e-c)/e,d>1&&(d=1),c=e-d*(e/3);else c>g&&(d=(c-g)/(6*e),d>1&&(d=1),c=g+d*e);0>d&&(d=0),aa=b,Fb(gb,hb,qb),ma.x+=qb.x-ub.x,ma.y+=qb.y-ub.y,La(ub,qb),oa.x=Ka("x",c),oa.y=Ka("y",c),R=c>s,s=c,Ga()}else{if(!fa)return;if(ga&&(ga=!1,Math.abs(ib.x)>=fb&&(ib.x-=$[0].x-kb.x),Math.abs(ib.y)>=fb&&(ib.y-=$[0].y-kb.y)),jb.x=gb.x,jb.y=gb.y,0===ib.x&&0===ib.y)return;if("v"===fa&&i.closeOnVerticalDrag&&!Ab()){ma.y+=ib.y,oa.y+=ib.y;var k=Hb();return S=!0,Ca("onVerticalDrag",k),Ea(k),void Ga()}Gb(Da(),gb.x,gb.y),X=!0,ca=f.currItem.bounds;var l=Mb("x",ib);l||(Mb("y",ib),Ma(oa),Ga())}}},Qb=function(a){if(N.isOldAndroid){if(T&&"mouseup"===a.type)return;a.type.indexOf("touch")>-1&&(clearTimeout(T),T=setTimeout(function(){T=0},600))}Ca("pointerUp"),Db(a,!1)&&a.preventDefault();var b;if(F){var c=e.arraySearch(lb,a.pointerId,"id");if(c>-1)if(b=lb.splice(c,1)[0],navigator.pointerEnabled)b.type=a.pointerType||"mouse";else{var d={4:"mouse",2:"touch",3:"pen"};b.type=d[a.pointerType],b.type||(b.type=a.pointerType||"mouse")}}var g,h=Lb(a),j=h.length;if("mouseup"===a.type&&(j=0),2===j)return $=null,!0;1===j&&La(kb,h[0]),0!==j||fa||ea||(b||("mouseup"===a.type?b={x:a.pageX,y:a.pageY,type:"mouse"}:a.changedTouches&&a.changedTouches[0]&&(b={x:a.changedTouches[0].pageX,y:a.changedTouches[0].pageY,type:"touch"})),Ca("touchRelease",a,b));var k=-1;if(0===j&&(U=!1,e.unbind(window,p,f),yb(),_?k=0:-1!==rb&&(k=Da()-rb)),rb=1===j?Da():-1,g=-1!==k&&150>k?"zoom":"swipe",_&&2>j&&(_=!1,1===j&&(g="zoomPointerUp"),Ca("zoomGestureEnded")),$=null,X||W||ea||S)if(bb(),Q||(Q=Rb()),Q.calculateSwipeSpeed("x"),S){var l=Hb();if(l<i.verticalDragRange)f.close();else{var m=oa.y,n=ia;cb("verticalDrag",0,1,300,e.easing.cubic.out,function(a){oa.y=(f.currItem.initialPosition.y-m)*a+m,Ea((1-n)*a+n),Ga()}),Ca("onVerticalDrag",1)}}else{if((Z||ea)&&0===j){var o=Tb(g,Q);if(o)return;g="zoomPointerUp"}if(!ea)return"swipe"!==g?void Vb():void(!Z&&s>f.currItem.fitRatio&&Sb(Q))}},Rb=function(){var a,b,c={lastFlickOffset:{},lastFlickDist:{},lastFlickSpeed:{},slowDownRatio:{},slowDownRatioReverse:{},speedDecelerationRatio:{},speedDecelerationRatioAbs:{},distanceOffset:{},backAnimDestination:{},backAnimStarted:{},calculateSwipeSpeed:function(d){nb.length>1?(a=Da()-P+50,b=nb[nb.length-2][d]):(a=Da()-O,b=kb[d]),c.lastFlickOffset[d]=jb[d]-b,c.lastFlickDist[d]=Math.abs(c.lastFlickOffset[d]),c.lastFlickDist[d]>20?c.lastFlickSpeed[d]=c.lastFlickOffset[d]/a:c.lastFlickSpeed[d]=0,Math.abs(c.lastFlickSpeed[d])<.1&&(c.lastFlickSpeed[d]=0),c.slowDownRatio[d]=.95,c.slowDownRatioReverse[d]=1-c.slowDownRatio[d],c.speedDecelerationRatio[d]=1},calculateOverBoundsAnimOffset:function(a,b){c.backAnimStarted[a]||(oa[a]>ca.min[a]?c.backAnimDestination[a]=ca.min[a]:oa[a]<ca.max[a]&&(c.backAnimDestination[a]=ca.max[a]),void 0!==c.backAnimDestination[a]&&(c.slowDownRatio[a]=.7,c.slowDownRatioReverse[a]=1-c.slowDownRatio[a],c.speedDecelerationRatioAbs[a]<.05&&(c.lastFlickSpeed[a]=0,c.backAnimStarted[a]=!0,cb("bounceZoomPan"+a,oa[a],c.backAnimDestination[a],b||300,e.easing.sine.out,function(b){oa[a]=b,Ga()}))))},calculateAnimOffset:function(a){c.backAnimStarted[a]||(c.speedDecelerationRatio[a]=c.speedDecelerationRatio[a]*(c.slowDownRatio[a]+c.slowDownRatioReverse[a]-c.slowDownRatioReverse[a]*c.timeDiff/10),c.speedDecelerationRatioAbs[a]=Math.abs(c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]),c.distanceOffset[a]=c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]*c.timeDiff,oa[a]+=c.distanceOffset[a])},panAnimLoop:function(){return Za.zoomPan&&(Za.zoomPan.raf=H(c.panAnimLoop),c.now=Da(),c.timeDiff=c.now-c.lastNow,c.lastNow=c.now,c.calculateAnimOffset("x"),c.calculateAnimOffset("y"),Ga(),c.calculateOverBoundsAnimOffset("x"),c.calculateOverBoundsAnimOffset("y"),c.speedDecelerationRatioAbs.x<.05&&c.speedDecelerationRatioAbs.y<.05)?(oa.x=Math.round(oa.x),oa.y=Math.round(oa.y),Ga(),void _a("zoomPan")):void 0}};return c},Sb=function(a){return a.calculateSwipeSpeed("y"),ca=f.currItem.bounds,a.backAnimDestination={},a.backAnimStarted={},Math.abs(a.lastFlickSpeed.x)<=.05&&Math.abs(a.lastFlickSpeed.y)<=.05?(a.speedDecelerationRatioAbs.x=a.speedDecelerationRatioAbs.y=0,a.calculateOverBoundsAnimOffset("x"),a.calculateOverBoundsAnimOffset("y"),!0):(ab("zoomPan"),a.lastNow=Da(),void a.panAnimLoop())},Tb=function(a,b){var c;ea||(pb=m);var d;if("swipe"===a){var g=jb.x-kb.x,h=b.lastFlickDist.x<10;g>eb&&(h||b.lastFlickOffset.x>20)?d=-1:-eb>g&&(h||b.lastFlickOffset.x<-20)&&(d=1)}var j;d&&(m+=d,0>m?(m=i.loop?_b()-1:0,j=!0):m>=_b()&&(m=i.loop?0:_b()-1,j=!0),(!j||i.loop)&&(ta+=d,qa-=d,c=!0));var k,l=sa.x*qa,n=Math.abs(l-sb.x);return c||l>sb.x==b.lastFlickSpeed.x>0?(k=Math.abs(b.lastFlickSpeed.x)>0?n/Math.abs(b.lastFlickSpeed.x):333,k=Math.min(k,400),k=Math.max(k,250)):k=333,pb===m&&(c=!1),ea=!0,Ca("mainScrollAnimStart"),cb("mainScroll",sb.x,l,k,e.easing.cubic.out,Ja,function(){bb(),ea=!1,pb=-1,(c||pb!==m)&&f.updateCurrItem(),Ca("mainScrollAnimComplete")}),c&&f.updateCurrItem(!0),c},Ub=function(a){return 1/ba*a*t},Vb=function(){var a=s,b=Sa(),c=Ta();b>s?a=b:s>c&&(a=c);var d,g=1,h=ia;return ha&&!R&&!ja&&b>s?(f.close(),!0):(ha&&(d=function(a){Ea((g-h)*a+h)}),f.zoomTo(a,0,200,e.easing.cubic.out,d),!0)};ya("Gestures",{publicMethods:{initGestures:function(){var a=function(a,b,c,d,e){A=a+b,B=a+c,C=a+d,D=e?a+e:""};F=N.pointerEvent,F&&N.touch&&(N.touch=!1),F?navigator.pointerEnabled?a("pointer","down","move","up","cancel"):a("MSPointer","Down","Move","Up","Cancel"):N.touch?(a("touch","start","move","end","cancel"),G=!0):a("mouse","down","move","up"),p=B+" "+C+" "+D,q=A,F&&!G&&(G=navigator.maxTouchPoints>1||navigator.msMaxTouchPoints>1),f.likelyTouchDevice=G,r[A]=Nb,r[B]=Ob,r[C]=Qb,D&&(r[D]=r[C]),N.touch&&(q+=" mousedown",p+=" mousemove mouseup",r.mousedown=r[A],r.mousemove=r[B],r.mouseup=r[C]),G||(i.allowPanToNext=!1)}}});var Wb,Xb,Yb,Zb,$b,_b,ac,bc=function(b,c,d,g){Wb&&clearTimeout(Wb),Zb=!0,Yb=!0;var h;b.initialLayout?(h=b.initialLayout,b.initialLayout=null):h=i.getThumbBoundsFn&&i.getThumbBoundsFn(m);var j=d?i.hideAnimationDuration:i.showAnimationDuration,k=function(){_a("initialZoom"),d?(f.template.removeAttribute("style"),f.bg.removeAttribute("style")):(Ea(1),c&&(c.style.display="block"),e.addClass(a,"pswp--animated-in"),Ca("initialZoom"+(d?"OutEnd":"InEnd"))),g&&g(),Zb=!1};if(!j||!h||void 0===h.x)return Ca("initialZoom"+(d?"Out":"In")),s=b.initialZoomLevel,La(oa,b.initialPosition),Ga(),a.style.opacity=d?0:1,Ea(1),void(j?setTimeout(function(){k()},j):k());var n=function(){var c=l,g=!f.currItem.src||f.currItem.loadError||i.showHideOpacity;b.miniImg&&(b.miniImg.style.webkitBackfaceVisibility="hidden"),d||(s=h.w/b.w,oa.x=h.x,oa.y=h.y-K,f[g?"template":"bg"].style.opacity=.001,Ga()),ab("initialZoom"),d&&!c&&e.removeClass(a,"pswp--animated-in"),g&&(d?e[(c?"remove":"add")+"Class"](a,"pswp--animate_opacity"):setTimeout(function(){e.addClass(a,"pswp--animate_opacity")},30)),Wb=setTimeout(function(){if(Ca("initialZoom"+(d?"Out":"In")),d){var f=h.w/b.w,i={x:oa.x,y:oa.y},l=s,m=ia,n=function(b){1===b?(s=f,oa.x=h.x,oa.y=h.y-M):(s=(f-l)*b+l,oa.x=(h.x-i.x)*b+i.x,oa.y=(h.y-M-i.y)*b+i.y),Ga(),g?a.style.opacity=1-b:Ea(m-b*m)};c?cb("initialZoom",0,1,j,e.easing.cubic.out,n,k):(n(1),Wb=setTimeout(k,j+20))}else s=b.initialZoomLevel,La(oa,b.initialPosition),Ga(),Ea(1),g?a.style.opacity=1:Ea(1),Wb=setTimeout(k,j+20)},d?25:90)};n()},cc={},dc=[],ec={index:0,errorMsg:'<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>',forceProgressiveLoading:!1,preload:[1,1],getNumItemsFn:function(){return Xb.length}},fc=function(){return{center:{x:0,y:0},max:{x:0,y:0},min:{x:0,y:0}}},gc=function(a,b,c){var d=a.bounds;d.center.x=Math.round((cc.x-b)/2),d.center.y=Math.round((cc.y-c)/2)+a.vGap.top,d.max.x=b>cc.x?Math.round(cc.x-b):d.center.x,d.max.y=c>cc.y?Math.round(cc.y-c)+a.vGap.top:d.center.y,d.min.x=b>cc.x?0:d.center.x,d.min.y=c>cc.y?a.vGap.top:d.center.y},hc=function(a,b,c){if(a.src&&!a.loadError){var d=!c;if(d&&(a.vGap||(a.vGap={top:0,bottom:0}),Ca("parseVerticalMargin",a)),cc.x=b.x,cc.y=b.y-a.vGap.top-a.vGap.bottom,d){var e=cc.x/a.w,f=cc.y/a.h;a.fitRatio=f>e?e:f;var g=i.scaleMode;"orig"===g?c=1:"fit"===g&&(c=a.fitRatio),c>1&&(c=1),a.initialZoomLevel=c,a.bounds||(a.bounds=fc())}if(!c)return;return gc(a,a.w*c,a.h*c),d&&c===a.initialZoomLevel&&(a.initialPosition=a.bounds.center),a.bounds}return a.w=a.h=0,a.initialZoomLevel=a.fitRatio=1,a.bounds=fc(),a.initialPosition=a.bounds.center,a.bounds},ic=function(a,b,c,d,e,g){b.loadError||d&&(b.imageAppended=!0,lc(b,d,b===f.currItem&&xa),c.appendChild(d),g&&setTimeout(function(){b&&b.loaded&&b.placeholder&&(b.placeholder.style.display="none",b.placeholder=null)},500))},jc=function(a){a.loading=!0,a.loaded=!1;var b=a.img=e.createEl("pswp__img","img"),c=function(){a.loading=!1,a.loaded=!0,a.loadComplete?a.loadComplete(a):a.img=null,b.onload=b.onerror=null,b=null};return b.onload=c,b.onerror=function(){a.loadError=!0,c()},b.src=a.src,b},kc=function(a,b){return a.src&&a.loadError&&a.container?(b&&(a.container.innerHTML=""),a.container.innerHTML=i.errorMsg.replace("%url%",a.src),!0):void 0},lc=function(a,b,c){if(a.src){b||(b=a.container.lastChild);var d=c?a.w:Math.round(a.w*a.fitRatio),e=c?a.h:Math.round(a.h*a.fitRatio);a.placeholder&&!a.loaded&&(a.placeholder.style.width=d+"px",a.placeholder.style.height=e+"px"),b.style.width=d+"px",b.style.height=e+"px"}},mc=function(){if(dc.length){for(var a,b=0;b<dc.length;b++)a=dc[b],a.holder.index===a.index&&ic(a.index,a.item,a.baseDiv,a.img,!1,a.clearPlaceholder);dc=[]}};ya("Controller",{publicMethods:{lazyLoadItem:function(a){a=za(a);var b=$b(a);b&&(!b.loaded&&!b.loading||x)&&(Ca("gettingData",a,b),b.src&&jc(b))},initController:function(){e.extend(i,ec,!0),f.items=Xb=c,$b=f.getItemAt,_b=i.getNumItemsFn,ac=i.loop,_b()<3&&(i.loop=!1),Ba("beforeChange",function(a){var b,c=i.preload,d=null===a?!0:a>=0,e=Math.min(c[0],_b()),g=Math.min(c[1],_b());for(b=1;(d?g:e)>=b;b++)f.lazyLoadItem(m+b);for(b=1;(d?e:g)>=b;b++)f.lazyLoadItem(m-b)}),Ba("initialLayout",function(){f.currItem.initialLayout=i.getThumbBoundsFn&&i.getThumbBoundsFn(m)}),Ba("mainScrollAnimComplete",mc),Ba("initialZoomInEnd",mc),Ba("destroy",function(){for(var a,b=0;b<Xb.length;b++)a=Xb[b],a.container&&(a.container=null),a.placeholder&&(a.placeholder=null),a.img&&(a.img=null),a.preloader&&(a.preloader=null),a.loadError&&(a.loaded=a.loadError=!1);dc=null})},getItemAt:function(a){return a>=0&&void 0!==Xb[a]?Xb[a]:!1},allowProgressiveImg:function(){return i.forceProgressiveLoading||!G||i.mouseUsed||screen.width>1200},setContent:function(a,b){i.loop&&(b=za(b));var c=f.getItemAt(a.index);c&&(c.container=null);var d,g=f.getItemAt(b);if(!g)return void(a.el.innerHTML="");Ca("gettingData",b,g),a.index=b,a.item=g;var h=g.container=e.createEl("pswp__zoom-wrap");if(!g.src&&g.html&&(g.html.tagName?h.appendChild(g.html):h.innerHTML=g.html),kc(g),hc(g,pa),!g.src||g.loadError||g.loaded)g.src&&!g.loadError&&(d=e.createEl("pswp__img","img"),d.style.opacity=1,d.src=g.src,lc(g,d),ic(b,g,h,d,!0));else{if(g.loadComplete=function(c){if(j){if(a&&a.index===b){if(kc(c,!0))return c.loadComplete=c.img=null,hc(c,pa),Ha(c),void(a.index===m&&f.updateCurrZoomItem());c.imageAppended?!Zb&&c.placeholder&&(c.placeholder.style.display="none",c.placeholder=null):N.transform&&(ea||Zb)?dc.push({item:c,baseDiv:h,img:c.img,index:b,holder:a,clearPlaceholder:!0}):ic(b,c,h,c.img,ea||Zb,!0)}c.loadComplete=null,c.img=null,Ca("imageLoadComplete",b,c)}},e.features.transform){var k="pswp__img pswp__img--placeholder";k+=g.msrc?"":" pswp__img--placeholder--blank";var l=e.createEl(k,g.msrc?"img":"");g.msrc&&(l.src=g.msrc),lc(g,l),h.appendChild(l),g.placeholder=l}g.loading||jc(g),f.allowProgressiveImg()&&(!Yb&&N.transform?dc.push({item:g,baseDiv:h,img:g.img,index:b,holder:a}):ic(b,g,h,g.img,!0,!0))}Yb||b!==m?Ha(g):(da=h.style,bc(g,d||g.img)),a.el.innerHTML="",a.el.appendChild(h)},cleanSlide:function(a){a.img&&(a.img.onload=a.img.onerror=null),a.loaded=a.loading=a.img=a.imageAppended=!1}}});var nc,oc={},pc=function(a,b,c){var d=document.createEvent("CustomEvent"),e={origEvent:a,target:a.target,releasePoint:b,pointerType:c||"touch"};d.initCustomEvent("pswpTap",!0,!0,e),a.target.dispatchEvent(d)};ya("Tap",{publicMethods:{initTap:function(){Ba("firstTouchStart",f.onTapStart),Ba("touchRelease",f.onTapRelease),Ba("destroy",function(){oc={},nc=null})},onTapStart:function(a){a.length>1&&(clearTimeout(nc),nc=null)},onTapRelease:function(a,b){if(b&&!X&&!V&&!$a){var c=b;if(nc&&(clearTimeout(nc),nc=null,wb(c,oc)))return void Ca("doubleTap",c);if("mouse"===b.type)return void pc(a,b,"mouse");var d=a.target.tagName.toUpperCase();if("BUTTON"===d||e.hasClass(a.target,"pswp__single-tap"))return void pc(a,b);La(oc,c),nc=setTimeout(function(){pc(a,b),nc=null},300)}}}});var qc;ya("DesktopZoom",{publicMethods:{initDesktopZoom:function(){L||(G?Ba("mouseUsed",function(){f.setupDesktopZoom()}):f.setupDesktopZoom(!0))},setupDesktopZoom:function(b){qc={};var c="wheel mousewheel DOMMouseScroll";Ba("bindEvents",function(){e.bind(a,c,f.handleMouseWheel)}),Ba("unbindEvents",function(){qc&&e.unbind(a,c,f.handleMouseWheel)}),f.mouseZoomedIn=!1;var d,g=function(){f.mouseZoomedIn&&(e.removeClass(a,"pswp--zoomed-in"),f.mouseZoomedIn=!1),1>s?e.addClass(a,"pswp--zoom-allowed"):e.removeClass(a,"pswp--zoom-allowed"),h()},h=function(){d&&(e.removeClass(a,"pswp--dragging"),d=!1)};Ba("resize",g),Ba("afterChange",g),Ba("pointerDown",function(){f.mouseZoomedIn&&(d=!0,e.addClass(a,"pswp--dragging"))}),Ba("pointerUp",h),b||g()},handleMouseWheel:function(a){if(s<=f.currItem.fitRatio)return i.modal&&(!i.closeOnScroll||$a||U?a.preventDefault():E&&Math.abs(a.deltaY)>2&&(l=!0,f.close())),!0;if(a.stopPropagation(),qc.x=0,"deltaX"in a)1===a.deltaMode?(qc.x=18*a.deltaX,qc.y=18*a.deltaY):(qc.x=a.deltaX,qc.y=a.deltaY);else if("wheelDelta"in a)a.wheelDeltaX&&(qc.x=-.16*a.wheelDeltaX),a.wheelDeltaY?qc.y=-.16*a.wheelDeltaY:qc.y=-.16*a.wheelDelta;else{if(!("detail"in a))return;qc.y=a.detail}Ra(s,!0);var b=oa.x-qc.x,c=oa.y-qc.y;(i.modal||b<=ca.min.x&&b>=ca.max.x&&c<=ca.min.y&&c>=ca.max.y)&&a.preventDefault(),f.panTo(b,c)},toggleDesktopZoom:function(b){b=b||{x:pa.x/2+ra.x,y:pa.y/2+ra.y};var c=i.getDoubleTapZoom(!0,f.currItem),d=s===c;f.mouseZoomedIn=!d,f.zoomTo(d?f.currItem.initialZoomLevel:c,b,333),e[(d?"remove":"add")+"Class"](a,"pswp--zoomed-in")}}});var rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc={history:!0,galleryUID:1},Ec=function(){return Bc.hash.substring(1)},Fc=function(){rc&&clearTimeout(rc),tc&&clearTimeout(tc)},Gc=function(){var a=Ec(),b={};if(a.length<5)return b;var c,d=a.split("&");for(c=0;c<d.length;c++)if(d[c]){var e=d[c].split("=");e.length<2||(b[e[0]]=e[1])}if(i.galleryPIDs){var f=b.pid;for(b.pid=0,c=0;c<Xb.length;c++)if(Xb[c].pid===f){b.pid=c;break}}else b.pid=parseInt(b.pid,10)-1;return b.pid<0&&(b.pid=0),b},Hc=function(){if(tc&&clearTimeout(tc),$a||U)return void(tc=setTimeout(Hc,500));uc?clearTimeout(sc):uc=!0;var a=m+1,b=$b(m);b.hasOwnProperty("pid")&&(a=b.pid);var c=xc+"&gid="+i.galleryUID+"&pid="+a;yc||-1===Bc.hash.indexOf(c)&&(Ac=!0);var d=Bc.href.split("#")[0]+"#"+c;Cc?"#"+c!==window.location.hash&&history[yc?"replaceState":"pushState"]("",document.title,d):yc?Bc.replace(d):Bc.hash=c,yc=!0,sc=setTimeout(function(){uc=!1},60)};ya("History",{publicMethods:{initHistory:function(){if(e.extend(i,Dc,!0),i.history){Bc=window.location,Ac=!1,zc=!1,yc=!1,xc=Ec(),Cc="pushState"in history,xc.indexOf("gid=")>-1&&(xc=xc.split("&gid=")[0],xc=xc.split("?gid=")[0]),Ba("afterChange",f.updateURL),Ba("unbindEvents",function(){e.unbind(window,"hashchange",f.onHashChange)});var a=function(){wc=!0,zc||(Ac?history.back():xc?Bc.hash=xc:Cc?history.pushState("",document.title,Bc.pathname+Bc.search):Bc.hash=""),Fc()};Ba("unbindEvents",function(){l&&a()}),Ba("destroy",function(){wc||a()}),Ba("firstUpdate",function(){m=Gc().pid});var b=xc.indexOf("pid=");b>-1&&(xc=xc.substring(0,b),"&"===xc.slice(-1)&&(xc=xc.slice(0,-1))),setTimeout(function(){j&&e.bind(window,"hashchange",f.onHashChange)},40)}},onHashChange:function(){return Ec()===xc?(zc=!0,void f.close()):void(uc||(vc=!0,f.goTo(Gc().pid),vc=!1))},updateURL:function(){Fc(),vc||(yc?rc=setTimeout(Hc,800):Hc())}}}),e.extend(f,db)};return a}),!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipeUI_Default=b()}(this,function(){"use strict";var a=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this,w=!1,x=!0,y=!0,z={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3,addCaptionHTMLFn:function(a,b){return a.title?(b.children[0].innerHTML=a.title,!0):(b.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"facebook",label:"Share on Facebook",url:"https://www.facebook.com/sharer/sharer.php?u={{url}}"},{id:"twitter",label:"Tweet",url:"https://twitter.com/intent/tweet?text={{text}}&url={{url}}"},{id:"pinterest",label:"Pin it",url:"http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}"},{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return a.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return a.currItem.title||""},indexIndicatorSep:" / ",fitControlsWidth:1200},A=function(a){if(r)return!0;a=a||window.event,q.timeToIdle&&q.mouseUsed&&!k&&K();for(var c,d,e=a.target||a.srcElement,f=e.getAttribute("class")||"",g=0;g<S.length;g++)c=S[g],c.onTap&&f.indexOf("pswp__"+c.name)>-1&&(c.onTap(),d=!0);if(d){a.stopPropagation&&a.stopPropagation(),r=!0;var h=b.features.isOldAndroid?600:30;s=setTimeout(function(){r=!1},h)}},B=function(){return!a.likelyTouchDevice||q.mouseUsed||screen.width>q.fitControlsWidth},C=function(a,c,d){b[(d?"add":"remove")+"Class"](a,"pswp__"+c)},D=function(){var a=1===q.getNumItemsFn();a!==p&&(C(d,"ui--one-slide",a),p=a)},E=function(){C(i,"share-modal--hidden",y)},F=function(){return y=!y,y?(b.removeClass(i,"pswp__share-modal--fade-in"),setTimeout(function(){y&&E()},300)):(E(),setTimeout(function(){y||b.addClass(i,"pswp__share-modal--fade-in")},30)),y||H(),!1},G=function(b){b=b||window.event;var c=b.target||b.srcElement;return a.shout("shareLinkClick",b,c),c.href?c.hasAttribute("download")?!0:(window.open(c.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),y||F(),!1):!1},H=function(){for(var a,b,c,d,e,f="",g=0;g<q.shareButtons.length;g++)a=q.shareButtons[g],c=q.getImageURLForShare(a),d=q.getPageURLForShare(a),e=q.getTextForShare(a),b=a.url.replace("{{url}}",encodeURIComponent(d)).replace("{{image_url}}",encodeURIComponent(c)).replace("{{raw_image_url}}",c).replace("{{text}}",encodeURIComponent(e)),f+='<a href="'+b+'" target="_blank" class="pswp__share--'+a.id+'"'+(a.download?"download":"")+">"+a.label+"</a>",q.parseShareButtonOut&&(f=q.parseShareButtonOut(a,f));i.children[0].innerHTML=f,i.children[0].onclick=G},I=function(a){for(var c=0;c<q.closeElClasses.length;c++)if(b.hasClass(a,"pswp__"+q.closeElClasses[c]))return!0},J=0,K=function(){clearTimeout(u),J=0,k&&v.setIdle(!1)},L=function(a){a=a?a:window.event;var b=a.relatedTarget||a.toElement;b&&"HTML"!==b.nodeName||(clearTimeout(u),u=setTimeout(function(){v.setIdle(!0)},q.timeToIdleOutside))},M=function(){q.fullscreenEl&&!b.features.isOldAndroid&&(c||(c=v.getFullscreenAPI()),c?(b.bind(document,c.eventK,v.updateFullscreen),v.updateFullscreen(),b.addClass(a.template,"pswp--supports-fs")):b.removeClass(a.template,"pswp--supports-fs"))},N=function(){q.preloaderEl&&(O(!0),l("beforeChange",function(){clearTimeout(o),o=setTimeout(function(){a.currItem&&a.currItem.loading?(!a.allowProgressiveImg()||a.currItem.img&&!a.currItem.img.naturalWidth)&&O(!1):O(!0)},q.loadingIndicatorDelay)}),l("imageLoadComplete",function(b,c){a.currItem===c&&O(!0)}))},O=function(a){n!==a&&(C(m,"preloader--active",!a),n=a)},P=function(a){var c=a.vGap;if(B()){var g=q.barsSize;if(q.captionEl&&"auto"===g.bottom)if(f||(f=b.createEl("pswp__caption pswp__caption--fake"),f.appendChild(b.createEl("pswp__caption__center")),d.insertBefore(f,e),b.addClass(d,"pswp__ui--fit")),q.addCaptionHTMLFn(a,f,!0)){var h=f.clientHeight;c.bottom=parseInt(h,10)||44}else c.bottom=g.top;else c.bottom="auto"===g.bottom?0:g.bottom;c.top=g.top}else c.top=c.bottom=0},Q=function(){q.timeToIdle&&l("mouseUsed",function(){b.bind(document,"mousemove",K),b.bind(document,"mouseout",L),t=setInterval(function(){J++,2===J&&v.setIdle(!0)},q.timeToIdle/2)})},R=function(){l("onVerticalDrag",function(a){x&&.95>a?v.hideControls():!x&&a>=.95&&v.showControls()});var a;l("onPinchClose",function(b){x&&.9>b?(v.hideControls(),a=!0):a&&!x&&b>.9&&v.showControls()}),l("zoomGestureEnded",function(){a=!1,a&&!x&&v.showControls()})},S=[{name:"caption",option:"captionEl",onInit:function(a){e=a}},{name:"share-modal",option:"shareEl",onInit:function(a){i=a},onTap:function(){F()}},{name:"button--share",option:"shareEl",onInit:function(a){h=a},onTap:function(){F()}},{name:"button--zoom",option:"zoomEl",onTap:a.toggleDesktopZoom},{name:"counter",option:"counterEl",onInit:function(a){g=a}},{name:"button--close",option:"closeEl",onTap:a.close},{name:"button--arrow--left",option:"arrowEl",onTap:a.prev},{name:"button--arrow--right",option:"arrowEl",onTap:a.next},{name:"button--fs",option:"fullscreenEl",onTap:function(){c.isFullscreen()?c.exit():c.enter()}},{name:"preloader",option:"preloaderEl",onInit:function(a){m=a}}],T=function(){var a,c,e,f=function(d){if(d)for(var f=d.length,g=0;f>g;g++){a=d[g],c=a.className;for(var h=0;h<S.length;h++)e=S[h],c.indexOf("pswp__"+e.name)>-1&&(q[e.option]?(b.removeClass(a,"pswp__element--disabled"),e.onInit&&e.onInit(a)):b.addClass(a,"pswp__element--disabled"))}};f(d.children);var g=b.getChildByClass(d,"pswp__top-bar");g&&f(g.children)};v.init=function(){b.extend(a.options,z,!0),q=a.options,d=b.getChildByClass(a.scrollWrap,"pswp__ui"),l=a.listen,R(),l("beforeChange",v.update),l("doubleTap",function(b){var c=a.currItem.initialZoomLevel;a.getZoomLevel()!==c?a.zoomTo(c,b,333):a.zoomTo(q.getDoubleTapZoom(!1,a.currItem),b,333)}),l("preventDragEvent",function(a,b,c){var d=a.target||a.srcElement;d&&d.getAttribute("class")&&a.type.indexOf("mouse")>-1&&(d.getAttribute("class").indexOf("__caption")>0||/(SMALL|STRONG|EM)/i.test(d.tagName))&&(c.prevent=!1)}),l("bindEvents",function(){b.bind(d,"pswpTap click",A),b.bind(a.scrollWrap,"pswpTap",v.onGlobalTap),a.likelyTouchDevice||b.bind(a.scrollWrap,"mouseover",v.onMouseOver)}),l("unbindEvents",function(){y||F(),t&&clearInterval(t),b.unbind(document,"mouseout",L),b.unbind(document,"mousemove",K),b.unbind(d,"pswpTap click",A),b.unbind(a.scrollWrap,"pswpTap",v.onGlobalTap),b.unbind(a.scrollWrap,"mouseover",v.onMouseOver),c&&(b.unbind(document,c.eventK,v.updateFullscreen),c.isFullscreen()&&(q.hideAnimationDuration=0,c.exit()),c=null)}),l("destroy",function(){q.captionEl&&(f&&d.removeChild(f),b.removeClass(e,"pswp__caption--empty")),i&&(i.children[0].onclick=null),b.removeClass(d,"pswp__ui--over-close"),b.addClass(d,"pswp__ui--hidden"),v.setIdle(!1)}),q.showAnimationDuration||b.removeClass(d,"pswp__ui--hidden"),l("initialZoomIn",function(){q.showAnimationDuration&&b.removeClass(d,"pswp__ui--hidden")}),l("initialZoomOut",function(){b.addClass(d,"pswp__ui--hidden")}),l("parseVerticalMargin",P),T(),q.shareEl&&h&&i&&(y=!0),D(),Q(),M(),N()},v.setIdle=function(a){k=a,C(d,"ui--idle",a)},v.update=function(){x&&a.currItem?(v.updateIndexIndicator(),q.captionEl&&(q.addCaptionHTMLFn(a.currItem,e),C(e,"caption--empty",!a.currItem.title)),w=!0):w=!1,y||F(),D()},v.updateFullscreen=function(d){d&&setTimeout(function(){a.setScrollOffset(0,b.getScrollY())},50),b[(c.isFullscreen()?"add":"remove")+"Class"](a.template,"pswp--fs")},v.updateIndexIndicator=function(){q.counterEl&&(g.innerHTML=a.getCurrentIndex()+1+q.indexIndicatorSep+q.getNumItemsFn())},v.onGlobalTap=function(c){c=c||window.event;var d=c.target||c.srcElement;if(!r)if(c.detail&&"mouse"===c.detail.pointerType){if(I(d))return void a.close();b.hasClass(d,"pswp__img")&&(1===a.getZoomLevel()&&a.getZoomLevel()<=a.currItem.fitRatio?q.clickToCloseNonZoomable&&a.close():a.toggleDesktopZoom(c.detail.releasePoint))}else if(q.tapToToggleControls&&(x?v.hideControls():v.showControls()),q.tapToClose&&(b.hasClass(d,"pswp__img")||I(d)))return void a.close()},v.onMouseOver=function(a){a=a||window.event;var b=a.target||a.srcElement;C(d,"ui--over-close",I(b))},v.hideControls=function(){b.addClass(d,"pswp__ui--hidden"),x=!1},v.showControls=function(){x=!0,w||v.update(),b.removeClass(d,"pswp__ui--hidden")},v.supportsFullscreen=function(){var a=document;return!!(a.exitFullscreen||a.mozCancelFullScreen||a.webkitExitFullscreen||a.msExitFullscreen)},v.getFullscreenAPI=function(){var b,c=document.documentElement,d="fullscreenchange";return c.requestFullscreen?b={enterK:"requestFullscreen",exitK:"exitFullscreen",elementK:"fullscreenElement",eventK:d}:c.mozRequestFullScreen?b={enterK:"mozRequestFullScreen",exitK:"mozCancelFullScreen",elementK:"mozFullScreenElement",eventK:"moz"+d}:c.webkitRequestFullscreen?b={enterK:"webkitRequestFullscreen",exitK:"webkitExitFullscreen",elementK:"webkitFullscreenElement",eventK:"webkit"+d}:c.msRequestFullscreen&&(b={enterK:"msRequestFullscreen",exitK:"msExitFullscreen",elementK:"msFullscreenElement",eventK:"MSFullscreenChange"}),b&&(b.enter=function(){return j=q.closeOnScroll,q.closeOnScroll=!1,"webkitRequestFullscreen"!==this.enterK?a.template[this.enterK]():void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT)},b.exit=function(){return q.closeOnScroll=j,document[this.exitK]()},b.isFullscreen=function(){return document[this.elementK]}),b}};return a}),function(){var requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1e3/60)};window.requestAnimationFrame=requestAnimationFrame}();var background=document.getElementById("bgCanvas"),bgCtx=background.getContext("2d"),width=window.innerWidth,height=document.getElementById("primary-header").offsetHeight;background.width=width,background.height=height,Terrain.prototype.update=function(){this.terCtx.clearRect(0,0,width,height),this.terCtx.fillStyle=this.fillStyle,(new Date).getTime()>this.lastScroll+this.scrollDelay&&(this.lastScroll=(new Date).getTime(),this.points.push(this.points.shift())),this.terCtx.beginPath();for(var i=0;width>=i;i++)0===i?this.terCtx.moveTo(0,this.points[0]):void 0!==this.points[i]&&this.terCtx.lineTo(i,this.points[i]);this.terCtx.lineTo(width,this.terrain.height),this.terCtx.lineTo(0,this.terrain.height),this.terCtx.lineTo(0,this.points[0]),this.terCtx.fill()},bgCtx.fillStyle="#05004c",bgCtx.fillRect(0,0,width,height),Star.prototype.reset=function(){this.size=2*Math.random(),this.speed=.05*Math.random(),this.x=width,this.y=Math.random()*height},Star.prototype.update=function(){this.x-=this.speed,this.x<0?this.reset():bgCtx.fillRect(this.x,this.y,this.size,this.size)},ShootingStar.prototype.reset=function(){this.x=Math.random()*width,this.y=0,this.len=80*Math.random()+10,this.speed=.01*Math.random()+6,this.size=1*Math.random()+.1,this.waitTime=(new Date).getTime()+3e3*Math.random()+500,this.active=!1},ShootingStar.prototype.update=function(){this.active?(this.x-=this.speed,this.y+=this.speed,this.x<0||this.y>=height?this.reset():(bgCtx.lineWidth=this.size,bgCtx.beginPath(),bgCtx.moveTo(this.x,this.y),bgCtx.lineTo(this.x+this.len,this.y-this.len),bgCtx.stroke())):this.waitTime<(new Date).getTime()&&(this.active=!0)};for(var entities=[],i=0;height>i;i++)entities.push(new Star({x:Math.random()*width,y:Math.random()*height}));entities.push(new ShootingStar),entities.push(new ShootingStar),entities.push(new Terrain({mHeight:height/2-120,fillStyle:"transparent"})),entities.push(new Terrain({displacement:120,scrollDelay:150,fillStyle:"transparent",mHeight:height/2-60})),entities.push(new Terrain({displacement:100,scrollDelay:120,fillStyle:"transparent",mHeight:height/2})),animate();var navTrigger=document.getElementsByClassName("nav-trigger")[0],body=document.getElementsByTagName("body")[0];navTrigger.addEventListener("click",toggleNavigation),$.fn.slideFadeToggle=function(speed,easing,callback){return this.animate({opacity:"toggle",height:"toggle","padding-top":"toggle","padding-bottom":"toggle",margin:"toggle"},speed,easing,callback)},$("dd").hide(),$("dt").click(function(){$(this).toggleClass("toggled").next("dd").slideFadeToggle().toggleClass("toggled")}),$(window).load(function(){var columns=3,windowWidth=Math.max($(window).width(),window.innerWidth),setColumns=function(){columns=windowWidth>1400?3:windowWidth>800?2:1};setColumns(),$(window).resize(setColumns),$(window).resize(function(){windowWidth=Math.max($(window).width(),window.innerWidth)}),$(".isotope").isotope({itemSelector:".item",columnWidth:function(containerWidth){return containerWidth/columns}})}),Masonry.prototype._getMeasurement=function(measurement,size){var elem,option=this.options[measurement];option?"function"==typeof option?this[measurement]=option.call(this):("string"==typeof option?elem=this.element.querySelector(option):isElement(option)&&(elem=option),this[measurement]=elem?getSize(elem)[size]:option):this[measurement]=0},$(function(){$(".masonry").masonry({itemSelector:".masonry-item",columnWidth:function(){return this.size.innerWidth/12}})}),$(".gallery-image").after('<div class="image-enlarge_tooltip"><span class="image-enlarge_tooltip_content"><svg><use xlink:href="#icon_enlarge-image"></use></svg>Enlarge</span></div>');var initPhotoSwipeFromDOM=function(gallerySelector){for(var parseThumbnailElements=function(el){for(var figureEl,linkEl,size,item,thumbElements=el.childNodes,numNodes=thumbElements.length,items=[],i=0;numNodes>i;i++)figureEl=thumbElements[i],1===figureEl.nodeType&&(linkEl=figureEl.children[0],size=linkEl.getAttribute("data-size").split("x"),item={src:linkEl.getAttribute("href"),w:parseInt(size[0],10),h:parseInt(size[1],10)},figureEl.children.length>1&&(item.title=figureEl.children[1].innerHTML),linkEl.children.length>0&&(item.msrc=linkEl.children[0].getAttribute("src")),item.el=figureEl,items.push(item));return items},closest=function closest(el,fn){return el&&(fn(el)?el:closest(el.parentNode,fn))},onThumbnailsClick=function(e){e=e||window.event,e.preventDefault?e.preventDefault():e.returnValue=!1;var eTarget=e.target||e.srcElement,clickedListItem=closest(eTarget,function(el){return el.tagName&&"FIGURE"===el.tagName.toUpperCase()});if(clickedListItem){for(var index,clickedGallery=clickedListItem.parentNode,childNodes=clickedListItem.parentNode.childNodes,numChildNodes=childNodes.length,nodeIndex=0,i=0;numChildNodes>i;i++)if(1===childNodes[i].nodeType){if(childNodes[i]===clickedListItem){index=nodeIndex;break}nodeIndex++}return index>=0&&openPhotoSwipe(index,clickedGallery),!1}},photoswipeParseHash=function(){var hash=window.location.hash.substring(1),params={};if(hash.length<5)return params;for(var vars=hash.split("&"),i=0;i<vars.length;i++)if(vars[i]){var pair=vars[i].split("=");pair.length<2||(params[pair[0]]=pair[1])}return params.gid&&(params.gid=parseInt(params.gid,10)),params},openPhotoSwipe=function(index,galleryElement,disableAnimation,fromURL){
var gallery,options,items,pswpElement=document.querySelectorAll(".pswp")[0];if(items=parseThumbnailElements(galleryElement),options={galleryUID:galleryElement.getAttribute("data-pswp-uid"),getThumbBoundsFn:function(index){var thumbnail=items[index].el.getElementsByTagName("img")[0],pageYScroll=window.pageYOffset||document.documentElement.scrollTop,rect=thumbnail.getBoundingClientRect();return{x:rect.left,y:rect.top+pageYScroll,w:rect.width}}},fromURL)if(options.galleryPIDs){for(var j=0;j<items.length;j++)if(items[j].pid==index){options.index=j;break}}else options.index=parseInt(index,10)-1;else options.index=parseInt(index,10);isNaN(options.index)||(disableAnimation&&(options.showAnimationDuration=0),gallery=new PhotoSwipe(pswpElement,PhotoSwipeUI_Default,items,options),gallery.init())},galleryElements=document.querySelectorAll(gallerySelector),i=0,l=galleryElements.length;l>i;i++)galleryElements[i].setAttribute("data-pswp-uid",i+1),galleryElements[i].onclick=onThumbnailsClick;var hashData=photoswipeParseHash();hashData.pid&&hashData.gid&&openPhotoSwipe(hashData.pid,galleryElements[hashData.gid-1],!0,!0)};initPhotoSwipeFromDOM(".gallery"),$(window).ready(function(){$(this).one("scroll",function(){$("#back-to-top").css("display","inline-block")})});