!function(n){function i(){}function t(n){function u(t){t.prototype.option||(t.prototype.option=function(t){n.isPlainObject(t)&&(this.options=n.extend(!0,this.options,t))})}function f(i,u){n.fn[i]=function(f){var h,e,s;if("string"==typeof f){for(var c=r.call(arguments,1),o=0,l=this.length;l>o;o++)if(h=this[o],e=n.data(h,i),e)if(n.isFunction(e[f])&&"_"!==f.charAt(0)){if(s=e[f].apply(e,c),void 0!==s)return s}else t("no such method '"+f+"' for "+i+" instance");else t("cannot call methods on "+i+" prior to initialization; attempted to call '"+f+"'");return this}return this.each(function(){var t=n.data(this,i);t?(t.option(f),t._init()):(t=new u(this,f),n.data(this,i,t))})}}if(n){var t="undefined"==typeof console?i:function(n){console.error(n)};return n.bridget=function(n,t){u(t);f(n,t)},n.bridget}}var r=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],t):t("object"==typeof exports?require("jquery"):n.jQuery)}(window),function(n){function f(t){var i=n.event;return i.target=i.target||i.srcElement||t,i}var t=document.documentElement,u=function(){},i,r;t.addEventListener?u=function(n,t,i){n.addEventListener(t,i,!1)}:t.attachEvent&&(u=function(n,t,i){n[t+i]=i.handleEvent?function(){var t=f(n);i.handleEvent.call(i,t)}:function(){var t=f(n);i.call(n,t)};n.attachEvent("on"+t,n[t+i])});i=function(){};t.removeEventListener?i=function(n,t,i){n.removeEventListener(t,i,!1)}:t.detachEvent&&(i=function(n,t,i){n.detachEvent("on"+t,n[t+i]);try{delete n[t+i]}catch(r){n[t+i]=void 0}});r={bind:u,unbind:i};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:n.eventie=r}(window),function(){function t(){}function u(n,t){for(var i=n.length;i--;)if(n[i].listener===t)return i;return-1}function i(n){return function(){return this[n].apply(this,arguments)}}var n=t.prototype,r=this,f=r.EventEmitter;n.getListeners=function(n){var r,t,i=this._getEvents();if(n instanceof RegExp){r={};for(t in i)i.hasOwnProperty(t)&&n.test(t)&&(r[t]=i[t])}else r=i[n]||(i[n]=[]);return r};n.flattenListeners=function(n){for(var i=[],t=0;t<n.length;t+=1)i.push(n[t].listener);return i};n.getListenersAsObject=function(n){var t,i=this.getListeners(n);return i instanceof Array&&(t={},t[n]=i),t||i};n.addListener=function(n,t){var i,r=this.getListenersAsObject(n),f="object"==typeof t;for(i in r)r.hasOwnProperty(i)&&-1===u(r[i],t)&&r[i].push(f?t:{listener:t,once:!1});return this};n.on=i("addListener");n.addOnceListener=function(n,t){return this.addListener(n,{listener:t,once:!0})};n.once=i("addOnceListener");n.defineEvent=function(n){return this.getListeners(n),this};n.defineEvents=function(n){for(var t=0;t<n.length;t+=1)this.defineEvent(n[t]);return this};n.removeListener=function(n,t){var f,i,r=this.getListenersAsObject(n);for(i in r)r.hasOwnProperty(i)&&(f=u(r[i],t),-1!==f&&r[i].splice(f,1));return this};n.off=i("removeListener");n.addListeners=function(n,t){return this.manipulateListeners(!1,n,t)};n.removeListeners=function(n,t){return this.manipulateListeners(!0,n,t)};n.manipulateListeners=function(n,t,i){var r,u,f=n?this.removeListener:this.addListener,e=n?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(r=i.length;r--;)f.call(this,t,i[r]);else for(r in t)t.hasOwnProperty(r)&&(u=t[r])&&("function"==typeof u?f.call(this,r,u):e.call(this,r,u));return this};n.removeEvent=function(n){var t,r=typeof n,i=this._getEvents();if("string"===r)delete i[n];else if(n instanceof RegExp)for(t in i)i.hasOwnProperty(t)&&n.test(t)&&delete i[t];else delete this._events;return this};n.removeAllListeners=i("removeEvent");n.emitEvent=function(n,t){var i,f,r,e,u=this.getListenersAsObject(n);for(r in u)if(u.hasOwnProperty(r))for(f=u[r].length;f--;)i=u[r][f],i.once===!0&&this.removeListener(n,i.listener),e=i.listener.apply(this,t||[]),e===this._getOnceReturnValue()&&this.removeListener(n,i.listener);return this};n.trigger=i("emitEvent");n.emit=function(n){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(n,t)};n.setOnceReturnValue=function(n){return this._onceReturnValue=n,this};n._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0};n._getEvents=function(){return this._events||(this._events={})};t.noConflict=function(){return r.EventEmitter=f,t};"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:r.EventEmitter=t}.call(this),function(n){function t(n){if(n){if("string"==typeof r[n])return n;n=n.charAt(0).toUpperCase()+n.slice(1);for(var t,u=0,f=i.length;f>u;u++)if(t=i[u]+n,"string"==typeof r[t])return t}}var i="Webkit Moz ms Ms O".split(" "),r=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return t}):"object"==typeof exports?module.exports=t:n.getStyleProperty=t}(window),function(n){function i(n){var t=parseFloat(n),i=-1===n.indexOf("%")&&!isNaN(t);return i&&t}function u(){}function f(){for(var r,i={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},n=0,u=t.length;u>n;n++)r=t[n],i[r]=0;return i}function r(r){function c(){var f,t,c,l;h||(h=!0,f=n.getComputedStyle,(o=function(){var n=f?function(n){return f(n,null)}:function(n){return n.currentStyle};return function(t){var i=n(t);return i||e("Style returned "+i+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),i}}(),u=r("boxSizing"))&&(t=document.createElement("div"),t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[u]="border-box",c=document.body||document.documentElement,c.appendChild(t),l=o(t),s=200===i(l.width),c.removeChild(t)))}function l(n){var e,r,v,h,y,p;if(c(),"string"==typeof n&&(n=document.querySelector(n)),n&&"object"==typeof n&&n.nodeType){if(e=o(n),"none"===e.display)return f();r={};r.width=n.offsetWidth;r.height=n.offsetHeight;for(var tt=r.isBorderBox=!(!u||!e[u]||"border-box"!==e[u]),l=0,it=t.length;it>l;l++)v=t[l],h=e[v],h=a(n,h),y=parseFloat(h),r[v]=isNaN(y)?0:y;var w=r.paddingLeft+r.paddingRight,b=r.paddingTop+r.paddingBottom,rt=r.marginLeft+r.marginRight,ut=r.marginTop+r.marginBottom,k=r.borderLeftWidth+r.borderRightWidth,d=r.borderTopWidth+r.borderBottomWidth,g=tt&&s,nt=i(e.width);return nt!==!1&&(r.width=nt+(g?0:w+k)),p=i(e.height),p!==!1&&(r.height=p+(g?0:b+d)),r.innerWidth=r.width-(w+k),r.innerHeight=r.height-(b+d),r.outerWidth=r.width+rt,r.outerHeight=r.height+ut,r}}function a(t,i){if(n.getComputedStyle||-1===i.indexOf("%"))return i;var r=t.style,e=r.left,u=t.runtimeStyle,f=u&&u.left;return f&&(u.left=t.currentStyle.left),r.left=i,i=r.pixelLeft,r.left=e,f&&(u.left=f),i}var o,u,s,h=!1;return l}var e="undefined"==typeof console?u:function(n){console.error(n)},t=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],r):"object"==typeof exports?module.exports=r(require("desandro-get-style-property")):n.getSize=r(n.getStyleProperty)}(window),function(n){function t(n){"function"==typeof n&&(t.isReady?n():f.push(n))}function r(n){var r="readystatechange"===n.type&&"complete"!==i.readyState;t.isReady||r||e()}function e(){var n,i,r;for(t.isReady=!0,n=0,i=f.length;i>n;n++)r=f[n],r()}function u(u){return"complete"===i.readyState?e():(u.bind(i,"DOMContentLoaded",r),u.bind(i,"readystatechange",r),u.bind(n,"load",r)),t}var i=n.document,f=[];t.isReady=!1;"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],u):"object"==typeof exports?module.exports=u(require("eventie")):n.docReady=u(n.eventie)}(window),function(n){function i(n,t){return n[u](t)}function r(n){if(!n.parentNode){var t=document.createDocumentFragment();t.appendChild(n)}}function o(n,t){r(n);for(var u=n.parentNode.querySelectorAll(t),i=0,f=u.length;f>i;i++)if(u[i]===n)return!0;return!1}function s(n,t){return r(n),i(n,t)}var t,u=function(){var u,i;if(n.matches)return"matches";if(n.matchesSelector)return"matchesSelector";for(var r=["webkit","moz","ms","o"],t=0,f=r.length;f>t;t++)if(u=r[t],i=u+"MatchesSelector",n[i])return i}(),f,e;u?(f=document.createElement("div"),e=i(f,"div"),t=e?i:s):t=o;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return t}):"object"==typeof exports?module.exports=t:window.matchesSelector=t}(Element.prototype),function(n,t){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(i,r){return t(n,i,r)}):"object"==typeof exports?module.exports=t(n,require("doc-ready"),require("desandro-matches-selector")):n.fizzyUIUtils=t(n,n.docReady,n.matchesSelector)}(window,function(n,t,i){var r={},f,u;return r.extend=function(n,t){for(var i in t)n[i]=t[i];return n},r.modulo=function(n,t){return(n%t+t)%t},f=Object.prototype.toString,r.isArray=function(n){return"[object Array]"==f.call(n)},r.makeArray=function(n){var t=[],i,u;if(r.isArray(n))t=n;else if(n&&"number"==typeof n.length)for(i=0,u=n.length;u>i;i++)t.push(n[i]);else t.push(n);return t},r.indexOf=Array.prototype.indexOf?function(n,t){return n.indexOf(t)}:function(n,t){for(var i=0,r=n.length;r>i;i++)if(n[i]===t)return i;return-1},r.removeFrom=function(n,t){var i=r.indexOf(n,t);-1!=i&&n.splice(i,1)},r.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(n){return n instanceof HTMLElement}:function(n){return n&&"object"==typeof n&&1==n.nodeType&&"string"==typeof n.nodeName},r.setText=function(){function t(t,i){n=n||(void 0!==document.documentElement.textContent?"textContent":"innerText");t[n]=i}var n;return t}(),r.getParent=function(n,t){for(;n!=document.body;)if(n=n.parentNode,i(n,t))return n},r.getQueryElement=function(n){return"string"==typeof n?document.querySelector(n):n},r.handleEvent=function(n){var t="on"+n.type;this[t]&&this[t](n)},r.filterFindElements=function(n,t){var u;n=r.makeArray(n);for(var f=[],e=0,h=n.length;h>e;e++)if(u=n[e],r.isElement(u))if(t){i(u,t)&&f.push(u);for(var s=u.querySelectorAll(t),o=0,c=s.length;c>o;o++)f.push(s[o])}else f.push(u);return f},r.debounceMethod=function(n,t,i){var u=n.prototype[t],r=t+"Timeout";n.prototype[t]=function(){var t=this[r],f,n;t&&clearTimeout(t);f=arguments;n=this;this[r]=setTimeout(function(){u.apply(n,f);delete n[r]},i||100)}},r.toDashed=function(n){return n.replace(/(.)([A-Z])/g,function(n,t,i){return t+"-"+i}).toLowerCase()},u=n.console,r.htmlInit=function(i,f){t(function(){for(var a,t,o,v,s,h=r.toDashed(f),c=document.querySelectorAll(".js-"+h),l="data-"+h+"-options",e=0,y=c.length;y>e;e++){t=c[e];o=t.getAttribute(l);try{a=o&&JSON.parse(o)}catch(p){u&&u.error("Error parsing "+l+" on "+t.nodeName.toLowerCase()+(t.id?"#"+t.id:"")+": "+p);continue}v=new i(t,a);s=n.jQuery;s&&s.data(t,f,v)}})},r}),function(n,t){"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(i,r,u,f){return t(n,i,r,u,f)}):"object"==typeof exports?module.exports=t(n,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(n.Outlayer={},n.Outlayer.Item=t(n,n.EventEmitter,n.getSize,n.getStyleProperty,n.fizzyUIUtils))}(window,function(n,t,i,r,u){function y(n){for(var t in n)return!1;return t=null,!0}function f(n,t){n&&(this.element=n,this.layout=t,this.position={x:0,y:0},this._create())}function p(n){return n.replace(/([A-Z])/g,function(n){return"-"+n.toLowerCase()})}var o=n.getComputedStyle,w=o?function(n){return o(n,null)}:function(n){return n.currentStyle},e=r("transition"),b=r("transform"),k=e&&b,d=!!r("perspective"),s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[e],h=["transform","transition","transitionDuration","transitionProperty"],c=function(){for(var n,t,u={},i=0,f=h.length;f>i;i++)n=h[i],t=r(n),t&&t!==n&&(u[n]=t);return u}(),l,a,v;return u.extend(f.prototype,t.prototype),f.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}};this.css({position:"absolute"})},f.prototype.handleEvent=function(n){var t="on"+n.type;this[t]&&this[t](n)},f.prototype.getSize=function(){this.size=i(this.element)},f.prototype.css=function(n){var r=this.element.style,t,i;for(t in n)i=c[t]||t,r[i]=n[t]},f.prototype.getPosition=function(){var f=w(this.element),e=this.layout.options,o=e.isOriginLeft,s=e.isOriginTop,r=f[o?"left":"right"],u=f[s?"top":"bottom"],n=this.layout.size,t=-1!=r.indexOf("%")?parseFloat(r)/100*n.width:parseInt(r,10),i=-1!=u.indexOf("%")?parseFloat(u)/100*n.height:parseInt(u,10);t=isNaN(t)?0:t;i=isNaN(i)?0:i;t-=o?n.paddingLeft:n.paddingRight;i-=s?n.paddingTop:n.paddingBottom;this.position.x=t;this.position.y=i},f.prototype.layoutPosition=function(){var i=this.layout.size,n=this.layout.options,t={},r=n.isOriginLeft?"paddingLeft":"paddingRight",u=n.isOriginLeft?"left":"right",f=n.isOriginLeft?"right":"left",e=this.position.x+i[r];t[u]=this.getXValue(e);t[f]="";var o=n.isOriginTop?"paddingTop":"paddingBottom",s=n.isOriginTop?"top":"bottom",h=n.isOriginTop?"bottom":"top",c=this.position.y+i[o];t[s]=this.getYValue(c);t[h]="";this.css(t);this.emitEvent("layout",[this])},f.prototype.getXValue=function(n){var t=this.layout.options;return t.percentPosition&&!t.isHorizontal?n/this.layout.size.width*100+"%":n+"px"},f.prototype.getYValue=function(n){var t=this.layout.options;return t.percentPosition&&t.isHorizontal?n/this.layout.size.height*100+"%":n+"px"},f.prototype._transitionTo=function(n,t){this.getPosition();var r=this.position.x,u=this.position.y,f=parseInt(n,10),e=parseInt(t,10),o=f===this.position.x&&e===this.position.y;if(this.setPosition(n,t),o&&!this.isTransitioning)return void this.layoutPosition();var s=n-r,h=t-u,i={};i.transform=this.getTranslate(s,h);this.transition({to:i,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},f.prototype.getTranslate=function(n,t){var i=this.layout.options;return n=i.isOriginLeft?n:-n,t=i.isOriginTop?t:-t,d?"translate3d("+n+"px, "+t+"px, 0)":"translate("+n+"px, "+t+"px)"},f.prototype.goTo=function(n,t){this.setPosition(n,t);this.layoutPosition()},f.prototype.moveTo=k?f.prototype._transitionTo:f.prototype.goTo,f.prototype.setPosition=function(n,t){this.position.x=parseInt(n,10);this.position.y=parseInt(t,10)},f.prototype._nonTransition=function(n){this.css(n.to);n.isCleaning&&this._removeStyles(n.to);for(var t in n.onTransitionEnd)n.onTransitionEnd[t].call(this)},f.prototype._transition=function(n){var i,t,r;if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(n);i=this._transn;for(t in n.onTransitionEnd)i.onEnd[t]=n.onTransitionEnd[t];for(t in n.to)i.ingProperties[t]=!0,n.isCleaning&&(i.clean[t]=!0);n.from&&(this.css(n.from),r=this.element.offsetHeight,r=null);this.enableTransition(n.to);this.css(n.to);this.isTransitioning=!0},l="opacity,"+p(c.transform||"transform"),f.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:l,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(s,this,!1))},f.prototype.transition=f.prototype[e?"_transition":"_nonTransition"],f.prototype.onwebkitTransitionEnd=function(n){this.ontransitionend(n)},f.prototype.onotransitionend=function(n){this.ontransitionend(n)},a={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"},f.prototype.ontransitionend=function(n){var t,i,r;n.target===this.element&&(t=this._transn,i=a[n.propertyName]||n.propertyName,(delete t.ingProperties[i],y(t.ingProperties)&&this.disableTransition(),i in t.clean&&(this.element.style[n.propertyName]="",delete t.clean[i]),i in t.onEnd)&&(r=t.onEnd[i],r.call(this),delete t.onEnd[i]),this.emitEvent("transitionEnd",[this]))},f.prototype.disableTransition=function(){this.removeTransitionStyles();this.element.removeEventListener(s,this,!1);this.isTransitioning=!1},f.prototype._removeStyles=function(n){var t={};for(var i in n)t[i]="";this.css(t)},v={transitionProperty:"",transitionDuration:""},f.prototype.removeTransitionStyles=function(){this.css(v)},f.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element);this.css({display:""});this.emitEvent("remove",[this])},f.prototype.remove=function(){if(!e||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var n=this;this.once("transitionEnd",function(){n.removeElem()});this.hide()},f.prototype.reveal=function(){delete this.isHidden;this.css({display:""});var n=this.layout.options,t={},i=this.getHideRevealTransitionEndProperty("visibleStyle");t[i]=this.onRevealTransitionEnd;this.transition({from:n.hiddenStyle,to:n.visibleStyle,isCleaning:!0,onTransitionEnd:t})},f.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},f.prototype.getHideRevealTransitionEndProperty=function(n){var t=this.layout.options[n],i;if(t.opacity)return"opacity";for(i in t)return i},f.prototype.hide=function(){this.isHidden=!0;this.css({display:""});var n=this.layout.options,t={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");t[i]=this.onHideTransitionEnd;this.transition({from:n.visibleStyle,to:n.hiddenStyle,isCleaning:!0,onTransitionEnd:t})},f.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},f.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},f}),function(n,t){"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,r,u,f,e){return t(n,i,r,u,f,e)}):"object"==typeof exports?module.exports=t(n,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):n.Outlayer=t(n,n.eventie,n.EventEmitter,n.getSize,n.fizzyUIUtils,n.Outlayer.Item)}(window,function(n,t,i,r,u,f){function e(n,t){var i=u.getQueryElement(n),r;if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||n)));this.element=i;o&&(this.$element=o(this.element));this.options=u.extend({},this.constructor.defaults);this.option(t);r=++l;this.element.outlayerGUID=r;s[r]=this;this._create();this.options.isInitLayout&&this.layout()}var h=n.console,o=n.jQuery,c=function(){},l=0,s={};return e.namespace="outlayer",e.Item=f,e.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},u.extend(e.prototype,i.prototype),e.prototype.option=function(n){u.extend(this.options,n)},e.prototype._create=function(){this.reloadItems();this.stamps=[];this.stamp(this.options.stamp);u.extend(this.element.style,this.options.containerStyle);this.options.isResizeBound&&this.bindResize()},e.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},e.prototype._itemize=function(n){for(var u,f,i=this._filterFindItemElements(n),e=this.constructor.Item,r=[],t=0,o=i.length;o>t;t++)u=i[t],f=new e(u,this),r.push(f);return r},e.prototype._filterFindItemElements=function(n){return u.filterFindElements(n,this.options.itemSelector)},e.prototype.getItemElements=function(){for(var t=[],n=0,i=this.items.length;i>n;n++)t.push(this.items[n].element);return t},e.prototype.layout=function(){this._resetLayout();this._manageStamps();var n=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,n);this._isLayoutInited=!0},e.prototype._init=e.prototype.layout,e.prototype._resetLayout=function(){this.getSize()},e.prototype.getSize=function(){this.size=r(this.element)},e.prototype._getMeasurement=function(n,t){var f,i=this.options[n];i?("string"==typeof i?f=this.element.querySelector(i):u.isElement(i)&&(f=i),this[n]=f?r(f)[t]:i):this[n]=0},e.prototype.layoutItems=function(n,t){n=this._getItemsForLayout(n);this._layoutItems(n,t);this._postLayout()},e.prototype._getItemsForLayout=function(n){for(var i,r=[],t=0,u=n.length;u>t;t++)i=n[t],i.isIgnored||r.push(i);return r},e.prototype._layoutItems=function(n,t){var i,r;if(this._emitCompleteOnItems("layout",n),n&&n.length){for(var f=[],u=0,e=n.length;e>u;u++)i=n[u],r=this._getItemLayoutPosition(i),r.item=i,r.isInstant=t||i.isLayoutInstant,f.push(r);this._processLayoutQueue(f)}},e.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},e.prototype._processLayoutQueue=function(n){for(var t,i=0,r=n.length;r>i;i++)t=n[i],this._positionItem(t.item,t.x,t.y,t.isInstant)},e.prototype._positionItem=function(n,t,i,r){r?n.goTo(t,i):n.moveTo(t,i)},e.prototype._postLayout=function(){this.resizeContainer()},e.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var n=this._getContainerSize();n&&(this._setContainerMeasure(n.width,!0),this._setContainerMeasure(n.height,!1))}},e.prototype._getContainerSize=c,e.prototype._setContainerMeasure=function(n,t){if(void 0!==n){var i=this.size;i.isBorderBox&&(n+=t?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth);n=Math.max(n,0);this.element.style[t?"width":"height"]=n+"px"}},e.prototype._emitCompleteOnItems=function(n,t){function r(){s.dispatchEvent(n+"Complete",null,[t])}function o(){f++;f===u&&r()}var s=this,u=t.length,e;if(!t||!u)return void r();for(var f=0,i=0,h=t.length;h>i;i++){e=t[i];e.once(n,o)}},e.prototype.dispatchEvent=function(n,t,i){var u=t?[t].concat(i):i,r;(this.emitEvent(n,u),o)&&((this.$element=this.$element||o(this.element),t)?(r=o.Event(t),r.type=n,this.$element.trigger(r,i)):this.$element.trigger(n,i))},e.prototype.ignore=function(n){var t=this.getItem(n);t&&(t.isIgnored=!0)},e.prototype.unignore=function(n){var t=this.getItem(n);t&&delete t.isIgnored},e.prototype.stamp=function(n){var t,i,r;if(n=this._find(n))for(this.stamps=this.stamps.concat(n),t=0,i=n.length;i>t;t++)r=n[t],this.ignore(r)},e.prototype.unstamp=function(n){var t,r,i;if(n=this._find(n))for(t=0,r=n.length;r>t;t++)i=n[t],u.removeFrom(this.stamps,i),this.unignore(i)},e.prototype._find=function(n){if(n)return("string"==typeof n&&(n=this.element.querySelectorAll(n)),n=u.makeArray(n))},e.prototype._manageStamps=function(){var n,t,i;if(this.stamps&&this.stamps.length)for(this._getBoundingRect(),n=0,t=this.stamps.length;t>n;n++)i=this.stamps[n],this._manageStamp(i)},e.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),n=this.size;this._boundingRect={left:t.left+n.paddingLeft+n.borderLeftWidth,top:t.top+n.paddingTop+n.borderTopWidth,right:t.right-(n.paddingRight+n.borderRightWidth),bottom:t.bottom-(n.paddingBottom+n.borderBottomWidth)}},e.prototype._manageStamp=c,e.prototype._getElementOffset=function(n){var t=n.getBoundingClientRect(),i=this._boundingRect,u=r(n);return{left:t.left-i.left-u.marginLeft,top:t.top-i.top-u.marginTop,right:i.right-t.right-u.marginRight,bottom:i.bottom-t.bottom-u.marginBottom}},e.prototype.handleEvent=function(n){var t="on"+n.type;this[t]&&this[t](n)},e.prototype.bindResize=function(){this.isResizeBound||(t.bind(n,"resize",this),this.isResizeBound=!0)},e.prototype.unbindResize=function(){this.isResizeBound&&t.unbind(n,"resize",this);this.isResizeBound=!1},e.prototype.onresize=function(){function t(){n.resize();delete n.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var n=this;this.resizeTimeout=setTimeout(t,100)},e.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},e.prototype.needsResizeLayout=function(){var n=r(this.element),t=this.size&&n;return t&&n.innerWidth!==this.size.innerWidth},e.prototype.addItems=function(n){var t=this._itemize(n);return t.length&&(this.items=this.items.concat(t)),t},e.prototype.appended=function(n){var t=this.addItems(n);t.length&&(this.layoutItems(t,!0),this.reveal(t))},e.prototype.prepended=function(n){var t=this._itemize(n),i;t.length&&(i=this.items.slice(0),this.items=t.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(t,!0),this.reveal(t),this.layoutItems(i))},e.prototype.reveal=function(n){var i,t,r;for(this._emitCompleteOnItems("reveal",n),i=n&&n.length,t=0;i&&i>t;t++)r=n[t],r.reveal()},e.prototype.hide=function(n){var i,t,r;for(this._emitCompleteOnItems("hide",n),i=n&&n.length,t=0;i&&i>t;t++)r=n[t],r.hide()},e.prototype.revealItemElements=function(n){var t=this.getItems(n);this.reveal(t)},e.prototype.hideItemElements=function(n){var t=this.getItems(n);this.hide(t)},e.prototype.getItem=function(n){for(var i,t=0,r=this.items.length;r>t;t++)if(i=this.items[t],i.element===n)return i},e.prototype.getItems=function(n){var f,i;n=u.makeArray(n);for(var r=[],t=0,e=n.length;e>t;t++)f=n[t],i=this.getItem(f),i&&r.push(i);return r},e.prototype.remove=function(n){var t=this.getItems(n),i,f,r;if(this._emitCompleteOnItems("remove",t),t&&t.length)for(i=0,f=t.length;f>i;i++)r=t[i],r.remove(),u.removeFrom(this.items,r)},e.prototype.destroy=function(){var t=this.element.style,n,i,r,u;for(t.height="",t.position="",t.width="",n=0,i=this.items.length;i>n;n++)r=this.items[n],r.destroy();this.unbindResize();u=this.element.outlayerGUID;delete s[u];delete this.element.outlayerGUID;o&&o.removeData(this.element,this.constructor.namespace)},e.data=function(n){n=u.getQueryElement(n);var t=n&&n.outlayerGUID;return t&&s[t]},e.create=function(n,t){function i(){e.apply(this,arguments)}return Object.create?i.prototype=Object.create(e.prototype):u.extend(i.prototype,e.prototype),i.prototype.constructor=i,i.defaults=u.extend({},e.defaults),u.extend(i.defaults,t),i.prototype.settings={},i.namespace=n,i.data=e.data,i.Item=function(){f.apply(this,arguments)},i.Item.prototype=new f,u.htmlInit(i,n),o&&o.bridget&&o.bridget(n,i),i},e.Item=f,e}),function(n,t){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],t):"object"==typeof exports?module.exports=t(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):n.Masonry=t(n.Outlayer,n.getSize,n.fizzyUIUtils)}(window,function(n,t,i){var r=n.create("masonry");return r.prototype._resetLayout=function(){this.getSize();this._getMeasurement("columnWidth","outerWidth");this._getMeasurement("gutter","outerWidth");this.measureColumns();var n=this.cols;for(this.colYs=[];n--;)this.colYs.push(0);this.maxY=0},r.prototype.measureColumns=function(){var n,i;(this.getContainerWidth(),this.columnWidth)||(n=this.items[0],i=n&&n.element,this.columnWidth=i&&t(i).outerWidth||this.containerWidth);var r=this.columnWidth+=this.gutter,f=this.containerWidth+this.gutter,u=f/r,e=r-f%r,o=e&&1>e?"round":"floor";u=Math[o](u);this.cols=Math.max(u,1)},r.prototype.getContainerWidth=function(){var i=this.options.isFitWidth?this.element.parentNode:this.element,n=t(i);this.containerWidth=n&&n.innerWidth},r.prototype._getItemLayoutPosition=function(n){n.getSize();var e=n.size.outerWidth%this.columnWidth,s=e&&1>e?"round":"ceil",t=Math[s](n.size.outerWidth/this.columnWidth);t=Math.min(t,this.cols);for(var r=this._getColGroup(t),u=Math.min.apply(Math,r),o=i.indexOf(r,u),h={x:this.columnWidth*o,y:u},c=u+n.size.outerHeight,l=this.cols+1-r.length,f=0;l>f;f++)this.colYs[o+f]=c;return h},r.prototype._getColGroup=function(n){var r;if(2>n)return this.colYs;for(var i=[],u=this.cols+1-n,t=0;u>t;t++)r=this.colYs.slice(t,t+n),i[t]=Math.max.apply(Math,r);return i},r.prototype._manageStamp=function(n){var e=t(n),u=this._getElementOffset(n),o=this.options.isOriginLeft?u.left:u.right,s=o+e.outerWidth,f=Math.floor(o/this.columnWidth),i,h,r;for(f=Math.max(0,f),i=Math.floor(s/this.columnWidth),i-=s%this.columnWidth?0:1,i=Math.min(this.cols-1,i),h=(this.options.isOriginTop?u.top:u.bottom)+e.outerHeight,r=f;i>=r;r++)this.colYs[r]=Math.max(h,this.colYs[r])},r.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var n={height:this.maxY};return this.options.isFitWidth&&(n.width=this._getContainerFitWidth()),n},r.prototype._getContainerFitWidth=function(){for(var n=0,t=this.cols;--t&&0===this.colYs[t];)n++;return(this.cols-n)*this.columnWidth-this.gutter},r.prototype.needsResizeLayout=function(){var n=this.containerWidth;return this.getContainerWidth(),n!==this.containerWidth},r})