!function(t){"function"==typeof define&&define.amd?define(["jquery","modernizr"],t):t(window.jQuery,window.Modernizr)}(function(t,i,e){"use strict";if("object"!=typeof i)throw new Error("Shuffle.js requires Modernizr.\nhttp://vestride.github.io/Shuffle/#dependencies");var s,n=i.prefixed("transition"),r=i.prefixed("transitionDelay"),o=i.prefixed("transitionDuration"),a={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[n],l=i.prefixed("transform"),h=(s=l)?s.replace(/([A-Z])/g,function(t,i){return"-"+i.toLowerCase()}).replace(/^ms-/,"-ms-"):"",u=i.csstransforms&&i.csstransitions,f=i.csstransforms3d;var d=0,c=function(i,e){e=e||{},t.extend(this,c.options,e,c.settings),this.$el=t(i),this.$window=t(window),this.unique="shuffle_"+d++,this._fire(c.EventType.LOADING),this._init(),setTimeout(t.proxy(function(){this.initialized=!0,this._fire(c.EventType.DONE)},this),16)};return c.EventType={LOADING:"loading",DONE:"done",SHRINK:"shrink",SHRUNK:"shrunk",FILTER:"filter",FILTERED:"filtered",SORTED:"sorted",LAYOUT:"layout",REMOVED:"removed"},c.prototype={_init:function(){var i,e,s=this,r=t.proxy(s._onResize,s),o=s.throttle?s.throttle(r,s.throttleTime):r,a=s.initialSort?s.initialSort:null;s._layoutList=[],s._shrinkList=[],s._setVars(),s._resetCols(),s._addClasses(),s._initItems(),s.$window.on("resize.shuffle."+s.unique,o),i=s.$el.css(["paddingLeft","paddingRight","position"]),e=s._getOuterWidth(s.$el[0]),"static"===i.position&&(s.$el[0].style.position="relative"),s.offset={left:parseInt(i.paddingLeft,10)||0,top:parseInt(i.paddingTop,10)||0},s._setColumns(parseInt(e,10)),s.shuffle(s.group,a),s.supported&&setTimeout(function(){s._setTransitions(),s.$el[0].style[n]="height "+s.speed+"ms "+s.easing},0)},_addClasses:function(){this.$el.addClass("shuffle"),this.$items.addClass("shuffle-item filtered")},_setVars:function(){var i=this.columnWidth;this.$items=this._getItems(),0===i&&null!==this.sizer&&(i=this.sizer),"string"==typeof i?this.$sizer=this.$el.find(i):i&&i.nodeType&&1===i.nodeType?this.$sizer=t(i):i&&i.jquery&&(this.$sizer=i),this.$sizer&&this.$sizer.length&&(this.useSizer=!0,this.sizer=this.$sizer[0])},_filter:function(i,s){var n=this,r=s!==e?s:n.$items,o=t();return i=i||n.lastFilter,n._fire(c.EventType.FILTER),t.isFunction(i)?r.each(function(){var e=t(this);i.call(e[0],e,n)&&(o=o.add(e))}):(n.group=i,"all"===i?o=r:r.each(function(){var e=t(this),s=e.data("groups"),r=n.delimeter&&!t.isArray(s)?s.split(n.delimeter):s;t.inArray(i,r)>-1&&(o=o.add(e))})),n._toggleFilterClasses(r,o),r=null,s=null,o},_toggleFilterClasses:function(i,e){i.filter(e).each(function(){var i=t(this);i.hasClass("concealed")&&i.removeClass("concealed"),i.hasClass("filtered")||i.addClass("filtered")}),i.not(e).each(function(){var i=t(this);i.hasClass("concealed")||i.addClass("concealed"),i.hasClass("filtered")&&i.removeClass("filtered")})},_initItems:function(t){(t=t||this.$items).css(this.itemCss).data("position",{x:0,y:0})},_updateItemCount:function(){this.visibleItems=this.$items.filter(".filtered").length},_setTransition:function(t){t.style[n]=h+" "+this.speed+"ms "+this.easing},_setTransitions:function(t){var i=this;(t=t||i.$items).each(function(){i._setTransition(this)})},_setSequentialDelay:function(i){var e=this;e.supported&&t.each(i,function(i,s){s.style[r]="0ms,"+(i+1)*e.sequentialFadeDelay+"ms",t(s).on(a+"."+e.unique,function(i){var s=i.currentTarget;s===i.target&&(s.style[r]="0ms",t(s).off(a+"."+e.unique))})})},_getItems:function(){return this.$el.children(this.itemSelector)},_getPreciseDimension:function(i,e){var s;return s=window.getComputedStyle?window.getComputedStyle(i,null)[e]:t(i).css(e),parseFloat(s)},_getOuterWidth:function(i,e){var s=i.offsetWidth;if(e){var n=t(i).css(["marginLeft","marginRight"]);s+=(parseFloat(n.marginLeft)||0)+(parseFloat(n.marginRight)||0)}return s},_getOuterHeight:function(i,e){var s=i.offsetHeight;if(e){var n=t(i).css(["marginTop","marginBottom"]);s+=(parseFloat(n.marginTop)||0)+(parseFloat(n.marginBottom)||0)}return s},_getColumnSize:function(i,e){var s;return 0===(s=t.isFunction(this.columnWidth)?this.columnWidth(e):this.useSizer?this._getPreciseDimension(this.sizer,"width"):this.columnWidth?this.columnWidth:this.$items.length>0?this._getOuterWidth(this.$items[0],!0):e)&&(s=e),s+i},_getGutterSize:function(i){return t.isFunction(this.gutterWidth)?this.gutterWidth(i):this.useSizer?this._getPreciseDimension(this.sizer,"marginLeft"):this.gutterWidth},_setColumns:function(t){var i=t||this._getOuterWidth(this.$el[0]),e=this._getGutterSize(i),s=this._getColumnSize(e,i),n=(i+e)/s;Math.abs(Math.round(n)-n)<.03&&(n=Math.round(n)),this.cols=Math.max(Math.floor(n),1),this.containerWidth=i,this.colWidth=s},_setContainerSize:function(){this.$el.css("height",Math.max.apply(Math,this.colYs))},_fire:function(t,i){this.$el.trigger(t+".shuffle",i&&i.length?i:[this])},_layout:function(i,e,s){var n=this;e=e||n._filterEnd,t.each(i,function(i,r){var o=t(r),a=o.data(),l=a.position,h=n._getItemPosition(o);if(o.data("position",h),h.x!==l.x||h.y!==l.y||1!==a.scale){var u={$item:o,x:h.x,y:h.y,scale:1};s?(u.skipTransition=!0,u.opacity=0):(u.opacity=1,u.callback=e),n.styleQueue.push(u),n._layoutList.push(o[0])}}),n._processStyleQueue(),n._setContainerSize()},_resetCols:function(){var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0)},_reLayout:function(){this._resetCols(),this.lastSort?this.sort(this.lastSort,!0):this._layout(this.$items.filter(".filtered").get(),this._filterEnd)},_getItemPosition:function(t){var i=this._getOuterWidth(t[0],!0)/this.colWidth;Math.abs(Math.round(i)-i)<.03&&(i=Math.round(i));var e=Math.min(Math.ceil(i),this.cols);if(1===e)return this._placeItem(t,this.colYs);var s,n,r=this.cols+1-e,o=[];for(n=0;n