@ -21,10 +21,10 @@ a.scale?a.scale:1}};f.fx.step.scale=function(a){f.cssHooks.scale.set(a.elem,a.no
f . extend ( true , this . options , a ) ; else if ( a && typeof b === "undefined" ) return this . options [ a ] ; else this . options [ a ] = b ; return this } , _setupAtoms : function ( a ) { var b = { position : "absolute" } ; if ( this . usingTransforms ) { b . left = 0 ; b . top = 0 } a . css ( b ) . addClass ( this . options . itemClass ) ; this . updateSortData ( a , true ) } , _filter : function ( a ) { var b = this . options . filter === "" ? "*" : this . options . filter ; if ( b ) { var c = this . options . hiddenClass , d = "." + c , e = a . not ( d ) , g = a . filter ( d ) ; d = g ; a = a . filter ( b ) ; if ( b !== "*" ) { d = g . filter ( b ) ; b = e . not ( b ) . toggleClass ( c ) ;
f . extend ( true , this . options , a ) ; else if ( a && typeof b === "undefined" ) return this . options [ a ] ; else this . options [ a ] = b ; return this } , _setupAtoms : function ( a ) { var b = { position : "absolute" } ; if ( this . usingTransforms ) { b . left = 0 ; b . top = 0 } a . css ( b ) . addClass ( this . options . itemClass ) ; this . updateSortData ( a , true ) } , _filter : function ( a ) { var b = this . options . filter === "" ? "*" : this . options . filter ; if ( b ) { var c = this . options . hiddenClass , d = "." + c , e = a . not ( d ) , g = a . filter ( d ) ; d = g ; a = a . filter ( b ) ; if ( b !== "*" ) { d = g . filter ( b ) ; b = e . not ( b ) . toggleClass ( c ) ;
b . addClass ( c ) ; this . styleQueue . push ( { $el : b , style : this . options . hiddenStyle } ) } this . styleQueue . push ( { $el : d , style : this . options . visibleStyle } ) ; d . removeClass ( c ) } return a } , updateSortData : function ( a , b ) { var c = this , d = this . options . getSortData , e , g ; a . each ( function ( ) { e = f ( this ) ; g = { } ; for ( var h in d ) g [ h ] = d [ h ] ( e , c ) ; e . data ( "isotope-sort-data" , g ) ; b && c . elemCount ++ } ) } , _sort : function ( ) { var a = this , b = function ( d ) { return f ( d ) . data ( "isotope-sort-data" ) [ a . options . sortBy ] } , c = this . options . sortAscending ? 1 : - 1 ; this . $filteredAtoms . sort ( function ( d ,
b . addClass ( c ) ; this . styleQueue . push ( { $el : b , style : this . options . hiddenStyle } ) } this . styleQueue . push ( { $el : d , style : this . options . visibleStyle } ) ; d . removeClass ( c ) } return a } , updateSortData : function ( a , b ) { var c = this , d = this . options . getSortData , e , g ; a . each ( function ( ) { e = f ( this ) ; g = { } ; for ( var h in d ) g [ h ] = d [ h ] ( e , c ) ; e . data ( "isotope-sort-data" , g ) ; b && c . elemCount ++ } ) } , _sort : function ( ) { var a = this , b = function ( d ) { return f ( d ) . data ( "isotope-sort-data" ) [ a . options . sortBy ] } , c = this . options . sortAscending ? 1 : - 1 ; this . $filteredAtoms . sort ( function ( d ,
e ) { var g = b ( d ) , h = b ( e ) ; return ( g > h ? 1 : g < h ? - 1 : 0 ) * c } ) ; return this } , _translate : function ( a , b ) { return { translate : [ a , b ] } } , _positionAbs : function ( a , b ) { return { left : a , top : b } } , _pushPosition : function ( a , b , c ) { b = this . getPositionStyles ( b , c ) ; this . styleQueue . push ( { $el : a , style : b } ) } , layout : function ( a , b ) { var c = this . options . layoutMode ; this [ "_" + c + "Layout" ] ( a ) ; this . options . resizesContainer && this . styleQueue . push ( { $el : this . element , style : this [ "_" + c + "GetContainerSize" ] ( ) } ) ; var d = this . applyStyleFnName === "animate" && ! this . isLaidOut ?
e ) { var g = b ( d ) , h = b ( e ) ; return ( g > h ? 1 : g < h ? - 1 : 0 ) * c } ) ; return this } , _translate : function ( a , b ) { return { translate : [ a , b ] } } , _positionAbs : function ( a , b ) { return { left : a , top : b } } , _pushPosition : function ( a , b , c ) { b = this . getPositionStyles ( b , c ) ; this . styleQueue . push ( { $el : a , style : b } ) } , layout : function ( a , b ) { var c = this . options . layoutMode ; this [ "_" + c + "Layout" ] ( a ) ; this . options . resizesContainer && this . styleQueue . push ( { $el : this . element , style : this [ "_" + c + "GetContainerSize" ] ( ) } ) ; var d = this . applyStyleFnName === "animate" && ! this . isLaidOut ?
"css" : this . applyStyleFnName , e = this . options . animationOptions ; f . each ( this . styleQueue , function ( g , h ) { h . $el [ d ] ( h . style , e ) } ) ; this . styleQueue = [ ] ; b && b . call ( a ) ; this . isLaidOut = true ; return this } , resize : function ( ) { return this [ "_" + this . options . layoutMode + "Resize" ] ( ) } , reLayout : function ( a ) { return this [ "_" + this . options . layoutMode + "Reset" ] ( ) . layout ( this . $filteredAtoms , a ) } , addItems : function ( a , b ) { var c = this . _filterFind ( a , this . options . itemSelector ) ; this . _setupAtoms ( c ) ; this . $allAtoms = this . $allAtoms . add ( c ) ; b && b ( c ) } , insert : function ( a ,
"css" : this . applyStyleFnName , e = this . options . animationOptions ; f . each ( this . styleQueue , function ( g , h ) { h . $el [ d ] ( h . style , e ) } ) ; this . styleQueue = [ ] ; b && b . call ( a ) ; this . isLaidOut = true ; return this } , resize : function ( ) { return this [ "_" + this . options . layoutMode + "Resize" ] ( ) } , reLayout : function ( a ) { return this . $allAtoms . length && this . $filteredAtoms . length ? this [ "_" + this . options . layoutMode + "Reset" ] ( ) . layout ( this . $filteredAtoms , a ) : this } , addItems : function ( a , b ) { var c = this . _filterFind ( a , this . options . itemSelector ) ; this . _setupAtoms ( c ) ;
b ) { this . element . append ( a ) ; var c = this ; this . addItems ( a , function ( d ) { d = c . _filter ( d ) ; c . $filteredAtoms = c . $filteredAtoms . add ( d ) } ) ; this . _sort ( ) . reLayout ( b ) } , appended : function ( a , b ) { var c = this ; this . addItems ( a , function ( d ) { c . $filteredAtoms = c . $filteredAtoms . add ( d ) ; c . layout ( d , b ) } ) } , remove : function ( a ) { this . $allAtoms = this . $allAtoms . not ( a ) ; this . $filteredAtoms = this . $filteredAtoms . not ( a ) ; a . remove ( ) } , _shuffleArray : function ( a ) { var b , c , d = a . length ; if ( d ) for ( ; -- d ; ) { c = ~ ~ ( Math . random ( ) * ( d + 1 ) ) ; b = a [ c ] ; a [ c ] = a [ d ] ; a [ d ] = b } return a } ,
this . $allAtoms = this . $allAtoms . add ( c ) ; b && b ( c ) } , insert : function ( a , b ) { this . element . append ( a ) ; var c = this ; this . addItems ( a , function ( d ) { d = c . _filter ( d ) ; c . $filteredAtoms = c . $filteredAtoms . add ( d ) } ) ; this . _sort ( ) . reLayout ( b ) } , appended : function ( a , b ) { var c = this ; this . addItems ( a , function ( d ) { c . $filteredAtoms = c . $filteredAtoms . add ( d ) ; c . layout ( d , b ) } ) } , remove : function ( a ) { this . $allAtoms = this . $allAtoms . not ( a ) ; this . $filteredAtoms = this . $filteredAtoms . not ( a ) ; a . remove ( ) } , _shuffleArray : function ( a ) { var b , c , d = a . length ; if ( d ) for ( ; -- d ; ) { c =
shuffle : function ( a ) { this . options . sortBy = "shuffle" ; this . $allAtoms = this . _shuffleArray ( this . $allAtoms ) ; this . $filteredAtoms = this . _filter ( this . $allAtoms ) ; return this . reLayout ( a ) } , destroy : function ( ) { var a = this . usingTransforms ; this . $allAtoms . removeClass ( this . options . hiddenClass + " " + this . options . itemClass ) . each ( function ( ) { this . style . position = null ; this . style . top = null ; this . style . left = null ; this . style . opacity = null ; if ( a ) this . style [ k . transformProp ] = null } ) ; for ( var b = this . element [ 0 ] . style , c = 0 , d = n . length ; c < d ; c ++ ) { var e =
~ ~ ( Math . random ( ) * ( d + 1 ) ) ; b = a [ c ] ; a [ c ] = a [ d ] ; a [ d ] = b } return a } , shuffle : function ( a ) { this . options . sortBy = "shuffle" ; this . $allAtoms = this . _shuffleArray ( this . $allAtoms ) ; this . $filteredAtoms = this . _filter ( this . $allAtoms ) ; return this . reLayout ( a ) } , destroy : function ( ) { var a = this . usingTransforms ; this . $allAtoms . removeClass ( this . options . hiddenClass + " " + this . options . itemClass ) . each ( function ( ) { this . style . position = null ; this . style . top = null ; this . style . left = null ; this . style . opacity = null ; if ( a ) this . style [ k . transformProp ] = null } ) ;
n [ c ] ; b [ e ] = this . originalStyle [ e ] } this . element . unbind ( ".isotope" ) . removeClass ( this . options . containerClass ) . removeData ( "isotope" ) ; f ( l ) . unbind ( ".isotope" ) } , _getSegments : function ( a , b ) { var c = b ? "rowHeight" : "columnWidth" , d = b ? "height" : "width" , e = b ? "rows" : "cols" ; this [ a ] [ c ] = this . options [ a ] && this . options [ a ] [ c ] || this . $allAtoms [ "outer" + ( b ? "Height" : "Width" ) ] ( true ) ; if ( ! this [ a ] [ c ] ) { f . error ( c + " calculated to be zero. Stopping Isotope plugin before divide by zero. Check that the width of first child inside the isotope container is not zero." ) ;
for ( var b = this . element [ 0 ] . style , c = 0 , d = n . length ; c < d ; c ++ ) { var e = n [ c ] ; b [ e ] = this . originalStyle [ e ] } this . element . unbind ( ".isotope" ) . removeClass ( this . options . containerClass ) . removeData ( "isotope" ) ; f ( l ) . unbind ( ".isotope" ) } , _getSegments : function ( a , b ) { var c = b ? "rowHeight" : "columnWidth" , d = b ? "height" : "width" , e = b ? "rows" : "cols" ; this [ a ] [ c ] = this . options [ a ] && this . options [ a ] [ c ] || this . $allAtoms [ "outer" + ( b ? "Height" : "Width" ) ] ( true ) ; if ( ! this [ a ] [ c ] ) { f . error ( c + " calculated to be zero. Stopping Isotope plugin before divide by zero. Check that the width of first child inside the isotope container is not zero." ) ;
return this } this [ d ] = this . element [ d ] ( ) ; this [ a ] [ e ] = Math . max ( Math . floor ( this [ d ] / this [ a ] [ c ] ) , 1 ) ; return this } , _masonryPlaceBrick : function ( a , b , c ) { b = Math . min . apply ( Math , c ) ; for ( var d = b + a . outerHeight ( true ) , e = c . length , g = e , h = this . masonry . cols + 1 - e ; e -- ; ) if ( c [ e ] === b ) g = e ; this . _pushPosition ( a , this . masonry . columnWidth * g + this . posLeft , b ) ; for ( e = 0 ; e < h ; e ++ ) this . masonry . colYs [ g + e ] = d } , _masonryLayout : function ( a ) { var b = this ; a . each ( function ( ) { var c = f ( this ) , d = Math . ceil ( c . outerWidth ( true ) / b . masonry . columnWidth ) ; d = Math . min ( d ,
return this } this [ d ] = this . element [ d ] ( ) ; this [ a ] [ e ] = Math . max ( Math . floor ( this [ d ] / this [ a ] [ c ] ) , 1 ) ; return this } , _masonryPlaceBrick : function ( a , b , c ) { b = Math . min . apply ( Math , c ) ; for ( var d = b + a . outerHeight ( true ) , e = c . length , g = e , h = this . masonry . cols + 1 - e ; e -- ; ) if ( c [ e ] === b ) g = e ; this . _pushPosition ( a , this . masonry . columnWidth * g + this . posLeft , b ) ; for ( e = 0 ; e < h ; e ++ ) this . masonry . colYs [ g + e ] = d } , _masonryLayout : function ( a ) { var b = this ; a . each ( function ( ) { var c = f ( this ) , d = Math . ceil ( c . outerWidth ( true ) / b . masonry . columnWidth ) ; d = Math . min ( d ,
b . masonry . cols ) ; if ( d === 1 ) b . _masonryPlaceBrick ( c , b . masonry . cols , b . masonry . colYs ) ; else { var e = b . masonry . cols + 1 - d , g = [ ] , h , i ; for ( i = 0 ; i < e ; i ++ ) { h = b . masonry . colYs . slice ( i , i + d ) ; g [ i ] = Math . max . apply ( Math , h ) } b . _masonryPlaceBrick ( c , e , g ) } } ) ; return this } , _masonryReset : function ( ) { this . masonry = { } ; this . _getSegments ( "masonry" ) ; var a = this . masonry . cols ; for ( this . masonry . colYs = [ ] ; a -- ; ) this . masonry . colYs . push ( this . posTop ) ; return this } , _masonryResize : function ( ) { var a = this . masonry . cols ; this . _getSegments ( "masonry" ) ; this . masonry . cols !==
b . masonry . cols ) ; if ( d === 1 ) b . _masonryPlaceBrick ( c , b . masonry . cols , b . masonry . colYs ) ; else { var e = b . masonry . cols + 1 - d , g = [ ] , h , i ; for ( i = 0 ; i < e ; i ++ ) { h = b . masonry . colYs . slice ( i , i + d ) ; g [ i ] = Math . max . apply ( Math , h ) } b . _masonryPlaceBrick ( c , e , g ) } } ) ; return this } , _masonryReset : function ( ) { this . masonry = { } ; this . _getSegments ( "masonry" ) ; var a = this . masonry . cols ; for ( this . masonry . colYs = [ ] ; a -- ; ) this . masonry . colYs . push ( this . posTop ) ; return this } , _masonryResize : function ( ) { var a = this . masonry . cols ; this . _getSegments ( "masonry" ) ; this . masonry . cols !==
a && this . reLayout ( ) ; return this } , _masonryGetContainerSize : function ( ) { return { height : Math . max . apply ( Math , this . masonry . colYs ) - this . posTop } } , _fitRowsLayout : function ( a ) { this . width = this . element . width ( ) ; var b = this ; a . each ( function ( ) { var c = f ( this ) , d = c . outerWidth ( true ) , e = c . outerHeight ( true ) ; if ( b . fitRows . x !== 0 && d + b . fitRows . x > b . width ) { b . fitRows . x = 0 ; b . fitRows . y = b . fitRows . height } b . _pushPosition ( c , b . fitRows . x + b . posLeft , b . fitRows . y + b . posTop ) ; b . fitRows . height = Math . max ( b . fitRows . y + e , b . fitRows . height ) ; b . fitRows . x += d } ) ;
a && this . reLayout ( ) ; return this } , _masonryGetContainerSize : function ( ) { return { height : Math . max . apply ( Math , this . masonry . colYs ) - this . posTop } } , _fitRowsLayout : function ( a ) { this . width = this . element . width ( ) ; var b = this ; a . each ( function ( ) { var c = f ( this ) , d = c . outerWidth ( true ) , e = c . outerHeight ( true ) ; if ( b . fitRows . x !== 0 && d + b . fitRows . x > b . width ) { b . fitRows . x = 0 ; b . fitRows . y = b . fitRows . height } b . _pushPosition ( c , b . fitRows . x + b . posLeft , b . fitRows . y + b . posTop ) ; b . fitRows . height = Math . max ( b . fitRows . y + e , b . fitRows . height ) ; b . fitRows . x += d } ) ;