!function(){var moduleFactory=function($){var module=this,jQuery=$,exports=function(){!function(){function noop(){}function defineBridget($){function addOptionMethod(PluginClass){PluginClass.prototype.option||(PluginClass.prototype.option=function(opts){$.isPlainObject(opts)&&(this.options=$.extend(!0,this.options,opts))})}function bridge(namespace,PluginClass){$.fn[namespace]=function(options){if("string"==typeof options){for(var args=slice.call(arguments,1),i=0,len=this.length;len>i;i++){var elem=this[i],instance=$.data(elem,namespace); if(instance)if($.isFunction(instance[options])&&"_"!==options.charAt(0)){var returnValue=instance[options].apply(instance,args);if(void 0!==returnValue)return returnValue}else logError("no such method '"+options+"' for "+namespace+" instance");else logError("cannot call methods on "+namespace+" prior to initialization; attempted to call '"+options+"'")}return this}return this.each(function(){var instance=$.data(this,namespace);instance?(instance.option(options),instance._init()):(instance=new PluginClass(this,options), $.data(this,namespace,instance))})}}if($){var logError="undefined"==typeof console?noop:function(message){console.error(message)};return $.bridget=function(namespace,PluginClass){addOptionMethod(PluginClass),bridge(namespace,PluginClass)},$.bridget}}var define=null,slice=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],defineBridget):defineBridget($)}(window),function(window){function getIEEvent(obj){var event=window.event;return event.target=event.target||event.srcElement||obj, event}var docElem=document.documentElement,bind=function(){};docElem.addEventListener?bind=function(obj,type,fn){obj.addEventListener(type,fn,!1)}:docElem.attachEvent&&(bind=function(obj,type,fn){obj[type+fn]=fn.handleEvent?function(){var event=getIEEvent(obj);fn.handleEvent.call(fn,event)}:function(){var event=getIEEvent(obj);fn.call(obj,event)},obj.attachEvent("on"+type,obj[type+fn])});var unbind=function(){};docElem.removeEventListener?unbind=function(obj,type,fn){obj.removeEventListener(type,fn,!1)}:docElem.detachEvent&&(unbind=function(obj,type,fn){ obj.detachEvent("on"+type,obj[type+fn]);try{delete obj[type+fn]}catch(err){obj[type+fn]=void 0}});var eventie={bind:bind,unbind:unbind};"function"==typeof define&&define.amd?define("eventie/eventie",eventie):"object"==typeof exports?module.exports=eventie:window.eventie=eventie}(this),function(window){function docReady(fn){"function"==typeof fn&&(docReady.isReady?fn():queue.push(fn))}function init(event){var isIE8NotReady="readystatechange"===event.type&&"complete"!==document.readyState;if(!docReady.isReady&&!isIE8NotReady){ docReady.isReady=!0;for(var i=0,len=queue.length;len>i;i++){var fn=queue[i];fn()}}}function defineDocReady(eventie){return eventie.bind(document,"DOMContentLoaded",init),eventie.bind(document,"readystatechange",init),eventie.bind(window,"load",init),docReady}var document=window.document,queue=[];docReady.isReady=!1,"function"==typeof define&&define.amd?(docReady.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],defineDocReady)):window.docReady=defineDocReady(window.eventie); }(this),function(){function EventEmitter(){}function indexOfListener(listeners,listener){for(var i=listeners.length;i--;)if(listeners[i].listener===listener)return i;return-1}function alias(name){return function(){return this[name].apply(this,arguments)}}var proto=EventEmitter.prototype,exports=this,originalGlobalValue=exports.EventEmitter;proto.getListeners=function(evt){var response,key,events=this._getEvents();if(evt instanceof RegExp){response={};for(key in events)events.hasOwnProperty(key)&&evt.test(key)&&(response[key]=events[key]); }else response=events[evt]||(events[evt]=[]);return response},proto.flattenListeners=function(listeners){var i,flatListeners=[];for(i=0;ii;i++)if(prefixed=prefixes[i]+propName,"string"==typeof docElemStyle[prefixed])return prefixed}}var prefixes="Webkit Moz ms Ms O".split(" "),docElemStyle=document.documentElement.style; "function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return getStyleProperty}):"object"==typeof exports?module.exports=getStyleProperty:window.getStyleProperty=getStyleProperty}(window),function(window){function getStyleSize(value){var num=parseFloat(value),isValid=-1===value.indexOf("%")&&!isNaN(num);return isValid&&num}function getZeroSize(){for(var size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},i=0,len=measurements.length;len>i;i++){ var measurement=measurements[i];size[measurement]=0}return size}function definegetWindowSize(getStyleProperty){function getWindowSize(elem){if("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=!(!boxSizingProp||!style[boxSizingProp]||"border-box"!==style[boxSizingProp]),i=0,len=measurements.length;len>i;i++){ var measurement=measurements[i],value=style[measurement];value=mungeNonPixel(elem,value);var 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}}function mungeNonPixel(elem,value){if(getComputedStyle||-1===value.indexOf("%"))return value; var style=elem.style,left=style.left,rs=elem.runtimeStyle,rsLeft=rs&&rs.left;return rsLeft&&(rs.left=elem.currentStyle.left),style.left=value,value=style.pixelLeft,style.left=left,rsLeft&&(rs.left=rsLeft),value}var isBoxSizeOuter,boxSizingProp=getStyleProperty("boxSizing");return function(){if(boxSizingProp){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[boxSizingProp]="border-box"; var body=document.body||document.documentElement;body.appendChild(div);var style=getStyle(div);isBoxSizeOuter=200===getStyleSize(style.width),body.removeChild(div)}}(),getWindowSize}var getComputedStyle=window.getComputedStyle,getStyle=getComputedStyle?function(elem){return getComputedStyle(elem,null)}:function(elem){return elem.currentStyle},measurements=["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"],definegetWindowSize):"object"==typeof exports?module.exports=definegetWindowSize(require("get-style-property")):window.getWindowSize=definegetWindowSize(window.getStyleProperty)}(window),function(global,ElemProto){function match(elem,selector){return elem[matchesMethod](selector)}function checkParent(elem){if(!elem.parentNode){var fragment=document.createDocumentFragment();fragment.appendChild(elem)}}function query(elem,selector){ checkParent(elem);for(var elems=elem.parentNode.querySelectorAll(selector),i=0,len=elems.length;len>i;i++)if(elems[i]===elem)return!0;return!1}function matchChild(elem,selector){return checkParent(elem),match(elem,selector)}var matchesSelector,matchesMethod=function(){if(ElemProto.matchesSelector)return"matchesSelector";for(var prefixes=["webkit","moz","ms","o"],i=0,len=prefixes.length;len>i;i++){var prefix=prefixes[i],method=prefix+"MatchesSelector";if(ElemProto[method])return method}}();if(matchesMethod){var div=document.createElement("div"),supportsOrphans=match(div,"div"); matchesSelector=supportsOrphans?match:matchChild}else matchesSelector=query;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return matchesSelector}):window.matchesSelector=matchesSelector}(this,Element.prototype),function(window){function extend(a,b){for(var prop in b)a[prop]=b[prop];return a}function isEmptyObj(obj){for(var prop in obj)return!1;return prop=null,!0}function toDash(str){return str.replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}function outlayerItemDefinition(EventEmitter,getWindowSize,getStyleProperty){ function Item(element,layout){element&&(this.element=element,this.layout=layout,this.position={x:0,y:0},this._create())}var transitionProperty=getStyleProperty("transition"),transformProperty=getStyleProperty("transform"),supportsCSS3=transitionProperty&&transformProperty,is3d=!!getStyleProperty("perspective"),transitionEndEvent={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[transitionProperty],prefixableProperties=["transform","transition","transitionDuration","transitionProperty"],vendorProperties=function(){ for(var cache={},i=0,len=prefixableProperties.length;len>i;i++){var prop=prefixableProperties[i],supportedProp=getStyleProperty(prop);supportedProp&&supportedProp!==prop&&(cache[prop]=supportedProp)}return cache}();extend(Item.prototype,EventEmitter.prototype),Item.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},Item.prototype.handleEvent=function(event){var method="on"+event.type;this[method]&&this[method](event)},Item.prototype.getWindowSize=function(){ this.size=getWindowSize(this.element)},Item.prototype.css=function(style){var elemStyle=this.element.style;for(var prop in style){var supportedProp=vendorProperties[prop]||prop;elemStyle[supportedProp]=style[prop]}},Item.prototype.getPosition=function(){var style=getStyle(this.element),layoutOptions=this.layout.options,isOriginLeft=layoutOptions.isOriginLeft,isOriginTop=layoutOptions.isOriginTop,x=parseInt(style[isOriginLeft?"left":"right"],10),y=parseInt(style[isOriginTop?"top":"bottom"],10);x=isNaN(x)?0:x, y=isNaN(y)?0:y;var layoutSize=this.layout.size;x-=isOriginLeft?layoutSize.paddingLeft:layoutSize.paddingRight,y-=isOriginTop?layoutSize.paddingTop:layoutSize.paddingBottom,this.position.x=x,this.position.y=y},Item.prototype.layoutPosition=function(){var layoutSize=this.layout.size,layoutOptions=this.layout.options,style={};layoutOptions.isOriginLeft?(style.left=this.position.x+layoutSize.paddingLeft+"px",style.right=""):(style.right=this.position.x+layoutSize.paddingRight+"px",style.left=""),layoutOptions.isOriginTop?(style.top=this.position.y+layoutSize.paddingTop+"px", style.bottom=""):(style.bottom=this.position.y+layoutSize.paddingBottom+"px",style.top=""),this.css(style),this.emitEvent("layout",[this])};var translate=is3d?function(x,y){return"translate3d("+x+"px, "+y+"px, 0)"}:function(x,y){return"translate("+x+"px, "+y+"px)"};Item.prototype._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={},layoutOptions=this.layout.options;transX=layoutOptions.isOriginLeft?transX:-transX,transY=layoutOptions.isOriginTop?transY:-transY,transitionStyle.transform=translate(transX,transY),this.transition({to:transitionStyle,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},Item.prototype.goTo=function(x,y){this.setPosition(x,y),this.layoutPosition()},Item.prototype.moveTo=supportsCSS3?Item.prototype._transitionTo:Item.prototype.goTo, Item.prototype.setPosition=function(x,y){this.position.x=parseInt(x,10),this.position.y=parseInt(y,10)},Item.prototype._nonTransition=function(args){this.css(args.to),args.isCleaning&&this._removeStyles(args.to);for(var prop in args.onTransitionEnd)args.onTransitionEnd[prop].call(this)},Item.prototype._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 itemTransitionProperties=transformProperty&&toDash(transformProperty)+",opacity";Item.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:itemTransitionProperties,transitionDuration:this.layout.options.transitionDuration}), this.element.addEventListener(transitionEndEvent,this,!1))},Item.prototype.transition=Item.prototype[transitionProperty?"_transition":"_nonTransition"],Item.prototype.onwebkitTransitionEnd=function(event){this.ontransitionend(event)},Item.prototype.onotransitionend=function(event){this.ontransitionend(event)};var dashedVendorProperties={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};Item.prototype.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])}},Item.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(transitionEndEvent,this,!1), this.isTransitioning=!1},Item.prototype._removeStyles=function(style){var cleanStyle={};for(var prop in style)cleanStyle[prop]="";this.css(cleanStyle)};var cleanTransitionStyle={transitionProperty:"",transitionDuration:""};return Item.prototype.removeTransitionStyles=function(){this.css(cleanTransitionStyle)},Item.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},Item.prototype.remove=function(){if(!transitionProperty||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem(); var _this=this;this.on("transitionEnd",function(){return _this.removeElem(),!0}),this.hide()},Item.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var options=this.layout.options;this.transition({from:options.hiddenStyle,to:options.visibleStyle,isCleaning:!0})},Item.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var options=this.layout.options;this.transition({from:options.visibleStyle,to:options.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({ display:"none"})}}})},Item.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},Item}var getComputedStyle=window.getComputedStyle,getStyle=getComputedStyle?function(elem){return getComputedStyle(elem,null)}:function(elem){return elem.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],outlayerItemDefinition):(window.Outlayer={},window.Outlayer.Item=outlayerItemDefinition(window.EventEmitter,window.getWindowSize,window.getStyleProperty)); }(window),function(window){function extend(a,b){for(var prop in b)a[prop]=b[prop];return a}function isArray(obj){return"[object Array]"===objToString.call(obj)}function makeArray(obj){var ary=[];if(isArray(obj))ary=obj;else if(obj&&"number"==typeof obj.length)for(var i=0,len=obj.length;len>i;i++)ary.push(obj[i]);else ary.push(obj);return ary}function removeFrom(obj,ary){var index=indexOf(ary,obj);-1!==index&&ary.splice(index,1)}function toDashed(str){return str.replace(/(.)([A-Z])/g,function(match,$1,$2){return $1+"-"+$2; }).toLowerCase()}function outlayerDefinition(eventie,docReady,EventEmitter,getWindowSize,matchesSelector,Item){function Outlayer(element,options){if("string"==typeof element&&(element=document.querySelector(element)),!element||!isElement(element))return void(console&&console.error("Bad "+this.constructor.namespace+" element: "+element));this.element=element,this.options=extend({},this.constructor.defaults),this.option(options);var id=++GUID;this.element.outlayerGUID=id,instances[id]=this,this._create(),this.options.isInitLayout&&this.layout(); }var GUID=0,instances={};return Outlayer.namespace="outlayer",Outlayer.Item=Item,Outlayer.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)"}},extend(Outlayer.prototype,EventEmitter.prototype),Outlayer.prototype.option=function(opts){extend(this.options,opts)},Outlayer.prototype._create=function(){this.reloadItems(), this.stamps=[],this.stamp(this.options.stamp),extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},Outlayer.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},Outlayer.prototype._itemize=function(elems){for(var itemElems=this._filterFindItemElements(elems),Item=this.constructor.Item,items=[],i=0,len=itemElems.length;len>i;i++){var elem=itemElems[i],item=new Item(elem,this);items.push(item)}return items},Outlayer.prototype._filterFindItemElements=function(elems){ elems=makeArray(elems);for(var itemSelector=this.options.itemSelector,itemElems=[],i=0,len=elems.length;len>i;i++){var elem=elems[i];if(isElement(elem))if(itemSelector){matchesSelector(elem,itemSelector)&&itemElems.push(elem);for(var childElems=elem.querySelectorAll(itemSelector),j=0,jLen=childElems.length;jLen>j;j++)itemElems.push(childElems[j])}else itemElems.push(elem)}return itemElems},Outlayer.prototype.getItemElements=function(){for(var elems=[],i=0,len=this.items.length;len>i;i++)elems.push(this.items[i].element); return elems},Outlayer.prototype.layout=function(){this._resetLayout(),this._manageStamps();var isInstant=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,isInstant),this._isLayoutInited=!0},Outlayer.prototype._init=Outlayer.prototype.layout,Outlayer.prototype._resetLayout=function(){this.getWindowSize()},Outlayer.prototype.getWindowSize=function(){this.size=getWindowSize(this.element)},Outlayer.prototype._getMeasurement=function(measurement,size){ var elem,option=this.options[measurement];option?("string"==typeof option?elem=this.element.querySelector(option):isElement(option)&&(elem=option),this[measurement]=elem?getWindowSize(elem)[size]:option):this[measurement]=0},Outlayer.prototype.layoutItems=function(items,isInstant){items=this._getItemsForLayout(items),this._layoutItems(items,isInstant),this._postLayout()},Outlayer.prototype._getItemsForLayout=function(items){for(var layoutItems=[],i=0,len=items.length;len>i;i++){var item=items[i];item.isIgnored||layoutItems.push(item); }return layoutItems},Outlayer.prototype._layoutItems=function(items,isInstant){function onItemsLayout(){_this.emitEvent("layoutComplete",[_this,items])}var _this=this;if(!items||!items.length)return void onItemsLayout();this._itemsOn(items,"layout",onItemsLayout);for(var queue=[],i=0,len=items.length;len>i;i++){var item=items[i],position=this._getItemLayoutPosition(item);position.item=item,position.isInstant=isInstant||item.isLayoutInstant,queue.push(position)}this._processLayoutQueue(queue)},Outlayer.prototype._getItemLayoutPosition=function(){ return{x:0,y:0}},Outlayer.prototype._processLayoutQueue=function(queue){for(var i=0,len=queue.length;len>i;i++){var obj=queue[i];this._positionItem(obj.item,obj.x,obj.y,obj.isInstant)}},Outlayer.prototype._positionItem=function(item,x,y,isInstant){isInstant?item.goTo(x,y):item.moveTo(x,y)},Outlayer.prototype._postLayout=function(){this.resizeContainer()},Outlayer.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var size=this._getContainerSize();size&&(this._setContainerMeasure(size.width,!0), this._setContainerMeasure(size.height,!1))}},Outlayer.prototype._getContainerSize=noop,Outlayer.prototype._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"}}, Outlayer.prototype._itemsOn=function(items,eventName,callback){function tick(){return doneCount++,doneCount===count&&callback.call(_this),!0}for(var doneCount=0,count=items.length,_this=this,i=0,len=items.length;len>i;i++){var item=items[i];item.on(eventName,tick)}},Outlayer.prototype.ignore=function(elem){var item=this.getItem(elem);item&&(item.isIgnored=!0)},Outlayer.prototype.unignore=function(elem){var item=this.getItem(elem);item&&delete item.isIgnored},Outlayer.prototype.stamp=function(elems){if(elems=this._find(elems)){ this.stamps=this.stamps.concat(elems);for(var i=0,len=elems.length;len>i;i++){var elem=elems[i];this.ignore(elem)}}},Outlayer.prototype.unstamp=function(elems){if(elems=this._find(elems))for(var i=0,len=elems.length;len>i;i++){var elem=elems[i];removeFrom(elem,this.stamps),this.unignore(elem)}},Outlayer.prototype._find=function(elems){return elems?("string"==typeof elems&&(elems=this.element.querySelectorAll(elems)),elems=makeArray(elems)):void 0},Outlayer.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){ this._getBoundingRect();for(var i=0,len=this.stamps.length;len>i;i++){var stamp=this.stamps[i];this._manageStamp(stamp)}}},Outlayer.prototype._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) }},Outlayer.prototype._manageStamp=noop,Outlayer.prototype._getElementOffset=function(elem){var boundingRect=elem.getBoundingClientRect(),thisRect=this._boundingRect,size=getWindowSize(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},Outlayer.prototype.handleEvent=function(event){var method="on"+event.type;this[method]&&this[method](event); },Outlayer.prototype.bindResize=function(){this.isResizeBound||(eventie.bind(window,"resize",this),this.isResizeBound=!0)},Outlayer.prototype.unbindResize=function(){this.isResizeBound&&eventie.unbind(window,"resize",this),this.isResizeBound=!1},Outlayer.prototype.onresize=function(){function delayed(){_this.resize(),delete _this.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var _this=this;this.resizeTimeout=setTimeout(delayed,100)},Outlayer.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout(); },Outlayer.prototype.needsResizeLayout=function(){var size=getWindowSize(this.element),hasSizes=this.size&&size;return hasSizes&&size.innerWidth!==this.size.innerWidth},Outlayer.prototype.addItems=function(elems){var items=this._itemize(elems);return items.length&&(this.items=this.items.concat(items)),items},Outlayer.prototype.appended=function(elems){var items=this.addItems(elems);items.length&&(this.layoutItems(items,!0),this.reveal(items))},Outlayer.prototype.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)}},Outlayer.prototype.reveal=function(items){var len=items&&items.length;if(len)for(var i=0;len>i;i++){var item=items[i];item.reveal()}},Outlayer.prototype.hide=function(items){var len=items&&items.length;if(len)for(var i=0;len>i;i++){var item=items[i];item.hide()}},Outlayer.prototype.getItem=function(elem){ for(var i=0,len=this.items.length;len>i;i++){var item=this.items[i];if(item.element===elem)return item}},Outlayer.prototype.getItems=function(elems){if(elems&&elems.length){for(var items=[],i=0,len=elems.length;len>i;i++){var elem=elems[i],item=this.getItem(elem);item&&items.push(item)}return items}},Outlayer.prototype.remove=function(elems){elems=makeArray(elems);var removeItems=this.getItems(elems);if(removeItems&&removeItems.length){this._itemsOn(removeItems,"remove",function(){this.emitEvent("removeComplete",[this,removeItems]); });for(var i=0,len=removeItems.length;len>i;i++){var item=removeItems[i];item.remove(),removeFrom(item,this.items)}}},Outlayer.prototype.destroy=function(){var style=this.element.style;style.height="",style.position="",style.width="";for(var i=0,len=this.items.length;len>i;i++){var item=this.items[i];item.destroy()}this.unbindResize(),delete this.element.outlayerGUID,jQuery&&jQuery.removeData(this.element,this.constructor.namespace)},Outlayer.data=function(elem){var id=elem&&elem.outlayerGUID;return id&&instances[id]; },Outlayer.create=function(namespace,options){function Layout(){Outlayer.apply(this,arguments)}return Object.create?Layout.prototype=Object.create(Outlayer.prototype):extend(Layout.prototype,Outlayer.prototype),Layout.prototype.constructor=Layout,Layout.defaults=extend({},Outlayer.defaults),extend(Layout.defaults,options),Layout.prototype.settings={},Layout.namespace=namespace,Layout.data=Outlayer.data,Layout.Item=function(){Item.apply(this,arguments)},Layout.Item.prototype=new Item,docReady(function(){for(var dashedNamespace=toDashed(namespace),elems=document.querySelectorAll(".js-"+dashedNamespace),dataAttr="data-"+dashedNamespace+"-options",i=0,len=elems.length;len>i;i++){ var options,elem=elems[i],attr=elem.getAttribute(dataAttr);try{options=attr&&JSON.parse(attr)}catch(error){console&&console.error("Error parsing "+dataAttr+" on "+elem.nodeName.toLowerCase()+(elem.id?"#"+elem.id:"")+": "+error);continue}var instance=new Layout(elem,options);jQuery&&jQuery.data(elem,namespace,instance)}}),jQuery&&jQuery.bridget&&jQuery.bridget(namespace,Layout),Layout},Outlayer.Item=Item,Outlayer}var document=window.document,console=window.console,noop=function(){},objToString=Object.prototype.toString,isElement="object"==typeof HTMLElement?function(obj){ return obj instanceof HTMLElement}:function(obj){return obj&&"object"==typeof obj&&1===obj.nodeType&&"string"==typeof obj.nodeName},indexOf=Array.prototype.indexOf?function(ary,obj){return ary.indexOf(obj)}:function(ary,obj){for(var i=0,len=ary.length;len>i;i++)if(ary[i]===obj)return i;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],outlayerDefinition):window.Outlayer=outlayerDefinition(window.eventie,window.docReady,window.EventEmitter,window.getWindowSize,window.matchesSelector,window.Outlayer.Item); }(window),function(window){function masonryDefinition(Outlayer,getWindowSize){var Masonry=Outlayer.create("masonry");return Masonry.prototype._resetLayout=function(){this.getWindowSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var i=this.cols;for(this.colYs=[];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&&getWindowSize(firstItemElem).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},Masonry.prototype.getContainerWidth=function(){var container=this.options.isFitWidth?this.element.parentNode:this.element,size=getWindowSize(container);this.containerWidth=size&&size.innerWidth},Masonry.prototype._getItemLayoutPosition=function(item){item.getWindowSize();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=indexOf(colGroup,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=getWindowSize(stamp),offset=this._getElementOffset(stamp),firstX=this.options.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 stampMaxY=(this.options.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.options.isFitWidth&&(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}var indexOf=Array.prototype.indexOf?function(items,value){return items.indexOf(value)}:function(items,value){for(var i=0,len=items.length;len>i;i++){var item=items[i];if(item===value)return i}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],masonryDefinition):window.Masonry3=masonryDefinition(window.Outlayer,window.getWindowSize); }(window)};exports(),module.resolveWith(exports)};FD50.module("masonry",moduleFactory)}(); !function(){var moduleFactory=function($){var module=this,jQuery=$,exports=function(){!function($,undefined){"use strict";var BLANK="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";$.fn.imagesLoaded=function(callback){function doneLoading(){var $proper=$(proper),$broken=$(broken);deferred&&(broken.length?deferred.reject($images,$proper,$broken):deferred.resolve($images)),$.isFunction(callback)&&callback.call($this,$images,$proper,$broken)}function imgLoaded(img,isBroken){img.src!==BLANK&&-1===$.inArray(img,loaded)&&(loaded.push(img),isBroken?broken.push(img):proper.push(img),$.data(img,"imagesLoaded",{isBroken:isBroken,src:img.src}),hasNotify&&deferred.notifyWith($(img),[isBroken,$images,$(proper),$(broken)]),$images.length===loaded.length&&(setTimeout(doneLoading),$images.unbind(".imagesLoaded"))) }var $this=this,deferred=$.isFunction($.Deferred)?$.Deferred():0,hasNotify=$.isFunction(deferred.notify),$images=$this.find("img").add($this.filter("img")),loaded=[],proper=[],broken=[];return $images.length?$images.bind("load.imagesLoaded error.imagesLoaded",function(event){imgLoaded(event.target,"error"===event.type)}).each(function(i,el){var src=el.src,cached=$.data(el,"imagesLoaded");return cached&&cached.src===src?void imgLoaded(el,cached.isBroken):el.complete&&el.naturalWidth!==undefined?void imgLoaded(el,0===el.naturalWidth||0===el.naturalHeight):void((el.readyState||el.complete)&&(el.src=BLANK,el.src=src)) }):doneLoading(),deferred?deferred.promise($this):$this}}(jQuery)};exports(),module.resolveWith(exports)};FD50.module("imagesloaded",moduleFactory)}();