2020-03-16 15:45:33 +01:00
/ * !
2020-08-04 18:33:22 +02:00
* Minimal Mistakes Jekyll Theme 4.20 . 1 by Michael Rose
2020-03-16 15:45:33 +01:00
* Copyright 2013 - 2020 Michael Rose - mademistakes . com | @ mmistakes
* Licensed under MIT
* /
2020-03-17 02:31:23 +01:00
! function ( e , t ) { "use strict" ; "object" == typeof module && "object" == typeof module . exports ? module . exports = e . document ? t ( e , ! 0 ) : function ( e ) { if ( ! e . document ) throw new Error ( "jQuery requires a window with a document" ) ; return t ( e ) } : t ( e ) } ( "undefined" != typeof window ? window : this , function ( e , t ) { "use strict" ; function n ( e , t , n ) { n = n || ue ; var r , o , i = n . createElement ( "script" ) ; if ( i . text = e , t ) for ( r in Ce ) o = t [ r ] || t . getAttribute && t . getAttribute ( r ) , o && i . setAttribute ( r , o ) ; n . head . appendChild ( i ) . parentNode . removeChild ( i ) } function r ( e ) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? he [ me . call ( e ) ] || "object" : typeof e } function o ( e ) { var t = ! ! e && "length" in e && e . length , n = r ( e ) ; return xe ( e ) || we ( e ) ? ! 1 : "array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function i ( e , t ) { return e . nodeName && e . nodeName . toLowerCase ( ) === t . toLowerCase ( ) } function a ( e , t , n ) { return xe ( t ) ? Ee . grep ( e , function ( e , r ) { return ! ! t . call ( e , r , e ) !== n } ) : t . nodeType ? Ee . grep ( e , function ( e ) { return e === t !== n } ) : "string" != typeof t ? Ee . grep ( e , function ( e ) { return pe . call ( t , e ) > - 1 !== n } ) : Ee . filter ( t , e , n ) } function s ( e , t ) { for ( ; ( e = e [ t ] ) && 1 !== e . nodeType ; ) ; return e } function u ( e ) { var t = { } ; return Ee . each ( e . match ( qe ) || [ ] , function ( e , n ) { t [ n ] = ! 0 } ) , t } function l ( e ) { return e } function c ( e ) { throw e } function f ( e , t , n , r ) { var o ; try { e && xe ( o = e . promise ) ? o . call ( e ) . done ( t ) . fail ( n ) : e && xe ( o = e . then ) ? o . call ( e , t , n ) : t . apply ( void 0 , [ e ] . slice ( r ) ) } catch ( e ) { n . apply ( void 0 , [ e ] ) } } function d ( ) { ue . removeEventListener ( "DOMContentLoaded" , d ) , e . removeEventListener ( "load" , d ) , Ee . ready ( ) } function p ( e , t ) { return t . toUpperCase ( ) } function h ( e ) { return e . replace ( Be , "ms-" ) . replace ( $e , p ) } function m ( ) { this . expando = Ee . expando + m . uid ++ } function g ( e ) { return "true" === e ? ! 0 : "false" === e ? ! 1 : "null" === e ? null : e === + e + "" ? + e : Ue . test ( e ) ? JSON . parse ( e ) : e } function v ( e , t , n ) { var r ; if ( void 0 === n && 1 === e . nodeType ) if ( r = "data-" + t . replace ( Xe , "-$&" ) . toLowerCase ( ) , n = e . getAttribute ( r ) , "string" == typeof n ) { try { n = g ( n ) } catch ( o ) { } We . set ( e , t , n ) } else n = void 0 ; return n } function y ( e , t , n , r ) { var o , i , a = 20 , s = r ? function ( ) { return r . cur ( ) } : function ( ) { return Ee . css ( e , t , "" ) } , u = s ( ) , l = n && n [ 3 ] || ( Ee . cssNumber [ t ] ? "" : "px" ) , c = e . nodeType && ( Ee . cssNumber [ t ] || "px" !== l && + u ) && Ye . exec ( Ee . css ( e , t ) ) ; if ( c && c [ 3 ] !== l ) { for ( u /= 2 , l = l || c [ 3 ] , c = + u || 1 ; a -- ; ) Ee . style ( e , t , c + l ) , ( 1 - i ) * ( 1 - ( i = s ( ) / u || . 5 ) ) <= 0 && ( a = 0 ) , c /= i ; c = 2 * c , Ee . style ( e , t , c + l ) , n = n || [ ] } return n && ( c = + c || + u || 0 , o = n [ 1 ] ? c + ( n [ 1 ] + 1 ) * n [ 2 ] : + n [ 2 ] , r && ( r . unit = l , r . start = c , r . end = o ) ) , o } function b ( e ) { var t , n = e . ownerDocument , r = e . nodeName , o = tt [ r ] ; return o ? o : ( t = n . body . appendChild ( n . createElement ( r ) ) , o = Ee . css ( t , "display" ) , t . parentNode . removeChild ( t ) , "none" === o && ( o = "block" ) , tt [ r ] = o , o ) } function x ( e , t ) { for ( var n , r , o = [ ] , i = 0 , a = e . length ; a > i ; i ++ ) r = e [ i ] , r . style && ( n = r . style . display , t ? ( "none" === n && ( o [ i ] = ze . get ( r , "display" ) || null , o [ i ] || ( r . style . display = "" ) ) , "" === r . style . display && Je ( r ) && ( o [ i ] = b ( r ) ) ) : "none" !== n && ( o [ i ] = "none" , ze . set ( r , "display" , n ) ) ) ; for ( i = 0 ; a > i ; i ++ ) null != o [ i ] && ( e [ i ] . style . display = o [ i ] ) ; return e } function w ( e , t ) { var n ; return n = "undefined" != typeof e . getElementsByTagName ? e . getElementsByTagName ( t || "*" ) : "undefined" != typeof e . querySelectorAll ? e . querySelectorAll ( t || "*" ) : [ ] , void 0 === t || t && i ( e , t ) ? Ee . merge ( [ e ] , n ) : n } function C ( e , t ) { for ( var n = 0 , r = e . length ; r > n ; n ++ ) ze . set ( e [ n ] , "globalEval" , ! t || ze . get ( t [ n ] , "globalEval" ) ) } function T ( e , t , n , o , i ) { for ( var a , s , u , l , c , f , d = t . createDocumentFragment ( ) , p = [ ] , h = 0 , m = e . length ; m > h ; h ++ ) if ( a = e [ h ] , a || 0 === a ) if ( "object" === r ( a ) ) Ee . merge ( p , a . nodeType ? [ a ] : a ) ; else if ( at . test ( a ) ) { for ( s = s || d . appendChild ( t . createElement ( "div" ) ) , u = ( rt . exec ( a ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) , l = it [ u ] || it . _default , s . innerHTML = l [ 1 ] + Ee . htmlPrefilter ( a ) + l [ 2 ] , f = l [ 0 ] ; f -- ; ) s = s . lastChild ; Ee . merge ( p , s . childNodes ) , s = d . firstChild , s . textContent = "" } else p . push ( t . createTextNode ( a ) ) ; for ( d . textContent = "" , h = 0 ; a = p [ h ++ ] ; ) if ( o && Ee . inArray ( a , o ) > - 1 ) i && i . push ( a ) ; else if ( c = Ke ( a ) , s = w ( d . appendChild ( a ) , "script" ) , c && C ( s ) , n ) for ( f = 0 ; a = s [ f ++ ] ; ) ot . test ( a . type || "" ) && n . push ( a ) ; return d } function E ( ) { return ! 0 } function S ( ) { return ! 1 } function k ( e , t ) { return e === A ( ) == ( "focus" === t ) } function A ( ) { try { return ue . activeElement } catch ( e ) { } } function N ( e , t , n , r , o , i ) { var a , s ; if ( "object" == typeof t ) { "string" != typeof n && ( r = r || n , n = void 0 ) ; for ( s in t ) N ( e , s , n , r , t [ s ] , i ) ;
return i ( e , 0 , o ) } ) : i } } , pseudos : { not : r ( function ( e ) { var t = [ ] , n = [ ] , o = A ( e . replace ( ue , "$1" ) ) ; return o [ B ] ? r ( function ( e , t , n , r ) { for ( var i , a = o ( e , null , r , [ ] ) , s = e . length ; s -- ; ) ( i = a [ s ] ) && ( e [ s ] = ! ( t [ s ] = i ) ) } ) : function ( e , r , i ) { return t [ 0 ] = e , o ( t , null , i , n ) , t [ 0 ] = null , ! n . pop ( ) } } ) , has : r ( function ( e ) { return function ( n ) { return t ( e , n ) . length > 0 } } ) , contains : r ( function ( e ) { return e = e . replace ( we , Ce ) , function ( t ) { return ( t . textContent || E ( t ) ) . indexOf ( e ) > - 1 } } ) , lang : r ( function ( e ) { return pe . test ( e || "" ) || t . error ( "unsupported lang: " + e ) , e = e . replace ( we , Ce ) . toLowerCase ( ) , function ( t ) { var n ; do if ( n = P ? t . lang : t . getAttribute ( "xml:lang" ) || t . getAttribute ( "lang" ) ) return n = n . toLowerCase ( ) , n === e || 0 === n . indexOf ( e + "-" ) ; while ( ( t = t . parentNode ) && 1 === t . nodeType ) ; return ! 1 } } ) , target : function ( t ) { var n = e . location && e . location . hash ; return n && n . slice ( 1 ) === t . id } , root : function ( e ) { return e === H } , focus : function ( e ) { return e === O . activeElement && ( ! O . hasFocus || O . hasFocus ( ) ) && ! ! ( e . type || e . href || ~ e . tabIndex ) } , enabled : l ( ! 1 ) , disabled : l ( ! 0 ) , checked : function ( e ) { var t = e . nodeName . toLowerCase ( ) ; return "input" === t && ! ! e . checked || "option" === t && ! ! e . selected } , selected : function ( e ) { return e . parentNode && e . parentNode . selectedIndex , e . selected === ! 0 } , empty : function ( e ) { for ( e = e . firstChild ; e ; e = e . nextSibling ) if ( e . nodeType < 6 ) return ! 1 ; return ! 0 } , parent : function ( e ) { return ! T . pseudos . empty ( e ) } , header : function ( e ) { return ve . test ( e . nodeName ) } , input : function ( e ) { return ge . test ( e . nodeName ) } , button : function ( e ) { var t = e . nodeName . toLowerCase ( ) ; return "input" === t && "button" === e . type || "button" === t } , text : function ( e ) { var t ; return "input" === e . nodeName . toLowerCase ( ) && "text" === e . type && ( null == ( t = e . getAttribute ( "type" ) ) || "text" === t . toLowerCase ( ) ) } , first : c ( function ( ) { return [ 0 ] } ) , last : c ( function ( e , t ) { return [ t - 1 ] } ) , eq : c ( function ( e , t , n ) { return [ 0 > n ? n + t : n ] } ) , even : c ( function ( e , t ) { for ( var n = 0 ; t > n ; n += 2 ) e . push ( n ) ; return e } ) , odd : c ( function ( e , t ) { for ( var n = 1 ; t > n ; n += 2 ) e . push ( n ) ; return e } ) , lt : c ( function ( e , t , n ) { for ( var r = 0 > n ? n + t : n > t ? t : n ; -- r >= 0 ; ) e . push ( r ) ; return e } ) , gt : c ( function ( e , t , n ) { for ( var r = 0 > n ? n + t : n ; ++ r < t ; ) e . push ( r ) ; return e } ) } } , T . pseudos . nth = T . pseudos . eq ; for ( w in { radio : ! 0 , checkbox : ! 0 , file : ! 0 , password : ! 0 , image : ! 0 } ) T . pseudos [ w ] = s ( w ) ; for ( w in { submit : ! 0 , reset : ! 0 } ) T . pseudos [ w ] = u ( w ) ; return d . prototype = T . filters = T . pseudos , T . setFilters = new d , k = t . tokenize = function ( e , n ) { var r , o , i , a , s , u , l , c = U [ e + " " ] ; if ( c ) return n ? 0 : c . slice ( 0 ) ; for ( s = e , u = [ ] , l = T . preFilter ; s ; ) { r && ! ( o = le . exec ( s ) ) || ( o && ( s = s . slice ( o [ 0 ] . length ) || s ) , u . push ( i = [ ] ) ) , r = ! 1 , ( o = ce . exec ( s ) ) && ( r = o . shift ( ) , i . push ( { value : r , type : o [ 0 ] . replace ( ue , " " ) } ) , s = s . slice ( r . length ) ) ; for ( a in T . filter ) ! ( o = he [ a ] . exec ( s ) ) || l [ a ] && ! ( o = l [ a ] ( o ) ) || ( r = o . shift ( ) , i . push ( { value : r , type : a , matches : o } ) , s = s . slice ( r . length ) ) ; if ( ! r ) break } return n ? s . length : s ? t . error ( e ) : U ( e , u ) . slice ( 0 ) } , A = t . compile = function ( e , t ) { var n , r = [ ] , o = [ ] , i = X [ e + " " ] ; if ( ! i ) { for ( t || ( t = k ( e ) ) , n = t . length ; n -- ; ) i = b ( t [ n ] ) , i [ B ] ? r . push ( i ) : o . push ( i ) ; i = X ( e , x ( o , r ) ) , i . selector = e } return i } , N = t . select = function ( e , t , n , r ) { var o , i , a , s , u , l = "function" == typeof e && e , c = ! r && k ( e = l . selector || e ) ; if ( n = n || [ ] , 1 === c . length ) { if ( i = c [ 0 ] = c [ 0 ] . slice ( 0 ) , i . length > 2 && "ID" === ( a = i [ 0 ] ) . type && 9 === t . nodeType && P && T . relative [ i [ 1 ] . type ] ) { if ( t = ( T . find . ID ( a . matches [ 0 ] . replace ( we , Ce ) , t ) || [ ] ) [ 0 ] , ! t ) return n ; l && ( t = t . parentNode ) , e = e . slice ( i . shift ( ) . value . length ) } for ( o = he . needsContext . test ( e ) ? 0 : i . length ; o -- && ( a = i [ o ] , ! T . relative [ s = a . type ] ) ; ) if ( ( u = T . find [ s ] ) && ( r = u ( a . matches [ 0 ] . replace ( we , Ce ) , xe . test ( i [ 0 ] . type ) && f ( t . parentNode ) || t ) ) ) { if ( i . splice ( o , 1 ) , e = r . length && p ( i ) , ! e ) return J . apply ( n , r ) , n ; break } } return ( l || A ( e , c ) ) ( r , t , ! P , n , ! t || xe . test ( e ) && f ( t . parentNode ) || t ) , n } , C . sortStable = B . split ( "" ) . sort ( Y ) . join ( "" ) === B , C . detectDuplicates = ! ! L , D ( ) , C . sortDetached = o ( function ( e ) { return 1 & e . compareDocumentPosition ( O . createElement ( "fieldset" ) ) } ) , o ( function ( e ) { return e . innerHTML = "<a href='#'></a>" , "#" === e . firstChild . getAttribute ( "href" ) } ) || i ( "type|href|height|width" , function ( e , t , n ) { return n ? void 0 : e . getAttribute ( t , "type" === t . toLowerCase ( ) ? 1 : 2 ) } ) , C . attributes && o ( function ( e ) { return e . innerHTML = "<input/>" , e . firstChild . setAttribute ( "value" , "" ) , "" === e . firstChild . getAttribute ( "value" ) } ) || i ( "value" , function ( e , t , n ) { return n || "input" !== e . nodeName . toLowerCase ( ) ? void 0
2020-06-06 16:30:54 +02:00
for ( var n , r = 0 , o = e . length ; o > r ; r ++ ) n = e [ r ] , K . tweeners [ n ] = K . tweeners [ n ] || [ ] , K . tweeners [ n ] . unshift ( t ) } , prefilters : [ V ] , prefilter : function ( e , t ) { t ? K . prefilters . unshift ( e ) : K . prefilters . push ( e ) } } ) , Ee . speed = function ( e , t , n ) { var r = e && "object" == typeof e ? Ee . extend ( { } , e ) : { complete : n || ! n && t || xe ( e ) && e , duration : e , easing : n && t || t && ! xe ( t ) && t } ; return Ee . fx . off ? r . duration = 0 : "number" != typeof r . duration && ( r . duration in Ee . fx . speeds ? r . duration = Ee . fx . speeds [ r . duration ] : r . duration = Ee . fx . speeds . _default ) , null != r . queue && r . queue !== ! 0 || ( r . queue = "fx" ) , r . old = r . complete , r . complete = function ( ) { xe ( r . old ) && r . old . call ( this ) , r . queue && Ee . dequeue ( this , r . queue ) } , r } , Ee . fn . extend ( { fadeTo : function ( e , t , n , r ) { return this . filter ( Je ) . css ( "opacity" , 0 ) . show ( ) . end ( ) . animate ( { opacity : t } , e , n , r ) } , animate : function ( e , t , n , r ) { var o = Ee . isEmptyObject ( e ) , i = Ee . speed ( t , n , r ) , a = function ( ) { var t = K ( this , Ee . extend ( { } , e ) , i ) ; ( o || ze . get ( this , "finish" ) ) && t . stop ( ! 0 ) } ; return a . finish = a , o || i . queue === ! 1 ? this . each ( a ) : this . queue ( i . queue , a ) } , stop : function ( e , t , n ) { var r = function ( e ) { var t = e . stop ; delete e . stop , t ( n ) } ; return "string" != typeof e && ( n = t , t = e , e = void 0 ) , t && e !== ! 1 && this . queue ( e || "fx" , [ ] ) , this . each ( function ( ) { var t = ! 0 , o = null != e && e + "queueHooks" , i = Ee . timers , a = ze . get ( this ) ; if ( o ) a [ o ] && a [ o ] . stop && r ( a [ o ] ) ; else for ( o in a ) a [ o ] && a [ o ] . stop && At . test ( o ) && r ( a [ o ] ) ; for ( o = i . length ; o -- ; ) i [ o ] . elem !== this || null != e && i [ o ] . queue !== e || ( i [ o ] . anim . stop ( n ) , t = ! 1 , i . splice ( o , 1 ) ) ; ! t && n || Ee . dequeue ( this , e ) } ) } , finish : function ( e ) { return e !== ! 1 && ( e = e || "fx" ) , this . each ( function ( ) { var t , n = ze . get ( this ) , r = n [ e + "queue" ] , o = n [ e + "queueHooks" ] , i = Ee . timers , a = r ? r . length : 0 ; for ( n . finish = ! 0 , Ee . queue ( this , e , [ ] ) , o && o . stop && o . stop . call ( this , ! 0 ) , t = i . length ; t -- ; ) i [ t ] . elem === this && i [ t ] . queue === e && ( i [ t ] . anim . stop ( ! 0 ) , i . splice ( t , 1 ) ) ; for ( t = 0 ; a > t ; t ++ ) r [ t ] && r [ t ] . finish && r [ t ] . finish . call ( this ) ; delete n . finish } ) } } ) , Ee . each ( [ "toggle" , "show" , "hide" ] , function ( e , t ) { var n = Ee . fn [ t ] ; Ee . fn [ t ] = function ( e , r , o ) { return null == e || "boolean" == typeof e ? n . apply ( this , arguments ) : this . animate ( Q ( t , ! 0 ) , e , r , o ) } } ) , Ee . each ( { slideDown : Q ( "show" ) , slideUp : Q ( "hide" ) , slideToggle : Q ( "toggle" ) , fadeIn : { opacity : "show" } , fadeOut : { opacity : "hide" } , fadeToggle : { opacity : "toggle" } } , function ( e , t ) { Ee . fn [ e ] = function ( e , n , r ) { return this . animate ( t , e , n , r ) } } ) , Ee . timers = [ ] , Ee . fx . tick = function ( ) { var e , t = 0 , n = Ee . timers ; for ( Et = Date . now ( ) ; t < n . length ; t ++ ) e = n [ t ] , e ( ) || n [ t ] !== e || n . splice ( t -- , 1 ) ; n . length || Ee . fx . stop ( ) , Et = void 0 } , Ee . fx . timer = function ( e ) { Ee . timers . push ( e ) , Ee . fx . start ( ) } , Ee . fx . interval = 13 , Ee . fx . start = function ( ) { St || ( St = ! 0 , U ( ) ) } , Ee . fx . stop = function ( ) { St = null } , Ee . fx . speeds = { slow : 600 , fast : 200 , _default : 400 } , Ee . fn . delay = function ( t , n ) { return t = Ee . fx ? Ee . fx . speeds [ t ] || t : t , n = n || "fx" , this . queue ( n , function ( n , r ) { var o = e . setTimeout ( n , t ) ; r . stop = function ( ) { e . clearTimeout ( o ) } } ) } , function ( ) { var e = ue . createElement ( "input" ) , t = ue . createElement ( "select" ) , n = t . appendChild ( ue . createElement ( "option" ) ) ; e . type = "checkbox" , be . checkOn = "" !== e . value , be . optSelected = n . selected , e = ue . createElement ( "input" ) , e . value = "t" , e . type = "radio" , be . radioValue = "t" === e . value } ( ) ; var Nt , jt = Ee . expr . attrHandle ; Ee . fn . extend ( { attr : function ( e , t ) { return Re ( this , Ee . attr , e , t , arguments . length > 1 ) } , removeAttr : function ( e ) { return this . each ( function ( ) { Ee . removeAttr ( this , e ) } ) } } ) , Ee . extend ( { attr : function ( e , t , n ) { var r , o , i = e . nodeType ; if ( 3 !== i && 8 !== i && 2 !== i ) return "undefined" == typeof e . getAttribute ? Ee . prop ( e , t , n ) : ( 1 === i && Ee . isXMLDoc ( e ) || ( o = Ee . attrHooks [ t . toLowerCase ( ) ] || ( Ee . expr . match . bool . test ( t ) ? Nt : void 0 ) ) , void 0 !== n ? null === n ? void Ee . removeAttr ( e , t ) : o && "set" in o && void 0 !== ( r = o . set ( e , n , t ) ) ? r : ( e . setAttribute ( t , n + "" ) , n ) : o && "get" in o && null !== ( r = o . get ( e , t ) ) ? r : ( r = Ee . find . attr ( e , t ) , null == r ? void 0 : r ) ) } , attrHooks : { type : { set : function ( e , t ) { if ( ! be . radioValue && "radio" === t && i ( e , "input" ) ) { var n = e . value ; return e . setAttribute ( "type" , t ) , n && ( e . value = n ) , t } } } } , removeAttr : function ( e , t ) { var n , r = 0 , o = t && t . match ( qe ) ; if ( o && 1 === e . nodeType ) for ( ; n = o [ r ++ ] ; ) e . removeAttribute ( n ) } } ) , Nt = { set : function ( e , t , n ) { return t === ! 1 ? Ee . removeAttr ( e , n ) : e . setAttribute ( n , n ) , n } } , Ee . each ( Ee . expr . match . bool . source . match ( /\w+/g ) , function ( e , t ) { var n = jt [ t ] || Ee . find . attr ; jt [ t ] = function ( e , t , r ) { var o , i , a = t . toLowerCase ( ) ; return r || ( i = jt [ a
! t . st . showCloseBtn || t . st . closeBtnInside && t . currTemplate [ t . currItem . type ] !== ! 0 || t . currTemplate . closeBtn && t . currTemplate . closeBtn . detach ( ) , t . st . autoFocusLast && t . _lastFocusedEl && e ( t . _lastFocusedEl ) . focus ( ) , t . currItem = null , t . content = null , t . currTemplate = null , t . prevHeight = 0 , E ( l ) } , updateSize : function ( e ) { if ( t . isIOS ) { var n = document . documentElement . clientWidth / window . innerWidth , r = window . innerHeight * n ; t . wrap . css ( "height" , r ) , t . wH = r } else t . wH = e || w . height ( ) ; t . fixedContentPos || t . wrap . css ( "height" , t . wH ) , E ( "Resize" ) } , updateItemHTML : function ( ) { var n = t . items [ t . index ] ; t . contentContainer . detach ( ) , t . content && t . content . detach ( ) , n . parsed || ( n = t . parseEl ( t . index ) ) ; var r = n . type ; if ( E ( "BeforeChange" , [ t . currItem ? t . currItem . type : "" , r ] ) , t . currItem = n , ! t . currTemplate [ r ] ) { var i = t . st [ r ] ? t . st [ r ] . markup : ! 1 ; E ( "FirstMarkupParse" , i ) , i ? t . currTemplate [ r ] = e ( i ) : t . currTemplate [ r ] = ! 0 } o && o !== n . type && t . container . removeClass ( "mfp-" + o + "-holder" ) ; var a = t [ "get" + r . charAt ( 0 ) . toUpperCase ( ) + r . slice ( 1 ) ] ( n , t . currTemplate [ r ] ) ; t . appendContent ( a , r ) , n . preloaded = ! 0 , E ( p , n ) , o = n . type , t . container . prepend ( t . contentContainer ) , E ( "AfterChange" ) } , appendContent : function ( e , n ) { t . content = e , e ? t . st . showCloseBtn && t . st . closeBtnInside && t . currTemplate [ n ] === ! 0 ? t . content . find ( ".mfp-close" ) . length || t . content . append ( S ( ) ) : t . content = e : t . content = "" , E ( c ) , t . container . addClass ( "mfp-" + n + "-holder" ) , t . contentContainer . append ( t . content ) } , parseEl : function ( n ) { var r , o = t . items [ n ] ; if ( o . tagName ? o = { el : e ( o ) } : ( r = o . type , o = { data : o , src : o . src } ) , o . el ) { for ( var i = t . types , a = 0 ; a < i . length ; a ++ ) if ( o . el . hasClass ( "mfp-" + i [ a ] ) ) { r = i [ a ] ; break } o . src = o . el . attr ( "data-mfp-src" ) , o . src || ( o . src = o . el . attr ( "href" ) ) } return o . type = r || t . st . type || "inline" , o . index = n , o . parsed = ! 0 , t . items [ n ] = o , E ( "ElementParse" , o ) , t . items [ n ] } , addGroup : function ( e , n ) { var r = function ( r ) { r . mfpEl = this , t . _openClick ( r , e , n ) } ; n || ( n = { } ) ; var o = "click.magnificPopup" ; n . mainEl = e , n . items ? ( n . isObj = ! 0 , e . off ( o ) . on ( o , r ) ) : ( n . isObj = ! 1 , n . delegate ? e . off ( o ) . on ( o , n . delegate , r ) : ( n . items = e , e . off ( o ) . on ( o , r ) ) ) } , _openClick : function ( n , r , o ) { var i = void 0 !== o . midClick ? o . midClick : e . magnificPopup . defaults . midClick ; if ( i || ! ( 2 === n . which || n . ctrlKey || n . metaKey || n . altKey || n . shiftKey ) ) { var a = void 0 !== o . disableOn ? o . disableOn : e . magnificPopup . defaults . disableOn ; if ( a ) if ( e . isFunction ( a ) ) { if ( ! a . call ( t ) ) return ! 0 } else if ( w . width ( ) < a ) return ! 0 ; n . type && ( n . preventDefault ( ) , t . isOpen && n . stopPropagation ( ) ) , o . el = e ( n . mfpEl ) , o . delegate && ( o . items = r . find ( o . delegate ) ) , t . open ( o ) } } , updateStatus : function ( e , r ) { if ( t . preloader ) { n !== e && t . container . removeClass ( "mfp-s-" + n ) , r || "loading" !== e || ( r = t . st . tLoading ) ; var o = { status : e , text : r } ; E ( "UpdateStatus" , o ) , e = o . status , r = o . text , t . preloader . html ( r ) , t . preloader . find ( "a" ) . on ( "click" , function ( e ) { e . stopImmediatePropagation ( ) } ) , t . container . addClass ( "mfp-s-" + e ) , n = e } } , _checkIfClose : function ( n ) { if ( ! e ( n ) . hasClass ( y ) ) { var r = t . st . closeOnContentClick , o = t . st . closeOnBgClick ; if ( r && o ) return ! 0 ; if ( ! t . content || e ( n ) . hasClass ( "mfp-close" ) || t . preloader && n === t . preloader [ 0 ] ) return ! 0 ; if ( n === t . content [ 0 ] || e . contains ( t . content [ 0 ] , n ) ) { if ( r ) return ! 0 } else if ( o && e . contains ( document , n ) ) return ! 0 ; return ! 1 } } , _addClassToMFP : function ( e ) { t . bgOverlay . addClass ( e ) , t . wrap . addClass ( e ) } , _removeClassFromMFP : function ( e ) { this . bgOverlay . removeClass ( e ) , t . wrap . removeClass ( e ) } , _hasScrollBar : function ( e ) { return ( t . isIE7 ? r . height ( ) : document . body . scrollHeight ) > ( e || w . height ( ) ) } , _setFocus : function ( ) { ( t . st . focus ? t . content . find ( t . st . focus ) . eq ( 0 ) : t . wrap ) . focus ( ) } , _onFocusIn : function ( n ) { return n . target === t . wrap [ 0 ] || e . contains ( t . wrap [ 0 ] , n . target ) ? void 0 : ( t . _setFocus ( ) , ! 1 ) } , _parseMarkup : function ( t , n , r ) { var o ; r . data && ( n = e . extend ( r . data , n ) ) , E ( f , [ t , n , r ] ) , e . each ( n , function ( n , r ) { if ( void 0 === r || r === ! 1 ) return ! 0 ; if ( o = n . split ( "_" ) , o . length > 1 ) { var i = t . find ( m + "-" + o [ 0 ] ) ; if ( i . length > 0 ) { var a = o [ 1 ] ; "replaceWith" === a ? i [ 0 ] !== r [ 0 ] && i . replaceWith ( r ) : "img" === a ? i . is ( "img" ) ? i . attr ( "src" , r ) : i . replaceWith ( e ( "<img>" ) . attr ( "src" , r ) . attr ( "class" , i . attr ( "class" ) ) ) : i . attr ( o [ 1 ] , r ) } } else t . find ( m + "-" + n ) . html ( r ) } ) } , _getScrollbarSize : function ( ) { if ( void 0 === t . scrollbarSize ) { var e = document . createElement ( "div" ) ; e . style . cssText = " width : 99 px ; height : 99 px ; overflow : scroll ; position : absolute ; top : - 9999 px