PageSourceSearch

https://include.org.gr/wp-content/litespeed/js/a671854e453dc5dcf81a3de3793dfda1.js?ver=c2b85

js include.org.gr collected 2026-10-04 16:56:54 UTC 385,226 bytes, 1,290 lines download raw bytes

1/*! jQuery Migrate v3.4.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
2"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,n){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,n=r.exec(e)||[],o=r.exec(t)||[],a=1;a<=3;a++){if(+o[a]<+n[a])return 1;if(+n[a]<+o[a])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="3.4.1";var t=Object.create(null);s.migrateDisablePatches=function(){for(var e=0;e<arguments.length;e++)t[arguments[e]]=!0},s.migrateEnablePatches=function(){for(var e=0;e<arguments.length;e++)delete t[arguments[e]]},s.migrateIsPatchEnabled=function(e){return!t[e]},n.console&&n.console.log&&(s&&e("3.0.0")&&!e("5.0.0")||n.console.log("JQMIGRATE: jQuery 3.x-4.x REQUIRED"),s.migrateWarnings&&n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),n.console.log("JQMIGRATE: Migrate is installed"+(s.migrateMute?"":" with logging active")+", version "+s.migrateVersion));var o={};function u(e,t){var r=n.console;!s.migrateIsPatchEnabled(e)||s.migrateDeduplicateWarnings&&o[t]||(o[t]=!0,s.migrateWarnings.push(t+" ["+e+"]"),r&&r.warn&&!s.migrateMute&&(r.warn("JQMIGRATE: "+t),s.migrateTrace&&r.trace&&r.trace()))}function r(e,t,r,n,o){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n,o),r},set:function(e){u(n,o),r=e}})}function a(e,t,r,n,o){var a=e[t];e[t]=function(){return o&&u(n,o),(s.migrateIsPatchEnabled(n)?r:a||s.noop).apply(this,arguments)}}function c(e,t,r,n,o){if(!o)throw new Error("No warning message provided");return a(e,t,r,n,o),0}function i(e,t,r,n){return a(e,t,r,n),0}s.migrateDeduplicateWarnings=!0,s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){o={},s.migrateWarnings.length=0},"BackCompat"===n.document.compatMode&&u("quirks","jQuery is not compatible with Quirks Mode");var d,l,p,f={},m=s.fn.init,y=s.find,h=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,g=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,v=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;for(d in i(s.fn,"init",function(e){var t=Array.prototype.slice.call(arguments);return s.migrateIsPatchEnabled("selector-empty-id")&&"string"==typeof e&&"#"===e&&(u("selector-empty-id","jQuery( '#' ) is not a valid selector"),t[0]=[]),m.apply(this,t)},"selector-empty-id"),s.fn.init.prototype=s.fn,i(s,"find",function(t){var r=Array.prototype.slice.call(arguments);if("string"==typeof t&&h.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(g,function(e,t,r,n){return"["+t+r+'"'+n+'"]'});try{n.document.querySelector(t),u("selector-hash","Attribute selector with '#' must be quoted: "+r[0]),r[0]=t}catch(e){u("selector-hash","Attribute selector with '#' was not fixed: "+r[0])}}return y.apply(this,r)},"selector-hash"),y)Object.prototype.hasOwnProperty.call(y,d)&&(s.find[d]=y[d]);c(s.fn,"size",function(){return this.length},"size","jQuery.fn.size() is deprecated and removed; use the .length property"),c(s,"parseJSON",function(){return JSON.parse.apply(null,arguments)},"parseJSON","jQuery.parseJSON is deprecated; use JSON.parse"),c(s,"holdReady",s.holdReady,"holdReady","jQuery.holdReady is deprecated"),c(s,"unique",s.uniqueSort,"unique","jQuery.unique is deprecated; use jQuery.uniqueSort"),r(s.expr,"filters",s.expr.pseudos,"expr-pre-pseudos","jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),r(s.expr,":",s.expr.pseudos,"expr-pre-pseudos","jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),e("3.1.1")&&c(s,"trim",function(e){return null==e?"":(e+"").replace(v,"$1")},"trim","jQuery.trim is deprecated; use String.prototype.trim"),e("3.2.0")&&(c(s,"nodeName",function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},"nodeName","jQuery.nodeName is deprecated"),c(s,"isArray",Array.isArray,"isArray","jQuery.isArray is deprecated; use Array.isArray")),e("3.3.0")&&(c(s,"isNumeric",function(e){var t=typeof e;return("number"==t||"string"==t)&&!isNaN(e-parseFloat(e))},"isNumeric","jQuery.isNumeric() is deprecated"),s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){f["[object "+t+"]"]=t.toLowerCase()}),c(s,"type",function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[Object.prototype.toString.call(e)]||"object":typeof e},"type","jQuery.type is deprecated"),c(s,"isFunction",function(e){return"function"==typeof e},"isFunction","jQuery.isFunction() is deprecated"),c(s,"isWindow",function(e){return null!=e&&e===e.window}
2,"isWindow","jQuery.isWindow() is deprecated")),s.ajax&&(l=s.ajax,p=/(=)\?(?=&|$)|\?\?/,i(s,"ajax",function(){var e=l.apply(this,arguments);return e.promise&&(c(e,"success",e.done,"jqXHR-methods","jQXHR.success is deprecated and removed"),c(e,"error",e.fail,"jqXHR-methods","jQXHR.error is deprecated and removed"),c(e,"complete",e.always,"jqXHR-methods","jQXHR.complete is deprecated and removed")),e},"jqXHR-methods"),e("4.0.0")||s.ajaxPrefilter("+json",function(e){!1!==e.jsonp&&(p.test(e.url)||"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&p.test(e.data))&&u("jsonp-promotion","JSON-to-JSONP auto-promotion is deprecated")}));var j=s.fn.removeAttr,b=s.fn.toggleClass,w=/\S+/g;function x(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}i(s.fn,"removeAttr",function(e){var r=this,n=!1;return s.each(e.match(w),function(e,t){s.expr.match.bool.test(t)&&r.each(function(){if(!1!==s(this).prop(t))return!(n=!0)}),n&&(u("removeAttr-bool","jQuery.fn.removeAttr no longer sets boolean properties: "+t),r.prop(t,!1))}),j.apply(this,arguments)},"removeAttr-bool"),i(s.fn,"toggleClass",function(t){return void 0!==t&&"boolean"!=typeof t?b.apply(this,arguments):(u("toggleClass-bool","jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var e=this.getAttribute&&this.getAttribute("class")||"";e&&s.data(this,"__className__",e),this.setAttribute&&this.setAttribute("class",!e&&!1!==t&&s.data(this,"__className__")||"")}))},"toggleClass-bool");var Q,A,R=!1,C=/^[a-z]/,N=/^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;s.swap&&s.each(["height","width","reliableMarginRight"],function(e,t){var r=s.cssHooks[t]&&s.cssHooks[t].get;r&&(s.cssHooks[t].get=function(){var e;return R=!0,e=r.apply(this,arguments),R=!1,e})}),i(s,"swap",function(e,t,r,n){var o,a,i={};for(a in R||u("swap","jQuery.swap() is undocumented and deprecated"),t)i[a]=e.style[a],e.style[a]=t[a];for(a in o=r.apply(e,n||[]),t)e.style[a]=i[a];return o},"swap"),e("3.4.0")&&"undefined"!=typeof Proxy&&(s.cssProps=new Proxy(s.cssProps||{},{set:function(){return u("cssProps","jQuery.cssProps is deprecated"),Reflect.set.apply(this,arguments)}})),e("4.0.0")?(A={animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},"undefined"!=typeof Proxy?s.cssNumber=new Proxy(A,{get:function(){return u("css-number","jQuery.cssNumber is deprecated"),Reflect.get.apply(this,arguments)},set:function(){return u("css-number","jQuery.cssNumber is deprecated"),Reflect.set.apply(this,arguments)}}):s.cssNumber=A):A=s.cssNumber,Q=s.fn.css,i(s.fn,"css",function(e,t){var r,n,o=this;return e&&"object"==typeof e&&!Array.isArray(e)?(s.each(e,function(e,t){s.fn.css.call(o,e,t)}),this):("number"==typeof t&&(r=x(e),n=r,C.test(n)&&N.test(n[0].toUpperCase()+n.slice(1))||A[r]||u("css-number",'Number-typed values are deprecated for jQuery.fn.css( "'+e+'", value )')),Q.apply(this,arguments))},"css-number");var S,P,k,H,E=s.data;i(s,"data",function(e,t,r){var n,o,a;if(t&&"object"==typeof t&&2===arguments.length){for(a in n=s.hasData(e)&&E.call(this,e),o={},t)a!==x(a)?(u("data-camelCase","jQuery.data() always sets/gets camelCased names: "+a),n[a]=t[a]):o[a]=t[a];return E.call(this,e,o),t}return t&&"string"==typeof t&&t!==x(t)&&(n=s.hasData(e)&&E.call(this,e))&&t in n?(u("data-camelCase","jQuery.data() always sets/gets camelCased names: "+t),2<arguments.length&&(n[t]=r),n[t]):E.apply(this,arguments)},"data-camelCase"),s.fx&&(k=s.Tween.prototype.run,H=function(e){return e},i(s.Tween.prototype,"run",function(){1<s.easing[this.easing].length&&(u("easing-one-arg","'jQuery.easing."+this.easing.toString()+"' should use only one argument"),s.easing[this.easing]=H),k.apply(this,arguments)},"easing-one-arg"),S=s.fx.interval,P="jQuery.fx.interval is deprecated",n.requestAnimationFrame&&Object.defineProperty(s.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return n.document.hidden||u("fx-interval",P),s.migrateIsPatchEnabled("fx-interval")&&void 0===S?13:S},set:function(e){u("fx-interval",P),S=e}}));var M=s.fn.load,q=s.event.add,O=s.event.fix;s.event.props=[],s.event.fixHooks={}
2,r(s.event.props,"concat",s.event.props.concat,"event-old-patch","jQuery.event.props.concat() is deprecated and removed"),i(s.event,"fix",function(e){var t,r=e.type,n=this.fixHooks[r],o=s.event.props;if(o.length){u("event-old-patch","jQuery.event.props are deprecated and removed: "+o.join());while(o.length)s.event.addProp(o.pop())}if(n&&!n._migrated_&&(n._migrated_=!0,u("event-old-patch","jQuery.event.fixHooks are deprecated and removed: "+r),(o=n.props)&&o.length))while(o.length)s.event.addProp(o.pop());return t=O.call(this,e),n&&n.filter?n.filter(t,e):t},"event-old-patch"),i(s.event,"add",function(e,t){return e===n&&"load"===t&&"complete"===n.document.readyState&&u("load-after-event","jQuery(window).on('load'...) called after load event occurred"),q.apply(this,arguments)},"load-after-event"),s.each(["load","unload","error"],function(e,t){i(s.fn,t,function(){var e=Array.prototype.slice.call(arguments,0);return"load"===t&&"string"==typeof e[0]?M.apply(this,e):(u("shorthand-removed-v3","jQuery.fn."+t+"() is deprecated"),e.splice(0,0,t),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))},"shorthand-removed-v3")}),s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,r){c(s.fn,r,function(e,t){return 0<arguments.length?this.on(r,null,e,t):this.trigger(r)},"shorthand-deprecated-v3","jQuery.fn."+r+"() event shorthand is deprecated")}),s(function(){s(n.document).triggerHandler("ready")}),s.event.special.ready={setup:function(){this===n.document&&u("ready-event","'ready' event is deprecated")}},c(s.fn,"bind",function(e,t,r){return this.on(e,null,t,r)},"pre-on-methods","jQuery.fn.bind() is deprecated"),c(s.fn,"unbind",function(e,t){return this.off(e,null,t)},"pre-on-methods","jQuery.fn.unbind() is deprecated"),c(s.fn,"delegate",function(e,t,r,n){return this.on(t,e,r,n)},"pre-on-methods","jQuery.fn.delegate() is deprecated"),c(s.fn,"undelegate",function(e,t,r){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)},"pre-on-methods","jQuery.fn.undelegate() is deprecated"),c(s.fn,"hover",function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)},"pre-on-methods","jQuery.fn.hover() is deprecated");function T(e){var t=n.document.implementation.createHTMLDocument("");return t.body.innerHTML=e,t.body&&t.body.innerHTML}var F=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;s.UNSAFE_restoreLegacyHtmlPrefilter=function(){s.migrateEnablePatches("self-closed-tags")},i(s,"htmlPrefilter",function(e){var t,r;return(r=(t=e).replace(F,"<$1></$2>"))!==t&&T(t)!==T(r)&&u("self-closed-tags","HTML tags must be properly nested and closed: "+t),e.replace(F,"<$1></$2>")},"self-closed-tags"),s.migrateDisablePatches("self-closed-tags");var D,W,_,I=s.fn.offset;return i(s.fn,"offset",function(){var e=this[0];return!e||e.nodeType&&e.getBoundingClientRect?I.apply(this,arguments):(u("offset-valid-elem","jQuery.fn.offset() requires a valid DOM element"),arguments.length?this:void 0)},"offset-valid-elem"),s.ajax&&(D=s.param,i(s,"param",function(e,t){var r=s.ajaxSettings&&s.ajaxSettings.traditional;return void 0===t&&r&&(u("param-ajax-traditional","jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),t=r),D.call(this,e,t)},"param-ajax-traditional")),c(s.fn,"andSelf",s.fn.addBack,"andSelf","jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),s.Deferred&&(W=s.Deferred,_=[["resolve","done",s.Callbacks("once memory"),s.Callbacks("once memory"),"resolved"],["reject","fail",s.Callbacks("once memory"),s.Callbacks("once memory"),"rejected"],["notify","progress",s.Callbacks("memory"),s.Callbacks("memory")]],i(s,"Deferred",function(e){var a=W(),i=a.promise();function t(){var o=arguments;return s.Deferred(function(n){s.each(_,function(e,t){var r="function"==typeof o[e]&&o[e];a[t[1]](function(){var e=r&&r.apply(this,arguments);e&&"function"==typeof e.promise?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[t[0]+"With"](this===i?n.promise():this,r?[e]:arguments)})}),o=null}).promise()}return c(a,"pipe",t,"deferred-pipe","deferred.pipe() is deprecated"),c(i,"pipe",t,"deferred-pipe","deferred.pipe() is deprecated"),e&&e.call(a,a),a},"deferred-pipe"),s.Deferred.exceptionHook=W.exceptionHook),s})
3;/**
4 * @author  Nevma, [email protected]
5 * @license http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
6 */
7var RESPONSIVILLE_URL=typeof RESPONSIVILLE_URL!=="undefined"?RESPONSIVILLE_URL:window.location.host;var RESPONSIVILLE_DEBUG=typeof RESPONSIVILLE_DEBUG!=="undefined"?RESPONSIVILLE_DEBUG:!1;var RESPONSIVILLE_AUTO_INIT=typeof RESPONSIVILLE_AUTO_INIT!=="undefined"?RESPONSIVILLE_AUTO_INIT:!1;var Responsiville={};Responsiville.VERSION='2.0';Responsiville.THROTTLE_DURATION=100;Responsiville.extend=function(object,namespace){for(var key in namespace){object.prototype[key]=namespace[key]}};Responsiville.throttle=function(theFunction,threshold,scope){if(typeof threshold==='undefined'){threshold=Responsiville.THROTTLE_DURATION}
8var last=0;var counter=-1;var timeoutHandler=null;return function(){var context=scope||this;var args=arguments;var now=new Date().getTime();clearTimeout(timeoutHandler);
8if(now-last<threshold){timeoutHandler=setTimeout(function(){last=now;theFunction.apply(context,args)},threshold)}else{last=now;theFunction.apply(context,args)}}};Responsiville.debounce=function(theFunction,delay,scope){if(typeof delay==='undefined'){delay=Responsiville.THROTTLE_DURATION}
9var timeoutHandler=null;return function(){var context=scope||this;var args=arguments;clearTimeout(timeoutHandler);timeoutHandler=setTimeout(function(){theFunction.apply(context,args)},delay)}};Responsiville.onImagesLoaded=function(images,callbacks){var k,length,tempImage;function handleImage(image){if(typeof image==='string'){tempImage=new Image();tempImage.src=image;return tempImage}else if(typeof image==='Image'){return image}else if(typeof image==='object'){tempImage=new Image();tempImage.src=image.src;return tempImage}}
10var tempImages=[];if(jQuery.isArray(images)){for(k=0,length=images.length;k<length;k++){var image=images[k];image=handleImage(image);tempImages.push(image)}}else if(images instanceof jQuery){images.filter('img').each(function(){tempImages.push(this)})}else{var image=handleImage(images);tempImages.push(image)}
11if(typeof callbacks==='function'){callbacks={single:callbacks}}
12var imagesLoadedCounter=0;function imageLoaded(event){imagesLoadedCounter++;if(event.type=='load'){if(typeof callbacks.single!='undefined'){callbacks.single(event.target)}}else{if(typeof callbacks.error!='undefined'){callbacks.error(event.target)}}
13if(imagesLoadedCounter==tempImages.length){if(typeof callbacks.full!='undefined'){callbacks.full(tempImages)}}}
14for(k=0,length=tempImages.length;k<length;k++){tempImage=tempImages[k];var $tempImage=jQuery(tempImage);$tempImage.on('load',imageLoaded);$tempImage.on('error',imageLoaded)}};Responsiville.hasImageLoaded=function(image){return image.complete||image.readyState===4};Responsiville.splitAndTrim=function(input,separator){if(typeof separator==='undefined'){separator=','}
15var inputArray=jQuery.isArray(input)?input:input.split(separator);for(var k=0,length=inputArray.length;k<length;k++){inputArray[k]=inputArray[k].replace(/^\s+|\s+$/,'')}
16return inputArray};Responsiville.determineEnableDisableBreakpoints=function(breakpoints){if((breakpoints.enter===undefined||!breakpoints.enter)&&(breakpoints.leave===undefined||!breakpoints.leave)){return null}
17var allBreakpoints=Responsiville.Main.getInstance().options.breakpoints;if(breakpoints.enter==='*'){var enter='';for(var k=0,length=allBreakpoints.length;k<length;k++){enter+=allBreakpoints[k].name+(k<length-1?', ':'')}
18return{enter:enter,leave:''}}
19if(breakpoints.leave==='*'){var leave='';for(var k=0,length=allBreakpoints.length;k<length;k++){leave+=allBreakpoints[k].name+(k<length-1?', ':'')}
20return{enter:'',leave:leave}}
21if(breakpoints.enter!==undefined&&breakpoints.enter){if(breakpoints.enter.indexOf('>>')>-1){var enterSplit=breakpoints.enter.split(' ');var enterBreakpoint=enterSplit[0];var enterArray=[];var leaveArray=[];var includeBreakpointsFromHere=!1;for(var k=0,length=allBreakpoints.length;k<length;k++){includeBreakpointsFromHere=includeBreakpointsFromHere||allBreakpoints[k].name==enterBreakpoint;if(includeBreakpointsFromHere){enterArray.push(allBreakpoints[k].name)}else{leaveArray.push(allBreakpoints[k].name)}}
22return{enter:enterArray.join(', '),leave:leaveArray.join(', ')}}
23if(breakpoints.enter.indexOf('<<')>-1){var enterSplit=breakpoints.enter.split(' ');var enterBreakpoint=enterSplit[1];var enterArray=[];var leaveArray=[];var includeBreakpointsFromHere=!1;for(var k=allBreakpoints.length-1;k>=0;k--){includeBreakpointsFromHere=includeBreakpointsFromHere||allBreakpoints[k].name==enterBreakpoint;if(includeBreakpointsFromHere){enterArray.push(allBreakpoints[k].name)}else{leaveArray.push(allBreakpoints[k].name)}}
24return{enter:enterArray.reverse().join(', '),leave:leaveArray.reverse().join(', ')}}}
25if(breakpoints.leave!==undefined&&breakpoints.leave){if(breakpoints.leave.indexOf('>>')>-1){var leaveSplit=breakpoints.leave.split(' ');var leaveBreakpoint=leaveSplit[0];var enterArray=[];var leaveArray=[];var includeBreakpointsFromHere=!1;for(var k=0,length=allBreakpoints.length;k<length;k++){includeBreakpointsFromHere=includeBreakpointsFromHere||allBreakpoints[k].name==leaveBreakpoint;if(includeBreakpointsFromHere){leaveArray.push(allBreakpoints[k].name)}else{enterArray.push(allBreakpoints[k].name)}}
26return{enter:enterArray.join(', '),leave:leaveArray.join(', ')}}
27if(breakpoints.leave.indexOf('<<')>-1){var leaveSplit=breakpoints.leave.split(' ');var leaveBreakpoint=leaveSplit[1];var enterArray=[];var leaveArray=[];var includeBreakpointsFromHere=!1;for(var k=allBreakpoints.length-1;k>=0;k--){includeBreakpointsFromHere=includeBreakpointsFromHere||allBreakpoints[k].name==leaveBreakpoint;if(includeBreakpointsFromHere){leaveArray.push(allBreakpoints[k].name)}else{enterArray.push(allBreakpoints[k].name)}}
28return{enter:enterArray.reverse().join(', '),leave:leaveArray.reverse().join(', ')}}}
29var breakpointsEnter=breakpoints.enter!==undefined&&breakpoints.enter?Responsiville.splitAndTrim(breakpoints.enter):undefined;var breakpointsLeave=breakpoints.leave!==undefined&&breakpoints.leave?Responsiville.splitAndTrim(breakpoints.leave):undefined;if((breakpointsEnter===undefined||!breakpoints.enter)&&(breakpointsLeave===undefined||!breakpoints.leave)){return null}
30if(breakpointsEnter===undefined||!breakpoints.enter){breakpointsEnter=[];for(var k=0,length=allBreakpoints.length;k<length;k++){var globalBreakpoint=allBreakpoints[k];if(breakpointsLeave.indexOf(globalBreakpoint.name)<0){breakpointsEnter.push(globalBreakpoint.name)}}}
31if(breakpointsLeave===undefined||!breakpoints.leave){breakpointsLeave=[];for(var k=0,length=allBreakpoints.length;k<length;k++){var globalBreakpoint=allBreakpoints[k];if(breakpointsEnter.indexOf(globalBreakpoint.name)<0){breakpointsLeave.push(globalBreakpoint.name)}}}
32return{enter:breakpointsEnter.join(', '),leave:breakpointsLeave.join(', ')}};Responsiville.createResponsiveObject=function(responsiveObject){var responsiville=Responsiville.Main.getInstance();responsiveObject.responsiville=responsiville;var breakpoints=Responsiville.determineEnableDisableBreakpoints({enter:typeof responsiveObject.enter!=='undefined'?responsiveObject.enter:'undefined',leave:typeof responsiveObject.leave!=='undefined'?responsiveObject.leave:'undefined'});if(breakpoints===null){return responsiveObject}
33var k,length;if(typeof responsiveObject.enable!=='undefined'){var enableFunctionBound=responsiveObject.enable.bind(responsiveObject);var breakpointsEnter=Responsiville.splitAndTrim(breakpoints.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){responsiville.on('enter.'+breakpointsEnter[k],enableFunctionBound)}
34if(responsiville.is(breakpoints.enter)){enableFunctionBound()}}
35if(typeof responsiveObject.disable!=='undefined'){var disableFunctionBound=responsiveObject.disable.bind(responsiveObject);var breakpointsLeave=Responsiville.splitAndTrim(breakpoints.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){responsiville.on('enter.'+breakpointsLeave[k],disableFunctionBound)}
36if(responsiville.is(breakpoints.leave)){disableFunctionBound()}}
37return responsiveObject}
38;/**
39 * @author  Nevma, [email protected]
40 * @license http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
41 */
42Responsiville.Debug={};if(typeof console.group==='undefined'||typeof console.groupEnd==='undefined'){console.group=console.log;console.groupEnd=console.log}
43Responsiville.Debug.Extensions={};Responsiville.Debug.Extensions.printAPI=function(){var debug=this.options.debug;this.options.debug=!0;var toLog=['API'];for(var parameter in this){if(jQuery.isFunction(this[parameter])){toLog.push(parameter);toLog.push(this[parameter])}}
44this.log.apply(this,toLog);this.options.debug=debug};Responsiville.Debug.Extensions.log=function(){if(!this.options.debug){return}
45console.group('['+this.codeName+'/'+this.options.slug+']');for(var k=0,length=arguments.length;k<length;k++){console.log(arguments[k])}
46console.groupEnd()};Responsiville.Debug.Extensions.dir=function(){if(!this.options.debug){return}
47console.group('['+this.codeName+'/'+this.options.slug+']');for(var k=0,length=arguments.length;k<length;k++){var argument=arguments[k];if(jQuery.type(arguments[k])=='string'){console.log(argument)}else if(jQuery.isFunction(argument)){console.log(argument)}else{console.dir(argument)}}
48console.groupEnd()};Responsiville.Debug.setupDebug=function(){var responsiville=Responsiville.Main.getInstance();
48if(!responsiville.options.debugUI){return}
49responsiville.$body.append('<aside class="responsiville-debug-controls '+responsiville.options.debugPos+'">'+'<section class="responsiville-debug-control responsiville-debug-layout">'+'<p>'+'<label for="responsiville-debug-grid">'+'Grid debug <input type="checkbox" id="responsiville-debug-grid" name="responsiville-debug-grid" value="responsiville-debug-grid">'+'</label>'+'</p>'+'<p>'+'<label for="responsiville-debug-blocks">'+'Text debug <input type="checkbox" id="responsiville-debug-blocks" name="responsiville-debug-blocks" value="responsiville-debug-blocks">'+'</label>'+'</p>'+'<p>'+'<label for="responsiville-debug-semantic">'+'Semantic debug <input type="checkbox" id="responsiville-debug-semantic" name="responsiville-debug-semantic" value="responsiville-debug-semantic">'+'</label>'+'</p>'+'</section>'+'<section class="responsiville-debug-control responsiville-debug-dimensions">'+'<p>[please wait&hellip;]</p>'+'</section>'+'<section class="responsiville-debug-control responsiville-debug-performance">'+'<p>[timings, please wait&hellip;]</p>'+'</section>'+'<section class="responsiville-debug-control responsiville-debug-text">'+'<p>'+'<a class="button button-small" href="http://vanilla.nevma.gr/wp-content/docs/vanilla-apigen/" title="Vanilla documentation" target="_blank">Vanilla docs</a>'+'<a class="button button-small" href="http://vanilla.nevma.gr/wp-content/docs/responsiville-jsdoc/" title="Responsiville documentation" target="_blank">Responsiville docs</a>'+'<a class="button button-small" href="http://vanilladev.nevma.gr/" title="Vanilla demo" target="_blank">Vanilla demo</a>'+'<a class="button button-small" href="http://vanilla.nevma.gr/wp-content/themes/vforvanilla/inc/vanilla/responsiville/demo" title="Responsiville demo page" target="_blank">Responsiville demo</a>'+'</p>'+'</section>'+'<button class="responsiville-debug-toggle"></button>'+'</aside>');this.$debugControls=jQuery('.responsiville-debug-controls');this.$debugPerformance=jQuery('.responsiville-debug-dimensions');this.$debugToggle=jQuery('.responsiville-debug-toggle');jQuery('.responsiville-debug-layout input[type="checkbox"]').on('change',function(){if(jQuery(this).is(':checked')){jQuery('body').addClass(jQuery(this).val())}else{jQuery('body').removeClass(jQuery(this).val())}}).trigger('change');jQuery('.row').each(function(){jQuery(this).append('<p class="responsiville-class-info start">&lt;row&gt;</p>').append('<p class="responsiville-class-info end">&lt;/row&gt;</p>')});jQuery('[class*="column"]').each(function(){var classString='';var classList=jQuery(this).attr('class').split(' ');for(var k=0,length=classList.length;k<length;k++){var className=classList[k];if(className.indexOf('column')>-1){classString+=className+' '}}
50classString=jQuery.trim(classString);jQuery(this).append('<p class="responsiville-class-info start">&lt;'+classString+'&gt;</p>').append('<p class="responsiville-class-info end">&lt;/'+classString+'&gt;</p>')});jQuery('header, footer, nav, main, aside, article, section, h1, h2, h3, h4, h5, h6').each(function(){if(jQuery(this).is('.responsiville-debug-controls')||jQuery(this).parent('.responsiville-debug-controls').length>0){return}
51jQuery(this).append('<p class="responsiville-debug-semantic-info">'+this.tagName.toLowerCase()+'</p>')});this.$debugToggle.on('click',(function(){if(this.$debugToggle.is('.responsiville-debug-toggle-closed')){this.openDebugPanel()}else{this.closeDebugPanel()}}).bind(this));if(responsiville.getProperty('debug-panel-on')){this.openDebugPanel()}else{this.closeDebugPanel()}
52responsiville.$window.on('load',(function(){window.setTimeout(this.showDebugLoadPerformance,10)}).bind(this));responsiville.on('resize',this.showDebugUIDimensions.bind(this));jQuery(this.showDebugUIDimensions.bind(this))};Responsiville.Debug.showDebugUIDimensions=function(){var responsiville=Responsiville.Main.getInstance();if(!responsiville.options.debugUI){return}
53this.$debugPerformance.html('<p>'+window.innerWidth+'x'+window.innerHeight+'px '+responsiville.currentBreakpoint.name+' '+'<span class="responsiville-debug-dimensions-icon '+responsiville.currentBreakpoint.name+'">'+responsiville.currentBreakpoint.icon+'</span> '+'</p>')};Responsiville.Debug.showDebugLoadPerformance=function(){var performance=window.performance||window.mozPerformance||window.msPerformance||window.webkitPerformance;var responseStart=((performance.timing.responseStart-performance.timing.requestStart)/1000).toFixed(2);var responseEnd=((performance.timing.responseEnd-performance.timing.requestStart)/1000).toFixed(2);var domLoading=((performance.timing.domLoading-performance.timing.requestStart)/1000).toFixed(2);var domInteractive=((performance.timing.domInteractive-performance.timing.requestStart)/1000).toFixed(2);var domContentLoaded=((performance.timing.domContentLoadedEventEnd-performance.timing.requestStart)/1000).toFixed(2);var domComplete=((performance.timing.domComplete-performance.timing.requestStart)/1000).toFixed(2);var load=((performance.timing.loadEventEnd-performance.timing.requestStart)/1000).toFixed(2);var responseStartDiff=(responseStart-0).toFixed(2);var domContentLoadedDiff=(domContentLoaded-responseStart).toFixed(2);var loadDiff=(load-domContentLoaded).toFixed(2);jQuery('.responsiville-debug-performance').html('<table class="vanilla" cellspacing="0" cellpadding="0">'+'<thead>'+'<tr>'+'<th></th><th></th><th>Time</th><th>dt</th>'+'<tr>'+'</thead>'+'<tbody>'+'<tr title="Browser sends the request">'+'<td>Request Start</td><td>&mdash;&gt;'+'</td><td>'+'0.00'+'</td><td>'+'&mdash;'+'</td>'+'</tr>'+'<tr title="Time to first byte - browser received the first byte of the response">'+'<td>TtFB</td><td>&mdash;&gt;'+'</td><td>'+responseStart+'</td><td>'+responseStartDiff+'</td>'+'</tr>'+'<tr title="Synchronous scripts run, DOM &amp; CSSOM ready, render tree formed">'+'<td>DOMContentLoaded</td><td>&mdash;&gt;'+'</td><td>'+domContentLoaded+'</td><td>'+domContentLoadedDiff+'</td>'+'</tr>'+'<tr title="Page is fully loaded and rendered, images are loaded">'+'<td>Load</td><td>&mdash;&gt;'+'</td><td>'+load+'</td><td>'+loadDiff+'</td>'+'</tr>'+'</tbody>'+'</table>')};Responsiville.Debug.openDebugPanel=function(){this.$debugToggle.removeClass('responsiville-debug-toggle-closed');
53this.$debugControls.removeClass('responsiville-debug-controls-closed');Responsiville.Main.getInstance().setProperty('debug-panel-on',!0)};Responsiville.Debug.closeDebugPanel=function(){this.$debugToggle.addClass('responsiville-debug-toggle-closed');this.$debugControls.addClass('responsiville-debug-controls-closed');Responsiville.Main.getInstance().setProperty('debug-panel-on',!1)}
54;/**
55 * @author  Nevma, [email protected]
56 * @license http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
57 */
58Responsiville.Events={};Responsiville.Events.registerEvent=function(eventName){if(typeof this.events==='undefined'){this.events={}}
59if(typeof this.events[eventName]==='undefined'){this.events[eventName]=[]}};Responsiville.Events.deregisterEvent=function(eventName){if(typeof this.events!=='undefined'){delete this.events[eventName]}};Responsiville.Events.on=function(eventName,callback){this.registerEvent(eventName);this.events[eventName].push(callback)};Responsiville.Events.off=function(eventName,callback){var index=this.events[eventName].indexOf(callback);this.events[eventName].splice(index,1)};Responsiville.Events.fireEvent=function(eventName,args){if(typeof this.events==='undefined'){return}
60for(var k in this.events[eventName]){this.events[eventName][k].apply(this,args)}};Responsiville.Events.getBoundFunction=function(theFunction){if(typeof this.boundFunctions==='undefined'){this.boundFunctions=[];this.originalFunctions=[]}
61var index=jQuery.inArray(theFunction,this.originalFunctions);if(index>-1){return this.boundFunctions[index]}
62var theFunctionBound=theFunction.bind(this);this.boundFunctions.push(theFunctionBound);this.originalFunctions.push(theFunction);return theFunctionBound}
63;/**
64 * Creates and initialises the main Responsiville object. 
65 * 
66 * @class
67 * @extends   Responsiville.Debug
68 * @extends   Responsiville.Events
69 * 
70 * @author    Nevma, [email protected]
71 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
72 * 
73 * @fires     Responsiville.Main#init
74 * 
75 * @classdesc This is the main object of the Responsiville framework. The whole 
76 *            Responsiville framework depends on this object to function and so
77 *            do all the plugins that belong to the framework as well. It 
78 *            contains core functions that handle the breakpoints and the 
79 *            responsiveness of the web page in development.
80 *
81 * @param {Object} options The initialisation options of the module.
82 *
83 * @property {Object}  options             The options that define the object
84 *                                         behaviour.
85 * @property {boolean} options.url         The url of the folder where the
86 *                                         Responsiville framework is located.
87 * @property {boolean} options.debug       Whether to print debug messages in 
88 *                                         the browser console.
89 * @property {boolean} options.debugUI     Whether to show the debug panel at 
90 *                                         the edge of the screen.
91 * @property {string}  options.debugPos    Where to position the debug panel (br
92 *                                         means bottom-right, tl means top-left
93 *                                         and so on).
94 * @property {int}     options.throttle    Time delay to throttle expensive 
95 *                                         function calls as a result of 
96 *                                         repeated operations like the browser 
97 *                                         resize event.
98 * @property {boolean} options.slug        A special codename for the instance
99 *                                         of the element, to be used as a class
100 *                                         on  its container and as a key in
101 *                                         arrays where it is grouped with other
102 *                                         elements of its kind. 
103 * @property {Array}   options.breakpoints Array of extra breakpoints to include
104 *                                         to the framework. Each breakpoint is 
105 *                                         an associative array like { name: 
106 *                                         'small', width: 320, icon: 'uE800' }.
107 *                                         One might need to add breakpoints to 
108 *                                         this array but they probably should
109 *                                         not remove any beacuse this might
110 *                                         break behaviour of other code that
111 *                                         depends on them.
112 */
113Responsiville.Main=function(options){if(!Responsiville.Main.instance){Responsiville.Main.instance=this}else{throw new Error('Responsiville instantiation error: the framework has already been initialised, new Responsiville.Main is a singleton.')}
114this.options={};this.options=jQuery.extend(this.options,Responsiville.Main.defaults,options);
114this.codeName='responsiville.main';this.width=0;this.height=0;this.$html=jQuery('html');this.$body=jQuery('body');this.$window=jQuery(window);this.$document=jQuery(document);if(this.options.slug==''){Responsiville.Main.elementsCounter=Responsiville.Main.elementsCounter!==undefined?++Responsiville.Main.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Main.elementsCounter}
115this.adjustCallbacksCalled=!1;this.previousBreakpoint=null;this.currentBreakpoint=null;var toLog='\n'+'    ____                                   _       _ ____\n'+'   / __ \\___  _________  ____  ____  _____(_)   __(_) / /__\n'+'  / /_/ / _ \\/ ___/ __ \\/ __ \\/ __ \\/ ___/ / | / / / / / _ \\\n'+' / _, _/  __(__  ) /_/ / /_/ / / / (__  ) /| |/ / / / /  __/\n'+'/_/ |_|\\___/____/ .___/\\____/_/ /_/____/_/ |___/_/_/_/\\___/\n'+'               /_/\n'+'                                               version '+Responsiville.VERSION+'\n\n';toLog+='breakpoints:\n';for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];toLog+=breakpoint.name+'\t'+breakpoint.width+'px'+(k<length-1?'\n':'')}
116this.log(toLog);this.$debugControls=null;this.$debugPerformance=null;this.$debugToggle=null;this.$document.on('DOMContentLoaded',(function(){this.$html.addClass('responsiville-domcontentloaded')}).bind(this));this.$window.on('load',(function(){this.$html.addClass('responsiville-load');this.$html.removeClass('responsiville-unload')}).bind(this));this.$window.on('pageshow',(function(){this.$html.addClass('responsiville-load');this.$html.removeClass('responsiville-unload')}).bind(this));this.$window.on('pagehide',(function(){this.$html.removeClass('responsiville-unload')}).bind(this));this.calculateDimensions();this.adjust()};Responsiville.extend(Responsiville.Main,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Main,Responsiville.Events);Responsiville.Main.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Main.defaults={url:window.location.host,debug:!1,debugUI:!1,debugPos:'br',throttle:100,slug:'',breakpoints:[{name:'small',width:320,icon:'\uE800'},{name:'mobile',width:599,icon:'\uE801'},{name:'tablet',width:1023,icon:'\uE802'},{name:'laptop',width:1279,icon:'\uE803'},{name:'desktop',width:1439,icon:'\uE804'},{name:'large',width:1679,icon:'\uE804'},{name:'xlarge',width:99999,icon:'\uE804'}]};Responsiville.Main.autoRun=function(){var responsiville=new Responsiville.Main({url:RESPONSIVILLE_URL,debug:RESPONSIVILLE_DEBUG,debugUI:RESPONSIVILLE_DEBUG});jQuery((function(){this.init()}).bind(responsiville))};Responsiville.Main.getInstance=function(){return Responsiville.Main.instance};Responsiville.Main.prototype.init=function(){var bodyElementNotYetCreated=typeof this.$body==='undefined'||this.$body.length===0;if(bodyElementNotYetCreated){this.$body=jQuery('body');this.$document=jQuery(document)}
117this.on('init',function(){Responsiville.Debug.setupDebug()});this.$window.on('resize',Responsiville.debounce(this.windowResize,this.options.throttle,this));this.fireEvent('init');this.runBreakpointChangeCallbacks();this.log('framework Responsiville has initialised')};Responsiville.Main.prototype.registerBreakpoint=function(breakpointName,breakpointWidth){var index=0;for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];if(breakpointWidth<breakpoint.width){index=k;break}}
118this.options.breakpoints.splice(k,0,{name:breakpointName,width:breakpointWidth});this.dir('breakpoint registered:',{name:breakpointName,width:breakpointWidth},'breakpoints:',this.options.breakpoints)};Responsiville.Main.prototype.deregisterBreakpoint=function(breakpointName){for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];if(breakpointName==breakpoint.name){this.options.breakpoints.splice(k+1,1);break}}
119this.dir('breakpoint deregistered: '+breakpointName,'new breakpoints: ',this.options.breakpoints)};Responsiville.Main.prototype.adjust=function(){this.log('adjusting to viewport');var removeClasses='';var k;var breakpoint;for(k=this.options.breakpoints.length-1;k>=0;k--){breakpoint=this.options.breakpoints[k];removeClasses+=breakpoint.name+' '}
120var addClasses='';for(k=0,length=this.options.breakpoints.length;k<length;k++){breakpoint=this.options.breakpoints[k];if(this.width>breakpoint.width){addClasses+=breakpoint.name+' '}else{break}}
121if(this.width<=breakpoint.width){addClasses+=breakpoint.name+' '}
122if(this.width>=this.height){addClasses+='landscape ';removeClasses+='portrait '}else{addClasses+='portrait ';removeClasses+='landscape '}
123if(this.isDevice()){addClasses+='device ';removeClasses+='pc '}else{addClasses+='pc ';removeClasses+='device '}
124this.$html.removeClass(removeClasses);this.$html.addClass(addClasses);var firstRun=!1;if(!this.currentBreakpoint){firstRun=!0;this.currentBreakpoint=this.calculateCurrentBreakpoint()}
125var newBreakpoint=this.calculateCurrentBreakpoint();var oldBreakpoint=this.currentBreakpoint;var breakpointChanged=firstRun||oldBreakpoint.name!=newBreakpoint.name||!this.adjustCallbacksCalled;if(breakpointChanged){this.previousBreakpoint=this.currentBreakpoint;this.currentBreakpoint=newBreakpoint}
126if(breakpointChanged){this.runBreakpointChangeCallbacks();this.adjustCallbacksCalled=!0;this.fireEvent('change');this.fireEvent('change.breakpoint')}
127this.log('window resized','window width: '+this.width,(breakpointChanged?'breakpoint changed from: '+this.previousBreakpoint.name+'':'no breakpoint change'),'current breakpoint: '+this.currentBreakpoint.name)};Responsiville.Main.prototype.runBreakpointChangeCallbacks=function(){this.fireEvent('leave.'+this.previousBreakpoint.name);this.fireEvent('enter.'+this.currentBreakpoint.name)};Responsiville.Main.prototype.calculateDimensions=function(){this.width=window.innerWidth;this.height=window.innerHeight};Responsiville.Main.prototype.windowResize=function(){this.calculateDimensions();this.adjust();this.fireEvent('resize')};Responsiville.Main.prototype.isHiDPI=function(){if(window.devicePixelRatio>1){return!0}
128var mediaQuery='(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)';if(window.matchMedia&&window.matchMedia(mediaQuery).matches){return!0}
129return!1};Responsiville.Main.prototype.isDevice=function(){var deviceAgentQuery=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i;return deviceAgentQuery.test(navigator.userAgent)};Responsiville.Main.prototype.compareTo=function(testBreakpointName){var testBreakpointIndex=0;var currentBreakpointIndex=0;for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];if(breakpoint.name==this.currentBreakpoint.name){currentBreakpointIndex=k}
130if(breakpoint.name==testBreakpointName){testBreakpointIndex=k}}
131return currentBreakpointIndex-testBreakpointIndex};Responsiville.Main.prototype.is=function(breakpointNames){var breakpointNamesArray=Responsiville.splitAndTrim(breakpointNames);for(var k=0,length=breakpointNamesArray.length;k<length;k++){var testBreakpointName=breakpointNamesArray[k];if(this.compareTo(testBreakpointName)){return!0}}
132return!1};Responsiville.Main.prototype.isSmallerThan=function(testBreakpointName){return this.compareTo(testBreakpointName)<0};Responsiville.Main.prototype.isEqualOrSmallerThan=function(testBreakpointName){return this.compareTo(testBreakpointName)<=0};Responsiville.Main.prototype.isBiggerThan=function(testBreakpointName){return this.compareTo(testBreakpointName)>0};Responsiville.Main.prototype.isEqualOrBiggerThan=function(testBreakpointName){return this.compareTo(testBreakpointName)>=0};Responsiville.Main.prototype.hasGrown=function(){if(this.currentBreakpoint.name==this.previousBreakpoint.name){return!1}
133var currentBreakpointWidth=0;var previousBreakpointWidth=0;for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];if(this.currentBreakpoint.name==breakpoint.name){currentBreakpointWidth=breakpoint.width}else if(this.previousBreakpoint.name==breakpoint.name){previousBreakpointWidth=breakpoint.width}}
134if(previousBreakpointWidth===0){return!0}
135return currentBreakpointWidth>previousBreakpointWidth};Responsiville.Main.prototype.calculateCurrentBreakpoint=function(){var tempBreakpoint;for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];if(this.width<=breakpoint.width){tempBreakpoint=breakpoint;break}}
136return tempBreakpoint};Responsiville.Main.prototype.getProperty=function(name){var localStorage=window.localStorage;var settings=localStorage.getItem(this.codeName);if(settings){settings=JSON.parse(settings);return settings[name]}};Responsiville.Main.prototype.setProperty=function(name,value){var localStorage=window.localStorage;var settings=localStorage.getItem(this.codeName);if(!settings){settings={}}else{settings=JSON.parse(settings)}
137settings[name]=value;localStorage.setItem(this.codeName,JSON.stringify(settings))};Responsiville.Main.prototype.printBreakpoints=function(){var debug=this.options.debug;this.options.debug=!0;
137var toLog=['Breakpoints'];for(var k=0,length=this.options.breakpoints.length;k<length;k++){var breakpoint=this.options.breakpoints[k];toLog.push(breakpoint.name+' - '+breakpoint.width)}
138this.log(toLog.join('\n'));this.options.debug=debug}
139;/**
140 * @author  Nevma, [email protected]
141 * @license http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
142 */
143if(Responsiville.Main.AUTO_RUN){Responsiville.Main.autoRun()}
144;!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 144
144ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
144slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
144parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
144,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 5,619 bytes, line 144
144,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};
144!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
144):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
144o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
144,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}});
145;jQuery(function($){})
146;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Velocity=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e};function i(e){return!0===e||!1===e}function o(e){return"[object Function]"===Object.prototype.toString.call(e)}function a(e){return!(!e||!e.nodeType)}function l(e){return"number"==typeof e}function s(t){if(!t||"object"!==(void 0===t?"undefined":e(t))||t.nodeType||"[object Object]"!==Object.prototype.toString.call(t))return!1;var n=Object.getPrototypeOf(t);return!n||n.hasOwnProperty("constructor")&&n.constructor===Object}function u(e){return"string"==typeof e}function c(e){return e&&l(e.length)&&o(e.velocity)}function f(e){return e&&e!==window&&l(e.length)&&!u(e)&&!o(e)&&!a(e)&&(0===e.length||a(e[0]))}function d(e){return Array.prototype.slice.call(e,0)}function v(e,t,n,r){e&&Object.defineProperty(e,t,{configurable:!r,writable:!r,value:n})}function p(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done);r=!0){var s=a.value;if(void 0!==s&&s==s)return s}}catch(e){i=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(i)throw o}}}var y=Date.now?Date.now:function(){return(new Date).getTime()};function g(e,t){e instanceof Element&&(e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\s)"+t+"(\\s|$)","gi")," "))}var h={};function m(e,t){var n,r,i=e[0],a=e[1];u(i)?o(a)?h[i]&&(n=h,r=i,!Object.prototype.propertyIsEnumerable.call(n,r))?console.warn("VelocityJS: Trying to override internal 'registerAction' callback",i):!0===t?v(h,i,a):h[i]=a:console.warn("VelocityJS: Trying to set 'registerAction' callback to an invalid value:",i,a):console.warn("VelocityJS: Trying to set 'registerAction' name to an invali
146d value:",i)}m(["registerAction",m],!0);var w=400,b={fast:200,normal:400,slow:600},S={};function x(e){var t=e[0],n=e[1];u(t)?o(n)?S[t]?console.warn("VelocityJS: Trying to override 'registerEasing' callback",t):S[t]=n:console.warn("VelocityJS: Trying to set 'registerEasing' callback to an invalid value:",t,n):console.warn("VelocityJS: Trying to set 'registerEasing' name to an invalid value:",t)}function k(e,t,n,r){return t+e*(n-t)}function O(e){return Math.min(Math.max(e,0),1)}function E(e,t){return 1-3*t+3*e}function _(e,t){return 3*t-6*e}function T(e){return 3*e}function M(e,t,n){return((E(t,n)*e+_(t,n))*e+T(t))*e}function V(e,t,n){return 3*E(t,n)*e*e+2*_(t,n)*e+T(t)}function q(){for(var e=4,t=.001,n=1e-7,r=10,i=11,o=1/(i-1),a=("Float32Array"in window),l=arguments.length,s=Array(l),u=0;u<l;u++)s[u]=arguments[u];if(4===s.length){for(var c=0;c<4;++c)if("number"!=typeof s[c]||isNaN(s[c])||!isFinite(s[c]))return;var f=O(s[0]),d=s[1],v=O(s[2]),p=s[3],y=a?new Float32Array(i):new Array(i),g=!1,h="generateBezier("+[f,d,v,p]+")",m=function(e,t,n,r){return g||b(),0===e?t:1===e?n:f===d&&v===p?t+e*(n-t):t+M(w(e),d,p)*(n-t)};return m.getControlPoints=function(){return[{x:f,y:d},{x:v,y:p}]},m.toString=function(){return h},m}function w(a){for(var l=i-1,s=0,u=1;u!==l&&y[u]<=a;++u)s+=o;var c=s+(a-y[--u])/(y[u+1]-y[u])*o,d=V(c,f,v);return d>=t?function(t,n){for(var r=0;r<e;++r){var i=V(n,f,v);if(0===i)return n;n-=(M(n,f,v)-t)/i}return n}(a,c):0===d?c:function(e,t,i){var o=void 0,a=void 0,l=0;do{(o=M(a=t+(i-t)/2,f,v)-e)>0?i=a:t=a}while(Math.abs(o)>n&&++l<r);return a}(a,s,s+o)}function b(){g=!0,f===d&&v===p||function(){for(var e=0;e<i;++e)y[e]=M(e*o,f,v)}()}}m(["registerEasing",x],!0),x(["linear",k]),x(["swing",function(e,t,n){return t+(.5-Math.cos(e*Math.PI)/2)*(n-t)}]),x(["spring",function(e,t,n){return t+(1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e))*(n-t)}]);var N=q(.42,0,1,1),A=q(0,0,.58,1),L=q(.42,0,.58,1);function J(e){return-e.tension*e.x-e.friction*e.v}function I(e,t,n){var r={x:e.x+n.dx*t,v:e.v+n.dv*t,tension:e.tension,friction:e.friction};return{dx:r.v,dv:J(r)}}function j(e,t){var n={dx:e.v,dv:J(e)},r=I(e,.5*t,n),i=I(e,.5*t,r),o=I(e,t,i),a=1/6*(n.dx+2*(r.dx+i.dx)+o.dx),l=1/6*(n.dv+2*(r.dv+i.dv)+o.dv);return e.x=e.x+a*t,e.v=e.v+l*t,e}x(["ease",q(.25,.1,.25,1)]),x(["easeIn",N]),x(["ease-in",N]),x(["easeOut",A]),x(["ease-out",A]),x(["easeInOut",L]),x(["ease-in-out",L]),x(["easeInSine",q(.47,0,.745,.715)]),x(["easeOutSine",q(.39,.575,.565,1)]),x(["easeInOutSine",q(.445,.05,.55,.95)]),x(["easeInQuad",q(.55,.085,.68,.53)]),x(["easeOutQuad",q(.25,.46,.45,.94)]),x(["easeInOutQuad",q(.455,.03,.515,.955)]),x(["easeInCubic",q(.55,.055,.675,.19)]),x(["easeOutCubic",q(.215,.61,.355,1)]),x(["easeInOutCubic",q(.645,.045,.355,1)]),x(["easeInQuart",q(.895,.03,.685,.22)]),x(["easeOutQuart",q(.165,.84,.44,1)]),x(["easeInOutQuart",q(.77,0,.175,1)]),x(["easeInQuint",q(.755,.05,.855,.06)]),x(["easeOutQuint",q(.23,1,.32,1)]),x(["easeInOutQuint",q(.86,0,.07,1)]),x(["easeInExpo",q(.95,.05,.795,.035)]),x(["easeOutExpo",q(.19,1,.22,1)]),x(["easeInOutExpo",q(1,0,0,1)]),x(["easeInCirc",q(.6,.04,.98,.335)]),x(["easeOutCirc",q(.075,.82,.165,1)]),x(["easeInOutCirc",q(.785,.135,.15,.86)]);var C={};function P(e,t){return l(e)?e:u(e)?b[e.toLowerCase()]||parseFloat(e.replace("ms","").replace("s","000")):null==t?void 0:P(t)}function z(e){if(i(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'cache' to an invalid value:",e)}function F(e){if(o(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'begin' to an invalid value:",e)}function H(e,t){if(o(e))return e;null==e||t||console.warn("VelocityJS: Trying to set 'complete' to an invalid value:",e)}function R(e){var t=P(e);if(!isNaN(t))return t;null!=e&&console.error("VelocityJS: Trying to set 'delay' to an invalid value:",e)}function B(e,t){var n=P(e);if(!isNaN(n)&&n>=0)return n;null==e||t||console.error("VelocityJS: Trying to set 'duration' to an invalid value:",e)}function W(e,t,n){if(u(e))return S[e];if(o(e))return e;if(Array.isArray(e)){if(1===e.length)return r=e[0],C[r]||(C[r]=function(e,t,n){return 0===e?t:1===e?n:t+Math.round(e*r)*(1/r)*(n-t)});if(2===e.length)return function e(t,n,r){var i={x:-1,v:0,tension:parseFloat(t)||500,friction:parseFloat(n)||20},o=[0],a=null!=r,l=0,s=void 0,u=void 0;for(s=a?(l=e(i.tension,i.friction))/r*.016:.016;u=j(u||i,s),o.push(1+u.x),l+=16,Math.abs(u.x)>1e-4&&Math.abs(u.v)>1e-4;);return a?function(e,t,n){return 0===e?t:1===e?n:t+o[Math.floor(e*(o.length-1))]*(n-t)}:l}(e[0],e[1],t);
146if(4===e.length)return q.apply(null,e)||!1}var r;null==e||n||console.error("VelocityJS: Trying to set 'easing' to an invalid value:",e)}function $(e){if(!1===e)return 0;var t=parseInt(e,10);if(!isNaN(t)&&t>=0)return Math.min(t,60);null!=e&&console.warn("VelocityJS: Trying to set 'fpsLimit' to an invalid value:",e)}function G(e){switch(e){case!1:return 0;case!0:return!0;default:var t=parseInt(e,10);if(!isNaN(t)&&t>=0)return t}null!=e&&console.warn("VelocityJS: Trying to set 'loop' to an invalid value:",e)}function Q(e,t){if(!1===e||u(e))return e;null==e||t||console.warn("VelocityJS: Trying to set 'queue' to an invalid value:",e)}function D(e){switch(e){case!1:return 0;case!0:return!0;default:var t=parseInt(e,10);if(!isNaN(t)&&t>=0)return t}null!=e&&console.warn("VelocityJS: Trying to set 'repeat' to an invalid value:",e)}function U(e){if(l(e))return e;null!=e&&console.error("VelocityJS: Trying to set 'speed' to an invalid value:",e)}function Z(e){if(i(e))return e;null!=e&&console.error("VelocityJS: Trying to set 'sync' to an invalid value:",e)}var Y=void 0,X=void 0,K=void 0,ee=void 0,te=void 0,ne=void 0,re=void 0,ie=void 0,oe=void 0,ae=void 0,le=void 0,se=void 0,ue=void 0,ce=void 0,fe=void 0,de=void 0,ve=function(){function e(){t(this,e)}return n(e,null,[{key:"reset",value:function(){Y=!0,X=void 0,K=void 0,ee=0,te=w,ne=W("swing",w),re=60,ie=0,ae=980/60,le=!0,se=!0,ue="",ce=0,fe=1,de=!0}},{key:"cache",get:function(){return Y},set:function(e){void 0!==(e=z(e))&&(Y=e)}},{key:"begin",get:function(){return X},set:function(e){void 0!==(e=F(e))&&(X=e)}},{key:"complete",get:function(){return K},set:function(e){void 0!==(e=H(e))&&(K=e)}},{key:"delay",get:function(){return ee},set:function(e){void 0!==(e=R(e))&&(ee=e)}},{key:"duration",get:function(){return te},set:function(e){void 0!==(e=B(e))&&(te=e)}},{key:"easing",get:function(){return ne},set:function(e){void 0!==(e=W(e,te))&&(ne=e)}},{key:"fpsLimit",get:function(){return re},set:function(e){void 0!==(e=$(e))&&(re=e,ae=980/e)}},{key:"loop",get:function(){return ie},set:function(e){void 0!==(e=G(e))&&(ie=e)}},{key:"mobileHA",get:function(){return oe},set:function(e){i(e)&&(oe=e)}},{key:"minFrameTime",get:function(){return ae}},{key:"promise",get:function(){return le},set:function(e){void 0!==(e=function(e){if(i(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'promise' to an invalid value:",e)}(e))&&(le=e)}},{key:"promiseRejectEmpty",get:function(){return se},set:function(e){void 0!==(e=function(e){if(i(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'promiseRejectEmpty' to an invalid value:",e)}(e))&&(se=e)}},{key:"queue",get:function(){return ue},set:function(e){void 0!==(e=Q(e))&&(ue=e)}},{key:"repeat",get:function(){return ce},set:function(e){void 0!==(e=D(e))&&(ce=e)}},{key:"repeatAgain",get:function(){return ce}},{key:"speed",get:function(){return fe},set:function(e){void 0!==(e=U(e))&&(fe=e)}},{key:"sync",get:function(){return de},set:function(e){void 0!==(e=Z(e))&&(de=e)}}]),e}();Object.freeze(ve),ve.reset();var pe=[],ye={},ge=new Set,he=[],me=new Map,we="velocityData";function be(e){var t=e[we];if(t)return t;for(var n=e.ownerDocument.defaultView,r=0,i=0;i<he.length;i++){var o=he[i];u(o)?e instanceof n[o]&&(r|=1<<i):e instanceof o&&(r|=1<<i)}var a={types:r,count:0,computedStyle:null,cache:{},queueList:{},lastAnimationList:{},lastFinishList:{},window:n};return Object.defineProperty(e,we,{value:a}),a}var Se=window&&window===window.window,xe=Se&&void 0!==window.pageYOffset,ke={isClient:Se,isMobile:Se&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isGingerbread:Se&&/Android 2\.3\.[3-7]/i.test(navigator.userAgent),prefixElement:Se&&document.createElement("div"),windowScrollAnchor:xe,scrollAnchor:xe?window:!Se||document.documentElement||document.body.parentNode||document.body,scrollPropertyLeft:xe?"pageXOffset":"scrollLeft",scrollPropertyTop:xe?"pageYOffset":"scrollTop",className:"velocity-animating",isTicking:!1,first:void 0,last:void 0,firstNew:void 0};function Oe(e){var t=ke.last;e._prev=t,e._next=void 0,t?t._next=e:ke.first=e,ke.last=e,ke.firstNew||(ke.firstNew=e);var n=e.element;be(n).count++||function(e,t){e instanceof Element&&(e.classList?e.classList.add(t):(g(e,t),e.className+=(e.className.length?" ":"")+t))}(n,ke.className)}function Ee(e,t,n){var r=be(e);if(!1!==n&&(r.lastAnimationList[n]=t),!1===n)Oe(t);else{u(n)||(n="");var i=r.queueList[n];if(i){for(;i._next;)i=i._next;i._next=t,t._prev=i}else null===i?r.queueList[n]=t:(r.queueList[n]=null,Oe(t))}}function _e(e){var t=e._next,n=e._prev,r=null==e.queue?e.options.queue:e.queue;(ke.firstNew===e&&(ke.firstNew=t),ke.first===e?ke.first=t:n&&(n._next=t),ke.last===e?ke.last=n:t&&(t._prev=n),r)&&(be(e.element)&&(e._next=e._prev=void 0))}var Te={};function Me(e){var t=e.options,n=p(e.queue,t.queue),r=p(e.loop,t.loop,ve.loop),i=p(e.repeat,t.repeat,ve.repeat),o=8&e._flags;if(o||!r&&!i){var a=e.element,l=be(a);if(--l.count||o||g(a,ke.className),t&&++t._completed===t._total){!o&&t.complete&&(!function(e){var t=e.complete||e.options.complete;if(t)try{var n=e.elements;t.call(n,n,e)}catch(e){setTimeout(function(){throw e},1)}}(e),t.complete=null);var s=t._resolver;s&&(s(e.elements),delete t._resolver)}!1!==n&&(o||(l.lastFinishList[n]=e.timeStart+p(e.duration,t.duration,ve.duration)),function(e,t,n){if(!1!==t){u(t)||(t="");var r=be(e),i=r.queueList[t];i?(r.queueList[t]=i._next||null,n||Oe(i)):null===i&&delete r.queueList[t]}}(a,n)),_e(e)}else i&&!0!==i?e.repeat=i-1:r&&!0!==r&&(e.loop=r-1,e.repeat=p(e.repeatAgain,t.repeatAgain,ve.repeatAgain)),r&&(e._flags^=64),!1!==n&&(be(e.element).lastFinishList[n]=e.timeStart+p(e.duration,t.duration,ve.duration)),e.timeStart=e.ellapsedTime=e.percentComplete=0,e._flags&=-5}function Ve(e){var t=e[0],n=e[1],r=e[2];if((!u(t)||window[t]instanceof Object)&&(u(t)||t instanceof Object))if(u(n))if(o(r)){var i=he.indexOf(t),a=3;if(i<0&&!u(t))if(me.has(t))i=he.indexOf(me.get(t));else for(var l in window)if(window[l]===t){(i=he.indexOf(l))<0&&(i=he.push(l)-1,pe[i]={},me.set(t,l));break}if(i<0&&(i=he.push(t)-1,pe[i]={}),pe[i][n]=r,u(e[a])){var s=e[a++],c=ye[s];c||(c=ye[s]=[]),c.push(r)}!1===e[a]&&ge.add(n)}else console.warn("VelocityJS: Trying to set 'registerNormalization' callback to an invali
146d value:",n,r);else console.warn("VelocityJS: Trying to set 'registerNormalization' name to an invalid value:",n);else console.warn("VelocityJS: Trying to set 'registerNormalization' constructor to an invalid value:",t)}function qe(e){var t=e[0],n=e[1],r=he.indexOf(t);if(r<0&&!u(t))if(me.has(t))r=he.indexOf(me.get(t));else for(var i in window)if(window[i]===t){r=he.indexOf(i);break}return r>=0&&pe[r].hasOwnProperty(n)}function Ne(e,t){for(var n=be(e),r=void 0,i=he.length-1,o=n.types;!r&&i>=0;i--)o&1<<i&&(r=pe[i][t]);return r}function Ae(e,t,n,r){var i=ge.has(t),o=!i&&be(e);(i||o&&o.cache[t]!==n)&&(i||(o.cache[t]=n||void 0),(r=r||Ne(e,t))&&r(e,n),Ut.debug>=2&&console.info('Set "'+t+'": "'+n+'"',e))}function Le(e){if(e.indexOf("calc(")>=0){for(var t=e.split(/([\(\)])/),n=0,r=0;r<t.length;r++){var i=t[r];switch(i){case"(":n++;break;case")":n--;break;default:n&&"0"===i[0]&&(t[r]=i.replace(/^0[a-z%]+ \+ /,""))}}return t.join("").replace(/(?:calc)?\(([0-9\.]+[a-z%]+)\)/g,"$1")}return e}m(["registerNormalization",Ve]),m(["hasNormalization",qe]);var Je={};function Ie(e){var t=Je[e];return t||(Je[e]=e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()}))}var je=/#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})/gi,Ce=/#([a-f\d])([a-f\d])([a-f\d])/gi,Pe=/(rgba?\(\s*)?(\b[a-z]+\b)/g,ze=/rgb(a?)\(([^\)]+)\)/gi,Fe=/\s+/g,He={};function Re(e,t,n,r){return"rgba("+parseInt(t,16)+","+parseInt(n,16)+","+parseInt(r,16)+",1)"}function Be(e){return e.replace(je,Re).replace(Ce,function(e,t,n,r){return Re(0,t+t,n+n,r+r)}).replace(Pe,function(e,t,n){return He[n]?(t||"rgba(")+He[n]+(t?"":",1)"):e}).replace(ze,function(e,t,n){return"rgba("+n.replace(Fe,"")+(t?"":",1")+")"})}function We(e,t,n){if("border-box"===Qe(e,"boxSizing").toString().toLowerCase()===n){var r="width"===t?["Left","Right"]:["Top","Bottom"],i=["padding"+r[0],"padding"+r[1],"border"+r[0]+"Width","border"+r[1]+"Width"],o=0,a=!0,l=!1,s=void 0;try{for(var u,c=i[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var f=u.value,d=parseFloat(Qe(e,f));isNaN(d)||(o+=d)}}catch(e){l=!0,s=e}finally{try{!a&&c.return&&c.return()}finally{if(l)throw s}}return n?-o:o}return 0}function $e(e,t){return e.getBoundingClientRect()[t]+We(e,t,!0)+"px"}function Ge(e,t){var n=be(e),r=n.computedStyle?n.computedStyle:n.window.getComputedStyle(e,null),i=0;if(n.computedStyle||(n.computedStyle=r),"none"===r.display)switch(t){case"width":case"height":return Ae(e,"display","auto"),i=$e(e,t),Ae(e,"display","none"),String(i)}if((i=r[t])||(i=e.style[t]),"auto"===i)switch(t){case"width":case"height":i=$e(e,t);break;case"top":case"left":case"right":case"bottom":var o=Qe(e,"position");if("fixed"===o||"absolute"===o){i=e.getBoundingClientRect[t]+"px";break}default:i="0px"}return i?String(i):""}function Qe(e,t,n,r){var i=be(e),o=void 0;return ge.has(t)&&(r=!0),!r&&i&&null!=i.cache[t]?o=i.cache[t]:(n=n||Ne(e,t))&&(o=n(e),i&&(i.cache[t]=o)),Ut.debug>=2&&console.info('Get "'+t+'": "'+o+'"',e),o}var De=/^#([A-f\d]{3}){1,2}$/i,Ue={function:function(e,t,n,r,i,o){return e.call(t,r,n.length,i)},number:function(e,t,n,r,i,o){return String(e)+function(e){for(var t in ye)if(ye[t].includes(e))return t;return""}(o.fn)},string:function(e,t,n,r,i,o){return Be(e)},undefined:function(e,t,n,r,i,o){return Be(Qe(t,i,o.fn)||"")}};function Ze(t,n){var r=t.tweens=Object.create(null),i=t.elements,a=t.element,s=i.indexOf(a),c=be(a),f=p(t.queue,t.options.queue),d=p(t.options.duration,ve.duration);for(var v in n)if(n.hasOwnProperty(v)){var y=Ie(v),g=Ne(a,y),h=n[v];if(!g&&"tween"!==y){Ut.debug&&console.log('Skipping "'+v+'" due to a lack of browser support.');continue}if(null==h){Ut.debug&&console.log('Skipping "'+v+'" due to no value supplied.');continue}var m=r[y]={},w=void 0,b=void 0;if(m.fn=g,o(h)&&(h=h.call(a,s,i.length,i)),Array.isArray(h)){var x=h[1],k=h[2];w=h[0],u(x)&&(/^[\d-]/.test(x)||De.test(x))||o(x)||l(x)?b=x:u(x)&&S[x]||Array.isArray(x)?(m.easing=W(x,d),b=k):b=x||k}else w=h;m.end=Ue[void 0===w?"undefined":e(w)](w,a,i,s,y,m),null==b&&!1!==f&&void 0!==c.queueList[f]||(m.start=Ue[void 0===b?"undefined":e(b)](b,a,i,s,y,m),et(y,m,d))}}var Ye=/((?:[+\-*/]=)?(?:[+-]?\d*\.\d+|[+-]?\d+)[a-z%]*|(?:.(?!$|[+-]?\d|[+\-*/]=[+-]?\d))+.|.)/g,Xe=/^([+\-*/]=)?([+-]?\d*\.\d+|[+-]?\d+)(.*)$/;function Ke(e,t){for(var n=e.length,r=[],i=[],o=void 0,a=0;a<n;a++){if(!u(e[a]))return;""===e[a]?r[a]=[""]:r[a]=d(e[a].match(Ye)),i[a]=0,o=o||r[a].length>1}for(var l=[],s=l.pattern=[],c=function(e){if(u(s[s.length-1]))s[s.length-1]+=e;else if(e){s.push(e);for(var t=0;t<n;t++)l[t].push(null)}},f=function(){if(!(o||s.length>1)){for(var r="display"===t,i="visibility"===t,a=0;a<n;a++){var u=e[a];l[a][0]=u,l[a].easing=W(r&&"none"===u||i&&"hidden"===u||!r&&!i?"at-end":"at-start",400)}return s[0]=!1,l}},v=!0,p=0;p<n;p++)l[p]=[];for(;v;){for(var y=[],g=[],h=void 0,m=!1,w=!1,b=0;b<n;b++){var S=i[b]++,x=r[b][S];if(!x){if(b)return;for(;b<n;b++){var k=i[b]++;if(r[b][k])return f()}v=!1;break}var O=x.match(Xe);if(O){if(h)return f();var E=parseFloat(O[2]),_=O[3],T=O[1]?O[1][0]+_:void 0,M=T||_;E&&!g.includes(M)&&g.push(M),_||(E?w=!0:m=!0),y[b]=T?[E,M,!0]:[E,M]}else{if(y.length)return f();if(h){if(h!==x)return f()}else h=x}}if(h)c(h);else if(g.length)if(2===g.length&&m&&!w&&g.splice(g[0]?1:0,1),1===g.length){var V=g[0];switch(V[0]){case"+":case"-":case"*":case"/":return void(t&&console.error('Velocity: The first property must not contain a relative function "'+t+'":',e))}s.push(!1);for(var q=0;q<n;q++)l[q].push(y[q][0]);c(V)}else{c("calc(");for(var N=s.length-1,A=0;A<g.length;A++){var L=g[A],J=L[0],I="*"===J||"/"===J,j=I||"+"===J||"-"===J;I&&(s[N]+="(",c(")")),A&&c(" "+(j?J:"+")+" "),s.push(!1);for(var C=0;C<n;C++){var P=y[C],z=P[1]===L?P[0]:3===P.length?l[C-1][l[C-1].length-1]:I?1:0;l[C].push(z)}c(j?L.substring(1):L)}c(")")}}for(var F=0,H=0;F<s.length;F++){var R=s[F];u(R)?H&&R.indexOf(",")>=0?H++:R.indexOf("rgb")>=0&&(H=1):H&&(H<4?s[F]=!0:H=0)}return l}function et(e,t,n,r){var i=t.start,o=t.end;if(u(o)&&u(i)){var a=Ke([i,o],e);if(!a&&r){var l=i.match(/\d\.?\d*/g)||["0"],s=l.length,c=0;a=Ke([o.replace(/\d+\.?\d*/g,function(){return l[c++%s]}),o],e)}if(a)switch(Ut.debug&&console.log("Velocity: Sequence found:",a),a[0].percent=0,a[1].percent=1,t.sequence=a,t.easing){case S["at-start"]:case S.during:case S["at-end"]:a[0].easing=a[1].easing=t.easing}}}function tt(e){if(ke.firstNew===e&&(ke.firstNew=e._next),!(1&e._flags)){var t=e.element,n=e.tweens;p(e.options.duration,ve.duration);for(var r in n){var i=n[r];if(null==i.start){var o=Qe(e.element,r);u(o)?(i.start=Be(o),et(r,i,0,!0)):Array.isArray(o)||console.warn("bad type",i,r,o)}Ut.debug&&console.log('tweensContainer "'+r+'": '+JSON.stringify(i),t)}e._flags|=1}}function nt(e){var t=e.begin||e.options.begin;if(t)try{var n=e.elements;t.call(n,n,e)}catch(e){setTimeout(function(){throw e},1)}}function rt(e){var t=e.progress||e.options.progress;if(t)try{var n=e.elements,r=e.percentComplete,i=e.options,o=e.tween;t.call(n,n,r,Math.max(0,e.timeStart+(null!=e.duration?e.duration:null!=i.duration?i.duration:ve.duration)-vt),void 0!==o?o:String(100*r),e)}catch(e){setTimeout(function(){throw e},1)}}function it(){var e=!0,t=!1,n=void 0;try{for(var r,i=lt[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){rt(r.value)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}lt.clear();var o=!0,a=!1,l=void 0;try{for(var s,u=at[Symbol.iterator]();!(o=(s=u.next()).done);o=!0){Me(s.value)}}catch(e){a=!0,l=e}finally{try{!o&&u.return&&u.return()}finally{if(a)throw l}}at.clear()}var ot=1e3/60,at=new Set,lt=new Set,st=function(){var e=window.performance||{};if("function"!=typeof e.now){var t=e.timing&&e.timing.navigationStart?e.timing.navigationStart:y();e.now=function(){return y()-t}}return e}(),ut=function(e){return setTimeout(e,Math.max(0,ot-(st.now()-vt)))},ct=window.requestAnimationFrame||ut,ft=void 0,dt=void 0,vt=0;try{(dt=new Worker(URL.createObjectURL(new Blob(["("+function(){var e=this,t=void 0;this.onmessage=function(n){switch(n.data){case!0:t||(t=setInterval(function(){e.postMessage(!0)},1e3/30));break;case!1:t&&(clearInterval(t),t=0);break;default:e.postMessage(n.data)}}}
146+")()"])))).onmessage=function(e){!0===e.data?pt():it()},ke.isMobile||void 0===document.hidden||document.addEventListener("visibilitychange",function(){dt.postMessage(ke.isTicking&&document.hidden)})}catch(e){}function pt(e){if(!ft){if(ft=!0,!1!==e){var t=st.now(),n=vt?t-vt:ot,r=ve.speed,i=ve.easing,o=ve.duration,a=void 0,l=void 0;if(n>=ve.minFrameTime||!vt){for(vt=t;ke.firstNew;)tt(ke.firstNew);for(a=ke.first;a&&a!==ke.firstNew;a=a._next){var s=a.element,u=be(s);if(s.parentNode&&u){var c=a.options,f=a._flags,d=a.timeStart;if(!d){var v=null!=a.queue?a.queue:c.queue;d=t-n,!1!==v&&(d=Math.max(d,u.lastFinishList[v]||0)),a.timeStart=d}16&f?a.timeStart+=n:2&f||(a._flags|=2,c._ready++)}else _e(a)}for(a=ke.first;a&&a!==ke.firstNew;a=l){var p=a._flags;if(l=a._next,2&p&&!(16&p)){var y=a.options;if(32&p&&y._ready<y._total)a.timeStart+=n;else{var g=null!=a.speed?a.speed:null!=y.speed?y.speed:r,h=a.timeStart;if(!(4&p)){var m=null!=a.delay?a.delay:y.delay;if(m){if(h+m/g>t)continue;a.timeStart=h+=m/(m>0?g:1)}a._flags|=4,0==y._started++&&(y._first=a,y.begin&&(nt(a),y.begin=void 0))}1!==g&&(a.timeStart=h+=Math.min(n,t-h)*(1-g));var w=null!=a.easing?a.easing:null!=y.easing?y.easing:i,b=a.ellapsedTime=t-h,S=null!=a.duration?a.duration:null!=y.duration?y.duration:o,x=a.percentComplete=Ut.mock?1:Math.min(b/S,1),O=a.tweens,E=64&p;for(var _ in(a.progress||y._first===a&&y.progress)&&lt.add(a),1===x&&at.add(a),O){var T=O[_],M=T.sequence,V=M.pattern,q="",N=0;if(V){for(var A=(T.easing||w)(x,0,1,_),L=0,J=0;J<M.length-1;J++)M[J].percent<A&&(L=J);for(var I=M[L],j=M[L+1]||I,C=(x-I.percent)/(j.percent-I.percent),P=E?1-C:C,z=j.easing||w||k;N<V.length;N++){var F=I[N];if(null==F)q+=V[N];else{var H=j[N];if(F===H)q+=F;else{var R=z(P,F,H,_);q+=!0!==V[N]?R:Math.round(R)}}}"tween"!==_?(1===x&&(q=Le(q)),Ae(a.element,_,q,T.fn)):a.tween=q}else console.warn("VelocityJS: Missing pattern:",_,JSON.stringify(T[_])),delete O[_]}}}}(lt.size||at.size)&&(document.hidden?dt?dt.postMessage(""):setTimeout(it,1):it())}}ke.first?(ke.isTicking=!0,document.hidden?dt?!1===e&&dt.postMessage(!0):ut(pt):ct(pt)):(ke.isTicking=!1,vt=0,document.hidden&&dt&&dt.postMessage(!1)),ft=!1}}function yt(e,t,n){if(tt(e),void 0===t||t===p(e.queue,e.options.queue,n)){if(!(4&e._flags)){var r=e.options;0==r._started++&&(r._first=e,r.begin&&(nt(e),r.begin=void 0)),e._flags|=4}for(var i in e.tweens){var o=e.tweens[i],a=o.sequence,l=a.pattern,s="",u=0;if(l)for(var c=a[a.length-1];u<l.length;u++){var f=c[u];s+=null==f?l[u]:f}Ae(e.element,i,s,o.fn)}Me(e)}}m(["finish",function(e,t,n){var r=Q(e[0],!0),i=ve.queue,o=!0===e[void 0===r?0:1];if(c(t)&&t.velocity.animations){var a=!0,l=!1,s=void 0;try{for(var u,f=t.velocity.animations[Symbol.iterator]();!(a=(u=f.next()).done);a=!0)yt(u.value,r,i)}catch(e){l=!0,s=e}finally{try{!a&&f.return&&f.return()}finally{if(l)throw s}}}else{for(;ke.firstNew;)tt(ke.firstNew);for(var d,v=ke.first;v&&(o||v!==ke.firstNew);v=d||ke.firstNew)d=v._next,t&&!t.includes(v.element)||yt(v,r,i)}n&&(c(t)&&t.velocity.animations&&t.then?t.then(n._resolver):n._resolver(t))}],!0);var gt={isExpanded:1,isReady:2,isStarted:4,isStopped:8,isPaused:16,isSync:32,isReverse:64};function ht(e,t,n,r){void 0!==t&&t!==p(e.queue,e.options.queue,n)||(r?e._flags|=16:e._flags&=-17)}function mt(e,t,n,r){var i=0===r.indexOf("pause"),o="false"!==(r.indexOf(".")>=0?r.replace(/^.*\./,""):void 0)&&Q(e[0]),a=ve.queue;if(c(t)&&t.velocity.animations){var l=!0,s=!1,u=void 0;try{for(var f,d=t.velocity.animations[Symbol.iterator]();!(l=(f=d.next()).done);l=!0){ht(f.value,o,a,i)}}catch(e){s=!0,u=e}finally{try{!l&&d.return&&d.return()}finally{if(s)throw u}}}else for(var v=ke.first;v;)t&&!t.includes(v.element)||ht(v,o,a,i),v=v._next;n&&(c(t)&&t.velocity.animations&&t.then?t.then(n._resolver):n._resolver(t))}function wt(t,n,r,i){var o=t[0],a=t[1];if(!o)return console.warn("VelocityJS: Cannot access a non-existant property!"),null;if(void 0===a&&!s(o)){if(Array.isArray(o)){if(1===n.length){var f={},d=!0,v=!1,p=void 0;try{for(var y,g=o[Symbol.iterator]();!(d=(y=g.next()).done);d=!0){var h=y.value;f[h]=Be(Qe(n[0],h))}}catch(e){v=!0,p=e}finally{try{!d&&g.return&&g.return()}finally{if(v)throw p}
146}return f}var m=[],w=!0,b=!1,S=void 0;try{for(var x,k=n[Symbol.iterator]();!(w=(x=k.next()).done);w=!0){var O=x.value,E={},_=!0,T=!1,M=void 0;try{for(var V,q=o[Symbol.iterator]();!(_=(V=q.next()).done);_=!0){var N=V.value;E[N]=Be(Qe(O,N))}}catch(e){T=!0,M=e}finally{try{!_&&q.return&&q.return()}finally{if(T)throw M}}m.push(E)}}catch(e){b=!0,S=e}finally{try{!w&&k.return&&k.return()}finally{if(b)throw S}}return m}if(1===n.length)return Be(Qe(n[0],o));var A=[],L=!0,J=!1,I=void 0;try{for(var j,C=n[Symbol.iterator]();!(L=(j=C.next()).done);L=!0){var P=j.value;A.push(Be(Qe(P,o)))}}catch(e){J=!0,I=e}finally{try{!L&&C.return&&C.return()}finally{if(J)throw I}}return A}var z=[];if(s(o)){for(var F in o)if(o.hasOwnProperty(F)){var H=!0,R=!1,B=void 0;try{for(var W,$=n[Symbol.iterator]();!(H=(W=$.next()).done);H=!0){var G=W.value,Q=o[F];u(Q)||l(Q)?Ae(G,F,o[F]):(z.push('Cannot set a property "'+F+'" to an unknown type: '+(void 0===Q?"undefined":e(Q))),console.warn('VelocityJS: Cannot set a property "'+F+'" to an unknown type:',Q))}}catch(e){R=!0,B=e}finally{try{!H&&$.return&&$.return()}finally{if(R)throw B}}}}else if(u(a)||l(a)){var D=!0,U=!1,Z=void 0;try{for(var Y,X=n[Symbol.iterator]();!(D=(Y=X.next()).done);D=!0){Ae(Y.value,o,String(a))}}catch(e){U=!0,Z=e}finally{try{!D&&X.return&&X.return()}finally{if(U)throw Z}}}else z.push('Cannot set a property "'+o+'" to an unknown type: '+(void 0===a?"undefined":e(a))),console.warn('VelocityJS: Cannot set a property "'+o+'" to an unknown type:',a);r&&(z.length?r._rejecter(z.join(", ")):c(n)&&n.velocity.animations&&n.then?n.then(r._resolver):r._resolver(n))}function bt(e,t,n){tt(e),void 0!==t&&t!==p(e.queue,e.options.queue,n)||(e._flags|=8,Me(e))}m(["option",function(e,t,n,r){var i=e[0],o=r.indexOf(".")>=0?r.replace(/^.*\./,""):void 0,a="false"!==o&&Q(o,!0),l=void 0,s=e[1];if(!i)return console.warn("VelocityJS: Cannot access a non-existant key!"),null;if(c(t)&&t.velocity.animations)l=t.velocity.animations;else{l=[];for(var u=ke.first;u;u=u._next)t.indexOf(u.element)>=0&&p(u.queue,u.options.queue)===a&&l.push(u);if(t.length>1&&l.length>1){for(var f=1,d=l[0].options;f<l.length;)if(l[f++].options!==d){d=null;break}d&&(l=[l[0]])}}if(void 0===s){var v=[],y=gt[i],g=!0,h=!1,m=void 0;try{for(var w,b=l[Symbol.iterator]();!(g=(w=b.next()).done);g=!0){var S=w.value;void 0===y?v.push(p(S[i],S.options[i])):v.push(0==(S._flags&y))}}catch(e){h=!0,m=e}finally{try{!g&&b.return&&b.return()}finally{if(h)throw m}}return 1===t.length&&1===l.length?v[0]:v}var x=void 0;switch(i){case"cache":s=z(s);break;case"begin":s=F(s);break;case"complete":s=H(s);break;case"delay":s=R(s);break;case"duration":s=B(s);break;case"fpsLimit":s=$(s);break;case"loop":s=G(s);break;case"percentComplete":x=!0,s=parseFloat(s);break;case"repeat":case"repeatAgain":s=D(s);break;default:if("_"!==i[0]){var k=parseFloat(s);s===String(k)&&(s=k);break}case"queue":case"promise":case"promiseRejectEmpty":case"easing":case"started":return void console.warn("VelocityJS: Trying to set a read-only key:",i)}if(void 0===s||s!=s)return console.warn("VelocityJS: Trying to set an invalid value:"+i+"="+s+" ("+e[1]+")"),null;var O=!0,E=!1,_=void 0;try{for(var T,M=l[Symbol.iterator]();!(O=(T=M.next()).done);O=!0){var V=T.value;x?V.timeStart=vt-p(V.duration,V.options.duration,ve.duration)*s:V[i]=s}}catch(e){E=!0,_=e}finally{try{!O&&M.return&&M.return()}finally{if(E)throw _}}n&&(c(t)&&t.velocity.animations&&t.then?t.then(n._resolver):n._resolver(t))}],!0),m(["pause",mt],!0),m(["resume",mt],!0),m(["property",wt],!0),m(["reverse",function(e,t,n,r){throw new SyntaxError("VelocityJS: The 'reverse' action is built in and private.")}],!0),m(["stop",function(e,t,n,r){var i=Q(e[0],!0),o=ve.queue,a=!0===e[void 0===i?0:1];if(c(t)&&t.velocity.animations){var l=!0,s=!1,u=void 0;try{for(var f,d=t.velocity.animations[Symbol.iterator]();!(l=(f=d.next()).done);l=!0)bt(f.value,i,o)}catch(e){s=!0,u=e}finally{try{!l&&d.return&&d.return()}finally{if(s)throw u}}}else{for(;ke.firstNew;)tt(ke.firstNew);for(var v,p=ke.first;p&&(a||p!==ke.firstNew);p=v||ke.firstNew)v=p._next,t&&!t.includes(p.element)||bt(p,i,o)}n&&(c(t)&&t.velocity.animations&&t.then?t.then(n._resolver):n._resolver(t))}],!0),m(["style",wt],!0),m(["tween",function(e,t,n,i){var o=void 0;if(t){if(1!==t.length)throw new Error("VelocityJS: Cannot tween more than one element!")}else{if(!e.length)return console.info('Velocity(<element>, "tween", percentComplete, property, end | [end, <easing>, <start>], <easing>) => value\nVelocity(<element>, "tween", percentComplete, {property: end | [end, <easing>, <start>], ...}, <easing>) => {property: value, ...}'),null;t=[document.body],o=!0}var a=e[0],c={elements:t,element:t[0],queue:!1,options:{duration:1e3},tweens:null},f={},d=e[1],v=void 0,y=void 0,g=e[2],h=0;if(u(e[1])?Te&&Te[e[1]]?(y=Te[e[1]],d={},g=e[2]):(v=!0,d=r({},e[1],e[2]),g=e[3]):Array.isArray(e[1])&&(v=!0,d={tween:e[1]},g=e[2]),!l(a)||a<0||a>1)throw new Error("VelocityJS: Must tween a percentage from 0 to 1!");
146if(!s(d))throw new Error("VelocityJS: Cannot tween an invalid property!");if(o)for(var m in d)if(d.hasOwnProperty(m)&&(!Array.isArray(d[m])||d[m].length<2))throw new Error("VelocityJS: When not supplying an element you must force-feed values: "+m);var b=W(p(g,ve.easing),w);for(var S in y?tn(c,y):Ze(c,d),c.tweens){var x=c.tweens[S],O=x.sequence,E=O.pattern,_="",T=0;if(h++,E){for(var M=(x.easing||b)(a,0,1,S),V=0,q=0;q<O.length-1;q++)O[q].percent<M&&(V=q);for(var N=O[V],A=O[V+1]||N,L=(a-N.percent)/(A.percent-N.percent),J=A.easing||k;T<E.length;T++){var I=N[T];if(null==I)_+=E[T];else{var j=A[T];if(I===j)_+=I;else{var C=J(L,I,j,S);_+=!0===E[T]?Math.round(C):C}}}f[S]=_}}if(v&&1===h)for(var P in f)if(f.hasOwnProperty(P))return f[P];return f}],!0);var St={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgrey:11119017,darkgreen:25600,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,grey:8421504,green:32768,greenyellow:11403055,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgrey:13882323,lightgreen:9498256,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};for(var xt in St)if(St.hasOwnProperty(xt)){var kt=St[xt];He[xt]=Math.floor(kt/65536)+","+Math.floor(kt/256%256)+","+kt%256}function Ot(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function Et(e){return 1-Ot(1-e)}!function(e,t){x([e,function(e,n,r){return 0===e?n:1===e?r:Math.pow(e,2)*((t+1)*e-t)*(r-n)}])}("easeInBack",1.7),function(e,t){x([e,function(e,n,r){return 0===e?n:1===e?r:(Math.pow(--e,2)*((t+1)*e+t)+1)*(r-n)}])}("easeOutBack",1.7),function(e,t){t*=1.525,x([e,function(e,n,r){return 0===e?n:1===e?r:.5*((e*=2)<1?Math.pow(e,2)*((t+1)*e-t):Math.pow(e-2,2)*((t+1)*(e-2)+t)+2)*(r-n)}])}("easeInOutBack",1.7),x(["easeInBounce",function(e,t,n){return 0===e?t:1===e?n:Et(e)*(n-t)}]),x(["easeOutBounce",function(e,t,n){return 0===e?t:1===e?n:Ot(e)*(n-t)}]),x(["easeInOutBounce",function(e,t,n){return 0===e?t:1===e?n:(e<.5?.5*Et(2*e):.5*Ot(2*e-1)+.5)*(n-t)}]);var _t=2*Math.PI;function Tt(e,t){return function(n,r){if(void 0===r)return We(n,e,t)+"px";Ae(n,e,parseFloat(r)-We(n,e,t)+"px")}}!function(e,t,n){x([e,function(e,r,i){return 0===e?r:1===e?i:-t*Math.pow(2,10*(e-=1))*Math.sin((e-n/_t*Math.asin(1/t))*_t/n)*(i-r)}])}("easeInElastic",1,.3),function(e,t,n){x([e,function(e,r,i){return 0===e?r:1===e?i:(t*Math.pow(2,-10*e)*Math.sin((e-n/_t*Math.asin(1/t))*_t/n)+1)*(i-r)}])}("easeOutElastic",1,.3),function(e,t,n){x([e,function(e,r,i){if(0===e)return r;if(1===e)return i;var o=n/_t*Math.asin(1/t);return((e=2*e-1)<0?t*Math.pow(2,10*e)*Math.sin((e-o)*_t/n)*-.5:t*Math.pow(2,-10*e)*Math.sin((e-o)*_t/n)*.5+1)*(i-r)}])}("easeInOutElastic",1,.3*1.5),x(["at-start",function(e,t,n){return 0===e?t:n}]),x(["during",function(e,t,n){return 0===e||1===e?t:n}]),x(["at-end",function(e,t,n){return 1===e?n:t}]),Ve(["Element","innerWidth",Tt("width",!0)]),Ve(["Element","innerHe
146ight",Tt("height",!0)]),Ve(["Element","outerWidth",Tt("width",!1)]),Ve(["Element","outerHeight",Tt("height",!1)]);var Mt=/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|let|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i,Vt=/^(li)$/i,qt=/^(tr)$/i,Nt=/^(table)$/i,At=/^(tbody)$/i;function Lt(e,t){return function(n,r){if(null==r)return Qe(n,"client"+e,null,!0),Qe(n,"scroll"+e,null,!0),n["scroll"+t]+"px";var i=parseFloat(r);switch(r.replace(String(i),"")){case"":case"px":n["scroll"+t]=i;break;case"%":var o=parseFloat(Qe(n,"client"+e)),a=parseFloat(Qe(n,"scroll"+e));n["scroll"+t]=Math.max(0,a-o)*i/100}}}Ve(["Element","display",function(e,t){var n=e.style;if(void 0===t)return Ge(e,"display");if("auto"===t){var r=e&&e.nodeName,i=be(e);t=Mt.test(r)?"inline":Vt.test(r)?"list-item":qt.test(r)?"table-row":Nt.test(r)?"table":At.test(r)?"table-row-group":"block",i.cache.display=t}n.display=t}]),Ve(["HTMLElement","scroll",Lt("Height","Top"),!1]),Ve(["HTMLElement","scrollTop",Lt("Height","Top"),!1]),Ve(["HTMLElement","scrollLeft",Lt("Width","Left"),!1]),Ve(["HTMLElement","scrollWidth",function(e,t){if(null==t)return e.scrollWidth+"px"}]),Ve(["HTMLElement","clientWidth",function(e,t){if(null==t)return e.clientWidth+"px"}]),Ve(["HTMLElement","scrollHeight",function(e,t){if(null==t)return e.scrollHeight+"px"}]),Ve(["HTMLElement","clientHeight",function(e,t){if(null==t)return e.clientHeight+"px"}]);var Jt=/^(b(lockSize|o(rder(Bottom(LeftRadius|RightRadius|Width)|Image(Outset|Width)|LeftWidth|R(adius|ightWidth)|Spacing|Top(LeftRadius|RightRadius|Width)|Width)|ttom))|column(Gap|RuleWidth|Width)|f(lexBasis|ontSize)|grid(ColumnGap|Gap|RowGap)|height|inlineSize|le(ft|tterSpacing)|m(a(rgin(Bottom|Left|Right|Top)|x(BlockSize|Height|InlineSize|Width))|in(BlockSize|Height|InlineSize|Width))|o(bjectPosition|utline(Offset|Width))|p(adding(Bottom|Left|Right|Top)|erspective)|right|s(hapeMargin|troke(Dashoffset|Width))|t(extIndent|op|ransformOrigin)|w(idth|ordSpacing))$/;function It(e,t){return function(n,r){if(void 0===r)return Ge(n,e)||Ge(n,t);n.style[e]=n.style[t]=r}}function jt(e){return function(t,n){if(void 0===n)return Ge(t,e);t.style[e]=n}}var Ct=/^(webkit|moz|ms|o)[A-Z]/,Pt=ke.prefixElement;if(Pt)for(var zt in Pt.style)if(Ct.test(zt)){var Ft=zt.replace(/^[a-z]+([A-Z])/,function(e,t){return t.toLowerCase()}),Ht=Jt.test(Ft)?"px":void 0;Ve(["Element",Ft,It(zt,Ft),Ht])}else if(!qe(["Element",zt])){var Rt=Jt.test(zt)?"px":void 0;Ve(["Element",zt,jt(zt),Rt])}function Bt(e){return function(t,n){if(void 0===n)return t.getAttribute(e);t.setAttribute(e,n)}}var Wt=document.createElement("div"),$t=/^SVG(.*)Element$/,Gt=/Element$/;function Qt(e){return function(t,n){if(void 0===n)try{return t.getBBox()[e]+"px"}catch(e){return"0px"}t.setAttribute(e,n)}}Object.getOwnPropertyNames(window).forEach(function(e){var t=$t.exec(e);if(t&&"SVG"!==t[1])try{var n=t[1]?document.createElementNS("http://www.w3.org/2000/svg",(t[1]||"svg").toLowerCase()):document.createElement("svg");for(var r in n){var i=n[r];!u(r)||"o"===r[0]&&"n"===r[1]||r===r.toUpperCase()||Gt.test(r)||r in Wt||o(i)||Ve([e,r,Bt(r)])}}catch(t){console.error("VelocityJS: Error when trying to identify SVG attributes on "+e+".",t)}}),Ve(["SVGElement","width",Qt("width")]),Ve(["SVGElement","height",Qt("height")]),Ve(["Element","tween",function(e,t){if(void 0===t)return""}]);var Dt,Ut=an;if(function(e){e.Actions=h,e.Easings=S,e.Sequences=Te,e.State=ke,e.defaults=ve,e.patch=sn,e.debug=!1,e.mock=!1,e.version="2.0.6",e.Velocity=an}(Dt||(Dt={})),function(){if(document.documentMode)return document.documentMode;for(var e=7;e>4;e--){var t=document.createElement("div");if(t.innerHTML="\x3c!--[if IE "+e+"]><span></span><![endif]--\x3e",t.getElementsByTagName("span").length)return t=null,e}}()<=8)throw new Error("VelocityJS cannot run on Internet Explorer 8 or earlier");if(window){var Zt=window.jQuery,Yt=window.Zepto;sn(window,!0),sn(Element&&Element.prototype),sn(NodeList&&NodeList.prototype),sn(HTMLCollection&&HTMLCollection.prototype),sn(Zt,!0),sn(Zt&&Zt.fn),sn(Yt,!0),sn(Yt&&Yt.fn)}var Xt=function(t){if(Dt.hasOwnProperty(t))switch(void 0===t?"undefined":e(t)){case"number":case"boolean":v(Ut,t,{get:function(){return Dt[t]},set:function(e){Dt[t]=e}},!0);break;default:v(Ut,t,Dt[t],!0)}};for(var Kt in Dt)Xt(Kt);Object.freeze(Ut);var en=/(\d*\.\d+|\d+\.?|from|to)/g;function tn(e,t){var n=e.tweens=Object.create(null),r=e.element;for(var i in t.tweens)if(t.tweens.hasOwnProperty(i)){var o=Ne(r,i);if(!o&&"tween"!==i){Ut.debug&&console.log("Skipping ["+i+"] due to a lack of browser support.");continue}n[i]={fn:o,sequence:t.tweens[i]}}}m(["registerSequence",function e(t){if(s(t[0]))for(var n in t[0])t[0].hasOwnProperty(n)&&e([n,t[0][n]]);else if(u(t[0])){var r=t[0],i=t[1];
146if(u(r))if(s(i)){Te[r]&&console.warn("VelocityJS: Replacing named sequence:",r);var o={},a=new Array(100),c=[],f=Te[r]={},d=B(i.duration);for(var v in f.tweens={},l(d)&&(f.duration=d),i)if(i.hasOwnProperty(v)){var p=String(v).match(en);if(p){var y=!0,g=!1,h=void 0;try{for(var m,b=p[Symbol.iterator]();!(y=(m=b.next()).done);y=!0){var S=m.value,x="from"===S?0:"to"===S?100:parseFloat(S);if(x<0||x>100)console.warn("VelocityJS: Trying to use an invalid value as a percentage (0 <= n <= 100):",r,x);else if(isNaN(x))console.warn("VelocityJS: Trying to use an invalid number as a percentage:",r,v,S);else for(var k in o[String(x)]||(o[String(x)]=[]),o[String(x)].push(v),i[v])c.includes(k)||c.push(k)}}catch(e){g=!0,h=e}finally{try{!y&&b.return&&b.return()}finally{if(g)throw h}}}}var O=Object.keys(o).sort(function(e,t){var n=parseFloat(e),r=parseFloat(t);return n>r?1:n<r?-1:0});O.forEach(function(e){a.push.apply(o[e])});var E=!0,_=!1,T=void 0;try{for(var M,V=c[Symbol.iterator]();!(E=(M=V.next()).done);E=!0){var q=M.value,N=[],A=Ie(q),L=!0,J=!1,I=void 0;try{for(var j,C=O[Symbol.iterator]();!(L=(j=C.next()).done);L=!0){var P=j.value,z=!0,F=!1,H=void 0;try{for(var R,$=o[P][Symbol.iterator]();!(z=(R=$.next()).done);z=!0){var G=i[R.value];G[A]&&N.push(u(G[A])?G[A]:G[A][0])}}catch(e){F=!0,H=e}finally{try{!z&&$.return&&$.return()}finally{if(F)throw H}}}}catch(e){J=!0,I=e}finally{try{!L&&C.return&&C.return()}finally{if(J)throw I}}if(N.length){var Q=Ke(N,A),D=0;if(Q){var U=!0,Z=!1,Y=void 0;try{for(var X,K=O[Symbol.iterator]();!(U=(X=K.next()).done);U=!0){var ee=X.value,te=!0,ne=!1,re=void 0;try{for(var ie,oe=o[ee][Symbol.iterator]();!(te=(ie=oe.next()).done);te=!0){var ae=i[ie.value][A];ae&&(Array.isArray(ae)&&ae.length>1&&(u(ae[1])||Array.isArray(ae[1]))&&(Q[D].easing=W(ae[1],f.duration||w)),Q[D++].percent=parseFloat(ee)/100)}}catch(e){ne=!0,re=e}finally{try{!te&&oe.return&&oe.return()}finally{if(ne)throw re}}}}catch(e){Z=!0,Y=e}finally{try{!U&&K.return&&K.return()}finally{if(Z)throw Y}}f.tweens[A]=Q}}}}catch(e){_=!0,T=e}finally{try{!E&&V.return&&V.return()}finally{if(_)throw T}}}else console.warn("VelocityJS: Trying to set 'registerSequence' sequence to an invalid value:",r,i);else console.warn("VelocityJS: Trying to set 'registerSequence' name to an invalid value:",r)}}],!0);var nn=void 0;
146try{nn=Promise}catch(e){}var rn=", if that is deliberate then pass `promiseRejectEmpty:false` as an option";function on(e,t){v(t,"promise",e),v(t,"then",e.then.bind(e)),v(t,"catch",e.catch.bind(e)),e.finally&&v(t,"finally",e.finally.bind(e))}function an(){var e,t=ve,n=arguments.length<=0?void 0:arguments[0],r=s(n)&&(n.p||s(n.properties)&&!n.properties.names||u(n.properties)),y=0,g=void 0,m=void 0,w=void 0,b=void 0,S=void 0,x=void 0,k=void 0;(a(this)?g=[this]:f(this)?(g=d(this),c(this)&&(b=this.velocity.animations)):r?(g=d(n.elements||n.e),y++):a(n)?(g=d([n]),y++):f(n)&&(g=d(n),y++),g&&(v(g,"velocity",an.bind(g)),b&&v(g.velocity,"animations",b)),r)?m=p(n.properties,n.p):(e=y++,m=arguments.length<=e?void 0:arguments[e]);var O="reverse"===m,E=!O&&u(m),_=E&&Te[m],T=r?p(n.options,n.o):arguments.length<=y?void 0:arguments[y];if(s(T)&&(w=T),nn&&p(w&&w.promise,t.promise)&&(S=new nn(function(e,t){k=t,x=function(t){c(t)&&t.promise?(delete t.then,delete t.catch,delete t.finally,e(t),on(t.promise,t)):e(t)}}),g&&on(S,g)),S){var M=w&&w.promiseRejectEmpty,V=p(M,t.promiseRejectEmpty);g||E?m||(V?k("Velocity: No properties supplied"+(i(M)?"":rn)+". Aborting."):x()):V?k("Velocity: No elements supplied"+(i(M)?"":rn)+". Aborting."):x()}if(!g&&!E||!m)return S;if(E){for(var q=[],N=S&&{_promise:S,_resolver:x,_rejecter:k};y<arguments.length;){var A;q.push((A=y++,arguments.length<=A?void 0:arguments[A]))}var L=m.replace(/\..*$/,""),J=h[L];if(J){var I=J(q,g,N,m);return void 0!==I?I:g||S}if(!_)return void console.error("VelocityJS: First argument ("+m+") was not a property map, a known action, or a registered redirect. Aborting.")}var j=void 0;if(s(m)||O||_){var C={},P=t.sync;if(S&&(v(C,"_promise",S),v(C,"_rejecter",k),v(C,"_resolver",x)),v(C,"_ready",0),v(C,"_started",0),v(C,"_completed",0),v(C,"_total",0),s(w)){var z=B(w.duration);j=void 0!==z,C.duration=p(z,t.duration),C.delay=p(R(w.delay),t.delay),C.easing=W(p(w.easing,t.easing),C.duration)||W(t.easing,C.duration),C.loop=p(G(w.loop),t.loop),C.repeat=C.repeatAgain=p(D(w.repeat),t.repeat),null!=w.speed&&(C.speed=p(U(w.speed),1)),i(w.promise)&&(C.promise=w.promise),C.queue=p(Q(w.queue),t.queue),w.mobileHA&&!ke.isGingerbread&&(C.mobileHA=!0),!0===w.drag&&(C.drag=!0),(l(w.stagger)||o(w.stagger))&&(C.stagger=w.stagger),O||(null!=w.display&&(m.display=w.display,console.error('Deprecated "options.display" used, this is now a property:',w.display)),null!=w.visibility&&(m.visibility=w.visibility,console.error('Deprecated "options.visibility" used, this is now a property:',w.visibility)));var $=F(w.begin),Y=H(w.complete),X=function(e){if(o(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'progress' to an invalid value:",e)}(w.progress),K=Z(w.sync);null!=$&&(C.begin=$),null!=Y&&(C.complete=Y),null!=X&&(C.progress=X),null!=K&&(P=K)}else if(!r){var ee=0;if(C.duration=B(arguments.length<=y?void 0:arguments[y],!0),void 0===C.duration?C.duration=t.duration:(j=!0,ee++),!o(arguments.length<=y+ee?void 0:arguments[y+ee])){var te=W(arguments.length<=y+ee?void 0:arguments[y+ee],p(C&&B(C.duration),t.duration),!0);void 0!==te&&(ee++,C.easing=te)}var ne=H(arguments.length<=y+ee?void 0:arguments[y+ee],!0);void 0!==ne&&(C.complete=ne),C.delay=t.delay,C.loop=t.loop,C.repeat=C.repeatAgain=t.repeat}if(O&&!1===C.queue)throw new Error("VelocityJS: Cannot reverse a queue:false animation.");!j&&_&&_.duration&&(C.duration=_.duration);var re={options:C,elements:g,_prev:void 0,_next:void 0,_flags:P?32:0,percentComplete:0,ellapsedTime:0,timeStart:0};b=[];for(var ie=0;ie<g.length;ie++){var oe=g[ie],ae=0;if(a(oe)){if(O){var le=be(oe).lastAnimationList[C.queue];if(!(m=le&&le.tweens)){console.error("VelocityJS: Attempting to reverse an animation on an element with no previous animation:",oe);continue}ae|=64&~(64&le._flags)}var se=Object.assign({},re,{element:oe,_flags:re._flags|ae});if(C._total++,b.push(se),C.stagger)if(o(C.stagger)){var ue=ln(C.stagger,oe,ie,g.length,g,"stagger");l(ue)&&(se.delay=C.delay+ue)}else se.delay=C.delay+C.stagger*ie;C.drag&&(se.duration=C.duration-C.duration*Math.max(1-(ie+1)/g.length,.75)),_?tn(se,_):O?se.tweens=m:(se.tweens=Object.create(null),Ze(se,m)),Ee(oe,se,C.queue)}}!1===ke.isTicking&&pt(!1),b&&v(g.velocity,"animations",b)}return g||S}function ln(e,t,n,r,i,o){try{return e.call(t,n,r,i,o)}catch(e){console.error("VelocityJS: Exception when calling '"+o+"' callback:",e)}}function sn(e,t){try{v(e,(t?"V":"v")+"elocity",an)}catch(e){console.warn("VelocityJS: Error when trying to add prototype.",e)}}var un,cn=an;if(function(e){e.Actions=h,e.Easings=S,e.Sequences=Te,e.State=ke,e.defaults=ve,e.patch=sn,e.debug=!1,e.mock=!1,e.version="2.0.6",e.Velocity=an}(un||(un={})),function(){if(document.documentMode)return document.documentMode;for(var e=7;e>4;e--){var t=document.createElement("div");if(t.innerHTML="\x3c!--[if IE "+e+"]><span></span><![endif]--\x3e",t.getElementsByTagName("span").length)return t=null,e}}()<=8)throw new Error("VelocityJS cannot run on Internet Explorer 8 or earlier");if(window){var fn=window.jQuery,dn=window.Zepto;sn(window,!0),sn(Element&&Element.prototype),sn(NodeList&&NodeList.prototype),sn(HTMLCollection&&HTMLCollection.prototype),sn(fn,!0),sn(fn&&fn.fn),sn(dn,!0),sn(dn&&dn.fn)}var vn=function(t){if(un.hasOwnProperty(t))switch(void 0===t?"undefined":e(t)){case"number":case"boolean":v(cn,t,{get:function(){return un[t]},set:function(e){un[t]=e}},!0);break;default:v(cn,t,un[t],!0)}};for(var pn in un)vn(pn);return Object.freeze(cn),cn})
147;!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("velocity-animate")):"function"==typeof define&&define.amd?define(["velocity-animate"],e):e(t.Velocity)}(this,function(t){"use strict";(t=t&&t.hasOwnProperty("default")?t.default:t)("registerSequence","bounce",{duration:1e3,"0,100%":{transformOrigin:"center bottom"}
147,"0%,20%,53%,80%,100%":{transform:["translate3d(0,0px,0)","easeOutCubic"]},"40%,43%":{transform:["translate3d(0,-30px,0)","easeInQuint"]},"70%":{transform:["translate3d(0,-15px,0)","easeInQuint"]},"90%":{transform:"translate3d(0,-4px,0)"}}),t("registerSequence","flash",{duration:1e3,"0%,50%,100%":{opacity:"1"},"25%,75%":{opacity:"0"}}),t("registerSequence","headShake",{duration:1e3,easing:"easeInOut","0%":{transform:"translateX(0) rotateY(0)"},"6.5%":{transform:"translateX(-6px) rotateY(-9deg)"},"18.5%":{transform:"translateX(5px) rotateY(7deg)"},"31.5%":{transform:"translateX(-3px) rotateY(-5deg)"},"43.5%":{transform:"translateX(2px) rotateY(3deg)"},"50%":{transform:"translateX(0) rotateY(0)"}}),t("registerSequence","jello",{duration:1e3,"0%,100%":{transformOrigin:"center"},"0%,11.1%,100%":{transform:"skewX(0) skewY(0)"},"22.2%":{transform:"skewX(-12.5deg) skewY(-12.5deg)"},"33.3%":{transform:"skewX(6.25deg) skewY(6.25deg)"},"44.4%":{transform:"skewX(-3.125deg) skewY(-3.125deg)"},"55.5%":{transform:"skewX(1.5625deg) skewY(1.5625deg)"},"66.6%":{transform:"skewX(-0.78125deg) skewY(-0.78125deg)"},"77.7%":{transform:"skewX(0.390625deg) skewY(0.390625deg)"},"88.8%":{transform:"skewX(-0.1953125deg) skewY(-0.1953125deg)"}}),t("registerSequence","pulse",{duration:1e3,"0%":{transform:"scale3d(1,1,1)"},"50%":{transform:"scale3d(1.05,1.05,1.05)"},"100%":{transform:"scale3d(1,1,1)"}}),t("registerSequence","rubberBand",{duration:1e3,"0%":{transform:"scale3d(1,1,1)"},"30%":{transform:"scale3d(1.25,0.75,1)"},"40%":{transform:"scale3d(0.75,1.25,1)"},"50%":{transform:"scale3d(1.15,0.85,1)"},"65%":{transform:"scale3d(0.95,1.05,1)"},"75%":{transform:"scale3d(1.05,0.95,1)"},"100%":{transform:"scale3d(1,1,1)"}}),t("registerSequence","shake",{duration:1e3,"0%,100%":{transform:"translate3d(0,0,0)"},"10%,30%,50%,70%,90%":{transform:"translate3d(-10px,0,0)"},"20%,40%,60%,80%":{transform:"translate3d(10px,0,0)"}}),t("registerSequence","swing",{duration:1e3,"0%,100%":{transform:"rotate3d(0,0,1,0deg)",transformOrigin:"center"},"20%":{transform:"rotate3d(0,0,1,15deg)"},"40%":{transform:"rotate3d(0,0,1,-10deg)"},"60%":{transform:"rotate3d(0,0,1,5deg)"},"80%":{transform:"rotate3d(0,0,1,-5deg)"}}),t("registerSequence","tada",{duration:1e3,"0%":{transform:"scale3d(1,1,1) rotate3d(0,0,0,0)"},"10%,20%":{transform:"scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg)"},"30%,50%,70%,90%":{transform:"scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)"},"40%,60%,80%":{transform:"scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)"},"100%":{transform:"scale3d(1, 1, 1) rotate3d(0,0,0,0)"}}),t("registerSequence","wobble",{duration:1e3,"0%":{transform:"translate3d(0,0,0) rotate3d(0,0,0,0)"},"15%":{transform:"translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)"},"30%":{transform:"translate3d(20%,0,0) rotate3d(0,0,1,3deg)"},"45%":{transform:"translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)"},"60%":{transform:"translate3d(10%,0,0) rotate3d(0,0,1,2deg)"},"75%":{transform:"translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)"},"100%":{transform:"translate3d(0,0,0) rotate3d(0,0,0,0)"}}),t("registerSequence","bounceIn",{duration:750,easing:"easeOutCubic","0%":{opacity:"0",transform:"scale3d(0.3,0.3,0.3)"},"20%":{transform:"scale3d(1.1,1.1,1.1)"},"40%":{transform:"scale3d(0.9,0.9,0.9)"},"60%":{opacity:"1",transform:"scale3d(1.03,1.03,1.03)"},"80%":{transform:"scale3d(0.97,0.97,0.97)"},"100%":{opacity:"1",transform:"scale3d(1,1,1)"}}),t("registerSequence","bounceInDown",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(0,-3000px,0)"},"60%":{opacity:"1",transform:["translate3d(0,25px,0)","easeOutCubic"]},"75%":{transform:["translate3d(0,-10px,0)","easeOutCubic"]},"90%":{transform:["translate3d(0,5px,0)","easeOutCubic"]},"100%":{transform:["translate3d(0,0,0)","easeOutCubic"]}}),t("registerSequence","bounceInLeft",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(-3000px,0,0)"},"60%":{opacity:"1",transform:["translate3d(25px,0,0)","easeOutCubic"]},"75%":{transform:["translate3d(-10px,0,0)","easeOutCubic"]},"90%":{transform:["translate3d(5px,0,0)","easeOutCubic"]},"100%":{transform:["translate3d(0,0,0)","easeOutCubic"]}}),t("registerSequence","bounceInRight",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(3000px,0,0)"},"60%":{opacity:"1",transform:["translate3d(-25px,0,0)","easeOutCubic"]},"75%":{transform:["translate3d(10px,0,0)","easeOutCubic"]},"90%":{transform:["translate3d(-5px,0,0)","easeOutCubic"]}
147,"100%":{transform:["translate3d(0,0,0)","easeOutCubic"]}}),t("registerSequence","bounceInUp",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(0,3000px,0)"},"60%":{opacity:"1",transform:["translate3d(0,-25px,0)","easeOutCubic"]},"75%":{transform:["translate3d(0,10px,0)","easeOutCubic"]},"90%":{transform:["translate3d(0,-5px,0)","easeOutCubic"]},"100%":{transform:["translate3d(0,0,0)","easeOutCubic"]}}),t("registerSequence","bounceOut",{duration:750,"0%":{opacity:"1",transform:"scale3d(1,1,1)"},"20%":{transform:"scale3d(0.9,0.9,0.9)"},"50%,55%":{opacity:"1",transform:"scale3d(1.1,1.1,1.1)"},to:{opacity:"0",transform:"scale3d(0.3,0.3,0.3)"}}),t("registerSequence","bounceOutDown",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"20%":{transform:"translate3d(0,10px,0)"},"40%,45%":{opacity:"1",transform:"translate3d(0,-20px,0)"},"100%":{opacity:"0",transform:"translate3d(0,2000px,0)"}}),t("registerSequence","bounceOutLeft",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"20%":{opacity:"1",transform:"translate3d(20px,0,0)"},"100%":{opacity:"0",transform:"translate3d(-2000px,0,0)"}}),t("registerSequence","bounceOutRight",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"20%":{opacity:"1",transform:"translate3d(-20px,0,0)"},"100%":{opacity:"0",transform:"translate3d(2000px,0,0)"}}),t("registerSequence","bounceOutUp",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"20%":{transform:"translate3d(0,-10px,0)"},"40%,45%":{opacity:"1",transform:"translate3d(0,20px,0)"},"100%":{opacity:"0",transform:"translate3d(0,-2000px,0)"}}),t("registerSequence","fadeIn",{duration:1e3,"0%":{opacity:"0"},"100%":{opacity:"1"}}),t("registerSequence","fadeInDown",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(0,-100%,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInDownBig",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(0,-2000px,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInLeft",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(-100%,0,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInLeftBig",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(-2000px,0,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInRight",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(100%,0,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInRightBig",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(2000px,0,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInUp",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(0,100%,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeInUpBig",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(0,2000px,0)"},"100%":{opacity:"1",transform:"translate3d(0,0,0)"}}),t("registerSequence","fadeOut",{duration:1e3,"0%":{opacity:"1"},"100%":{opacity:"0"}}),t("registerSequence","fadeOutDown",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(0,100%,0)"}}),t("registerSequence","fadeOutDownBig",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(0,2000px,0)"}}),t("registerSequence","fadeOutLeft",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(-100%,0,0)"}}),t("registerSequence","fadeOutLeftBig",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(-2000px,0,0)"}}),t("registerSequence","fadeOutRight",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(100%,0,0)"}}),t("registerSequence","fadeOutRightBig",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(2000px,0,0)"}}),t("registerSequence","fadeOutUp",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)"},"100%":{opacity:"0",transform:"translate3d(0,-100%,0)"}}),t("registerSequence","fadeOutUpBig",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,
1470,0)"},"100%":{opacity:"0",transform:"translate3d(0,-2000px,0)"}}),t("registerSequence","flip",{duration:1e3,"0%,100%":{backfaceVisibility:"visible"},"0%":{transform:["perspective(400px) translate3d(0,0,0) rotate3d(0,1,0,-360deg) scale3d(1,1,1)","easeOut"]},"40%":{transform:["perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg) scale3d(1,1,1)","easeOut"]},"50%":{transform:["perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg) scale3d(1,1,1)","easeIn"]},"80%":{transform:["perspective(400px) translate3d(0,0,0) rotate3d(0,1,0,0) scale3d(0.95,0.95,0.95)","easeIn"]},"100%":{transform:["perspective(400px) translate3d(0,0,0) rotate3d(0,0,0,0) scale3d(1,1,1)","ease-in"]}}),t("registerSequence","flipInX",{duration:1e3,"0%,100%":{backfaceVisibility:"visible"},"0%":{opacity:"0",transform:"perspective(400px) rotate3d(1,0,0,90deg)"},"40%":{transform:["perspective(400px) rotate3d(1,0,0,-20deg)","easeIn"]},"60%":{opacity:"1",transform:"perspective(400px) rotate3d(1,0,0,10deg)"},"80%":{transform:"perspective(400px) rotate3d(1,0,0,-5deg)"},"100%":{transform:"perspective(400px) rotate3d(1,0,0,0)"}}),t("registerSequence","flipInY",{duration:1e3,"0%,100%":{backfaceVisibility:"visible"},"0%":{opacity:"0",transform:"perspective(400px) rotate3d(0,1,0,90deg)"},"40%":{transform:["perspective(400px) rotate3d(0,1,0,-20deg)","easeIn"]},"60%":{opacity:"1",transform:"perspective(400px) rotate3d(0,1,0,10deg)"},"80%":{transform:"perspective(400px) rotate3d(0,1,0,-5deg)"},"100%":{transform:"perspective(400px) rotate3d(0,1,0,0)"}}),t("registerSequence","flipOutX",{duration:750,"0%,100%":{backfaceVisibility:"visible"},"0%":{transform:"perspective(400px) rotate3d(1,0,0,0)"},"30%":{opacity:"1",transform:"perspective(400px) rotate3d(1,0,0,-20deg)"},"100%":{opacity:"0",transform:"perspective(400px) rotate3d(1,0,0,90deg)"}}),t("registerSequence","flipOutY",{duration:750,"0%,100%":{backfaceVisibility:"visible"},"0%":{transform:"perspective(400px) rotate3d(0,1,0,0)"},"30%":{opacity:"1",transform:"perspective(400px) rotate3d(0,1,0,-20deg)"},"100%":{opacity:"0",transform:"perspective(400px) rotate3d(0,1,0,90deg)"}}),t("registerSequence","lightSpeedIn",{duration:1e3,easing:"easeOut","0%":{opacity:"0",transform:"translate3d(100%,0,0) skewX(-30deg)"},"60%":{opacity:"1",transform:"translate3d(40%,0,0) skewX(20deg)"},"80%":{opacity:"1",transform:"translate3d(20%,0,0) skewX(-5deg)"},"100%":{opacity:"1",transform:"translate3d(0,0,0) skew(0)"}}),t("registerSequence","lightSpeedOut",{duration:1e3,easing:"easeIn","0%":{opacity:"1",transform:"translate3d(0,0,0) skewX(0)"},"100%":{opacity:"0",transform:"translate3d(100%,0,0) skewX(30deg)"}}),t("registerSequence","rotateIn",{duration:1e3,"0%":{opacity:"0",transform:"rotate3d(0,0,1,-200deg)",transformOrigin:"center"},"100%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"center"}}),t("registerSequence","rotateInDownLeft",{duration:1e3,"0%":{opacity:"0",transform:"rotate3d(0,0,1,-45deg)",transformOrigin:"left bottom"},"100%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"left bottom"}}),t("registerSequence","rotateInDownRight",{duration:1e3,"0%":{opacity:"0",transform:"rotate3d(0,0,1,45deg)",transformOrigin:"right bottom"},"100%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"right bottom"}}),t("registerSequence","rotateInUpLeft",{duration:1e3,"0%":{opacity:"0",transform:"rotate3d(0,0,1,45deg)",transformOrigin:"left bottom"},"100%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"left bottom"}}),t("registerSequence","rotateInUpRight",{duration:1e3,"0%":{opacity:"0",transform:"rotate3d(0,0,1,-90deg)",transformOrigin:"right bottom"},"100%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"right bottom"}}),t("registerSequence","rotateOut",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"center"},"100%":{opacity:"0",transform:"rotate3d(0,0,1,200deg)",transformOrigin:"center"}}),t("registerSequence","rotateOutDownLeft",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"left bottom"}
147,"100%":{opacity:"0",transform:"rotate3d(0,0,1,45deg)",transformOrigin:"left bottom"}}),t("registerSequence","rotateOutDownRight",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"right bottom"},"100%":{opacity:"0",transform:"rotate3d(0,0,1,-45deg)",transformOrigin:"right bottom"}}),t("registerSequence","rotateOutUpLeft",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"left bottom"},"100%":{opacity:"0",transform:"rotate3d(0,0,1,-45deg)",transformOrigin:"left bottom"}}),t("registerSequence","rotateOutUpRight",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0)",transformOrigin:"right bottom"},"100%":{opacity:"0",transform:"rotate3d(0,0,1,90deg)",transformOrigin:"right bottom"}}),t("registerSequence","slideInDown",{duration:1e3,"0%":{transform:"translate3d(0,-100%,0)",visibility:"hidden",opacity:"0"},"100%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"}}),t("registerSequence","slideInLeft",{duration:1e3,"0%":{transform:"translate3d(-100%,0,0)",visibility:"hidden",opacity:"0"},"100%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"}}),t("registerSequence","slideInRight",{duration:1e3,"0%":{transform:"translate3d(100%,0,0)",visibility:"hidden",opacity:"0"},"100%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"}}),t("registerSequence","slideInUp",{duration:1e3,"0%":{transform:"translate3d(0,100%,0)",visibility:"hidden",opacity:"0"},"100%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"}}),t("registerSequence","slideOutDown",{duration:1e3,"0%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"},"100%":{transform:"translate3d(0,-100%,0)",visibility:"hidden",opacity:"0"}}),t("registerSequence","slideOutLeft",{duration:1e3,"0%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"},"100%":{transform:"translate3d(-100%,0,0)",visibility:"hidden",opacity:"0"}}),t("registerSequence","slideOutRight",{duration:1e3,"0%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"},"100%":{transform:"translate3d(100%,0,0)",visibility:"hidden",opacity:"0"}}),t("registerSequence","slideOutUp",{duration:1e3,"0%":{transform:"translate3d(0,0,0)",visibility:"visible",opacity:"1"},"100%":{transform:"translate3d(0,100%,0)",visibility:"hidden",opacity:"0"}}),t("registerSequence","hinge",{duration:2e3,"0%":{opacity:"1",transform:"translate3d(0,0,0) rotate3d(0,0,1,0)",transformOrigin:"top left"},"20%,60%":{transform:["translate3d(0,0,0) rotate3d(0,0,1,80deg)","easeInOut"]},"40%,80%":{opacity:"1",transform:["translate3d(0,0,0) rotate3d(0,0,1,60deg)","easeInOut"]},"100%":{opacity:"0",transform:["translate3d(0,700px,0) rotate3d(0,0,1,80deg)","easeInOut"]}}),t("registerSequence","jackInTheBox",{duration:1e3,"0%":{opacity:"0",transform:"scale(0.1) rotate(30deg)",transformOrigin:"center bottom"},"50%":{transform:"scale(0.5) rotate(-10deg)"},"70%":{transform:"scale(0.7) rotate(3deg)"},"100%":{opacity:"1",transform:"scale(1) rotate(0)"}}),t("registerSequence","rollIn",{duration:1e3,"0%":{opacity:"0",transform:"translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)"},"100%":{opacity:"1",transform:"translate3d(0,0,0) rotate3d(0,0,1,0)"}}),t("registerSequence","rollOut",{duration:1e3,"0%":{opacity:"1",transform:"translate3d(0,0,0) rotate3d(0,0,1,0)"},"100%":{opacity:"0",transform:"translate3d(100%,0,0) rotate3d(0,0,1,120deg)"}}),t("registerSequence","zoomIn",{duration:1e3,"0%":{opacity:"0",transform:"scale3d(0.3,0.3,0.3)"},"50%":{opacity:"1"},"100%":{transform:"scale3d(1,1,1)"}}),t("registerSequence","zoomInDown",{duration:1e3,"0%":{opacity:"0",transform:"scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0)"},"60%":{opacity:"1",transform:["scale3d(0.475,0.475,0.475) translate3d(0,60px,0)","easeInCubic"]},"100%":{transform:["scale3d(1,1,1) translate3d(0,0,0)",[.175,.885,.32,1]]}}),t("registerSequence","zoomInLeft",{duration:1e3,"0%":{opacity:"0",transform:"scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0)"},"60%":{opacity:"1",transform:["scale3d(0.475,0.475,0.475) translate3d(10px,0,0)","easeInCubic"]}
vendor: 19,120 bytes, lines 147-153
147,"100%":{transform:["scale3d(1,1,1) translate3d(0,0,0)",[.175,.885,.32,1]]}}),t("registerSequence","zoomInRight",{duration:1e3,"0%":{opacity:"0",transform:"scale3d(0.1,0.1,0.1) translate3d(1000px,0,0)"},"60%":{opacity:"1",transform:["scale3d(0.475,0.475,0.475) translate3d(-10px,0,0)","easeInCubic"]},"100%":{transform:["scale3d(1,1,1) translate3d(0,0,0)",[.175,.885,.32,1]]}}),t("registerSequence","zoomInUp",{duration:1e3,"0%":{opacity:"0",transform:"scale3d(0.1,0.1,0.1) translate3d(0,1000px,0)"},"60%":{opacity:"1",transform:["scale3d(0.475,0.475,0.475) translate3d(0,-60px,0)","easeInCubic"]},"100%":{transform:["scale3d(1,1,1) translate3d(0,0,0)",[.175,.885,.32,1]]}}),t("registerSequence","zoomOut",{duration:1e3,"0%":{transform:"scale3d(1,1,1)"},"50%":{opacity:"1"},"100%":{opacity:"0",transform:"scale3d(0.3,0.3,0.3)"}}),t("registerSequence","zoomOutDown",{duration:1e3,"0%":{transform:"scale3d(1,1,1) translate3d(0,0,0)"},"40%":{opacity:"1",transform:["scale3d(0.475,0.475,0.475) translate3d(0,60px,0)",[.55,.055,.675,.19]]},"100%":{opacity:"0",transform:["scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0)",[.175,.885,.32,1]]}}),t("registerSequence","zoomOutLeft",{duration:1e3,"0%":{opacity:"1",transform:"scale(1) translate3d(0,0,0)",transformOrigin:"left center"},"40%":{opacity:"1",transform:"scale(0.475) translate3d(42px,0,0)"},"100%":{opacity:"0",transform:"scale(0.1) translate3d(-2000px,0,0)",transformOrigin:"left center"}}),t("registerSequence","zoomOutRight",{duration:1e3,"0%":{opacity:"1",transform:"scale(1) translate3d(0,0,0)",transformOrigin:"right center"},"40%":{opacity:"1",transform:"scale(0.475) translate3d(-42px, 0, 0)"},"100%":{opacity:"0",transform:"scale(0.1) translate3d(2000px, 0, 0)",transformOrigin:"right center"}}),t("registerSequence","zoomOutUp",{duration:1e3,"0%":{transform:"scale3d(1,1,1) translate3d(0,0,0)"},"40%":{opacity:"1",transform:["scale3d(0.475,0.475,0.475) translate3d(0,-60px,0)",[.55,.055,.675,.19]]},"100%":{opacity:"0",transform:["scale3d(0.1,0.1,0.1) translate3d(0,1000px,0)",[.175,.885,.32,1]]}})})
148;/*! Hammer.JS - v2.0.8 - 2016-04-23
149 * http://hammerjs.github.io/
150 *
151 * Copyright (c) 2016 Jorik Tangelder;
152 * Licensed under the MIT license */
153!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ga|Ha)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),"identifier",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a),this.primaryTouch=null,this.lastTouches=[]}function S(a,b){a&Ea?(this.primaryTouch=b.changedPointers[0].identifier,T.call(this,b)):a&(Ga|Ha)&&T.call(this,b)}function T(a){var b=a.changedPointers[0];if(b.identifier===this.primaryTouch){var c={x:b.clientX,y:b.clientY};this.lastTouches.push(c);var d=this.lastTouches,e=function(){var a=d.indexOf(c);a>-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d<this.lastTouches.length;d++){var e=this.lastTouches[d],f=Math.abs(b-e.x),g=Math.abs(c-e.y);if(db>=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(d){b[d]=c?a.CSS.supports("touch-action",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?"cancel":a&qb?"end":a&pb?"move":a&ob?"start":""}function $(a){return a==Ma?"down":a==La?"up":a==Ja?"left":a==Ka?"right":""}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||""}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=["","webkit","Moz","MS","ms","o"],na=b.createElement("div"),oa="function",pa=Math.round,qa=Math.abs,ra=Date.now;la="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var sa=h(function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a},"extend","Use `assign`."),ta=h(function(a,b){return sa(a,b,!0)},"merge","Use `assign`."),ua=1,va=/mobile|tablet|ip(ad|hone|od)|android/i,wa="ontouchstart"in a,xa=u(a,"PointerEvent")!==d,ya=wa&&va.test(navigator.userAgent),za="touch",Aa="pen",Ba="mouse",Ca="kinect",Da=25,Ea=1,Fa=2,Ga=4,Ha=8,Ia=1,Ja=2,Ka=4,La=8,Ma=16,Na=Ja|Ka,Oa=La|Ma,Pa=Na|Oa,Qa=["x","y"],Ra=["clientX","clientY"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Sa={mousedown:Ea,mousemove:Fa,mouseup:Ga},Ta="mousedown",Ua="mousemove mouseup";i(L,x,{handler:function(a){var b=Sa[a.type];b&Ea&&0===a.button&&(this.pressed=!0),b&Fa&&1!==a.which&&(b=Ga),this.pressed&&(b&Ga&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:Ba,srcEvent:a}))}});var Va={pointerdown:Ea,pointermove:Fa,pointerup:Ga,pointercancel:Ha,pointerout:Ha},Wa={2:za,3:Aa,4:Ba,5:Ca},Xa="pointerdown",Ya="pointermove pointerup pointercancel";a.MSPointerEvent&&!a.PointerEvent&&(Xa="MSPointerDown",Ya="MSPointerMove MSPointerUp MSPointerCancel"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Va[d],f=Wa[a.pointerType]||a.pointerType,g=f==za,h=r(b,a.pointerId,"pointerId");e&Ea&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a="touchstart",_a="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,"touchAction"),fb=eb!==d,gb="compute",hb="auto",ib="manipulation",jb="none",kb="pan-x",lb="pan-y",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(" "))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(tb|nb)))return!1;a++}return!0},recognize:function(a){var b=la({},a);return k(this.options.enable,[this,b])?(this.state&(rb|sb|tb)&&(this.state=nb),this.state=this.process(b),void(this.state&(ob|pb|qb|sb)&&this.tryEmit(b))):(this.reset(),void(this.state=tb))},process:function(a){},getTouchAction:function(){},reset:function(){}},i(aa,Y,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ob|pb),e=this.attrTest(a);return d&&(c&Ha||!e)?b|sb:d||e?c&Ga?b|qb:b&ob?b|pb:ob:tb}}),i(ba,aa,{defaults:{event:"pan",threshold:10,pointers:1,direction:Pa},getTouchAction:function(){var a=this.options.direction,b=[];return a&Na&&b.push(lb),a&Oa&&b.push(kb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Na?(e=0===f?Ia:0>f?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaT
153ime<b.time;if(this.reset(),a.eventType&Ea&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ga)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=rb,this.tryEmit()},b.interval,this),ob):rb}return tb},failTimeout:function(){return this._timer=e(function(){this.state=tb},this.options.interval,this),tb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rb&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ha.VERSION="2.0.8",ha.defaults={domEvents:!1,touchAction:gb,enable:!0,inputTarget:null,inputClass:null,preset:[[ea,{enable:!1}],[ca,{enable:!1},["rotate"]],[fa,{direction:Na}],[ba,{direction:Na},["swipe"]],[ga],[ga,{event:"doubletap",taps:2},["tap"]],[da]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ub=1,vb=2;ia.prototype={set:function(a){return la(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?vb:ub},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&rb)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===vb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ob|pb|qb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof Y)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){if(a!==d&&b!==d){var c=this.handlers;return g(q(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this}},off:function(a,b){if(a!==d){var c=this.handlers;return g(q(a),function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]}),this}},emit:function(a,b){this.options.domEvents&&ka(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ja(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},la(ha,{INPUT_START:Ea,INPUT_MOVE:Fa,INPUT_END:Ga,INPUT_CANCEL:Ha,STATE_POSSIBLE:nb,STATE_BEGAN:ob,STATE_CHANGED:pb,STATE_ENDED:qb,STATE_RECOGNIZED:rb,STATE_CANCELLED:sb,STATE_FAILED:tb,DIRECTION_NONE:Ia,DIRECTION_LEFT:Ja,DIRECTION_RIGHT:Ka,DIRECTION_UP:La,DIRECTION_DOWN:Ma,DIRECTION_HORIZONTAL:Na,DIRECTION_VERTICAL:Oa,DIRECTION_ALL:Pa,Manager:ia,Input:x,TouchAction:V,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:Y,AttrRecognizer:aa,Tap:ga,Pan:ba,Swipe:fa,Pinch:ca,Rotate:ea,Press:da,on:m,off:n,each:g,merge:ta,extend:sa,assign:la,inherit:i,bindFn:j,prefixed:u});var wb="undefined"!=typeof a?a:"undefined"!=typeof self?self:{};wb.Hammer=ha,"function"==typeof define&&define.amd?define(function(){return ha}):"undefined"!=typeof module&&module.exports?module.exports=ha:a[c]=ha}(window,document,"Hammer")
154;(function(factory){if(typeof define==='function'&&define.amd){define(['jquery','hammerjs'],factory)}else if(typeof exports==='object'){factory(require('jquery'),require('hammerjs'))}else{factory(jQuery,Hammer)}}(function($,Hammer){function hammerify(el,options){var $el=$(el);if(!$el.data("hammer")){$el.data("hammer",new Hammer($el[0],options))}}
155$.fn.hammer=function(options){return this.each(function(){hammerify(this,options)})};Hammer.Manager.prototype.emit=(function(originalEmit){return function(type,data){originalEmit.call(this,type,data);$(this.element).trigger({type:type,gesture:data})}})(Hammer.Manager.prototype.emit)}))
156;/**
157 * @copyright
158 * Copyright (C) 2016 Nevma.gr
159 * 
160 * @license 
161 * This program is free software: you can redistribute it and/or modify it under
162 * the terms of the GNU General Public License as published by the Free 
163 * Software Foundation, either version 3 of the License, or (at your option)
164 * any later version.
165 *  
166 * This program is distributed in the hope that it will be useful, but WITHOUT
167 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
168 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
169 * details.
170 *  
171 * You should have received a copy of the GNU General Public License along with
172 * this program. If not, see <http://www.gnu.org/licenses/>.
173 */
174(function(e){e.greekUppercase=function(r,n){var i=this;i.TEXT_NODE=3;i.element=r;i.$element=e(r);i.traverseTree=function(r){if(r.get(0).nodeType==i.TEXT_NODE){i.replaceTextNode(r);return}r.contents().each(function(){i.traverseTree(e(this))})};i.replaceTextNode=function(e){var r=e.get(0);if(r.nodeType!=i.TEXT_NODE){return}var n=r.nodeValue;var t;for(t in i.options.chars){while(n.indexOf(t)>-1){n=n.replace(t,i.options.chars[t])}}if(i.options.replaceDiaeresis){for(t in i.options.charsDiaeresis){while(n.indexOf(t)>-1){n=n.replace(t,i.options.charsDiaeresis[t])}}}r.nodeValue=n};i.initialise=function(){i.options=e.extend({},e.greekUppercase.options,n);i.traverseTree(i.$element)};i.initialise()};e.greekUppercase.options={runOnDefault:!0,defaultSelector:".greek-uppercase",replaceDiaeresis:!0,chars:{"ά":"α","έ":"ε","ή":"η","ί":"ι","ό":"ο","ύ":"υ","ώ":"ω","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ό":"Ο","Ύ":"Υ","Ώ":"Ω","ς":"σ"},charsDiaeresis:{"ϊ":"ι","ΐ":"ι","'ι'":"ι","ϋ":"υ","ΰ":"υ","'υ'":"υ","Ϊ":"Ι","΅Ι":"Ι","'Ι'":"Ι","Ϋ":"Υ","΅Υ":"Υ","'Υ'":"Υ"}};e.fn.greekUppercase=function(r){return this.each(function(){new e.greekUppercase(this,r)})};e(function(){if(e.greekUppercase.options.runOnDefault){e(e.greekUppercase.options.defaultSelector).each(function(){e.greekUppercase(this)})}})})(jQuery)
175;jQuery.fn.popup=function(B,D){function t(a,c){var b=null;return function(){var e=this,d=arguments;clearTimeout(b);b=setTimeout(function(){a.apply(e,d)},c)}}function u(a,c){var b,d;b=(jQuery(window).width()-a)/2;d=(jQuery(window).height()-c)/2;return{x:b,y:d}}function m(b){var c="popup-overlay-"+a.ID;f=jQuery("#"+c);0==f.length&&(jQuery(document.body).append('<div id = "'+c+'" class = "'+a.overlayElementClass+'"></div>'),f=jQuery("#"+c),v=f.css("opacity"),f.css("display","block").css("position","fixed").css("opacity",0).css("z-index",a.startZIndex).css("top","0").css("left","0"),f.click(function(){h()}));f.css("display","block").css("width",jQuery(window).width()).css("height",jQuery(window).height());f.animate({opacity:""+v},{queue:!1,duration:a.animationDuration,easing:a.animationEasing,complete:function(){b&&b()}})}function C(b){f.animate({opacity:0}
175,{queue:!1,duration:a.animationDuration,easing:a.animationEasing,complete:function(){f.css("display","none");b&&b()}})}function n(){var b="temp-popup-contents-"+(new Date).getTime();jQuery(document.body).append('<div class = "'+a.popupContentsElementClass+'" id = "'+b+'" style = "visibility: hidden; float: left;"/>');b=jQuery("#"+b);b.append(g.clone());var c=b.outerWidth(),e=b.outerHeight();a.debug&&(console.log("Contents width: "+c),console.log("Contents height: "+e));d.find("."+a.popupContentsContainerElementClass).css("width",c).css("height",e);b.remove();-1<a.maxWidthFactor&&c>a.maxWidthFactor*jQuery(window).width()&&(c*=a.maxWidthFactor*jQuery(window).width()/c);-1<a.maxHeightFactor&&e>a.maxHeightFactor*jQuery(window).height()&&(e*=a.maxHeightFactor*jQuery(window).height()/e);-1<a.maxWidth&&c>a.maxWidth&&(c=a.maxWidth);-1<a.maxHeight&&e>a.maxHeight&&(e=a.maxHeight);-1<a.minWidth&&c<a.minWidth&&(c=a.minWidth);-1<a.minHeight&&e<a.minHeight&&(e=a.minHeight);-1<a.width&&(c=a.width);-1<a.height&&(e=a.height);a.debug&&(console.log("Final width: "+c),console.log("Final height: "+e));return{width:Math.ceil(c),height:Math.ceil(e)}}function k(b,c,e){if(p){var f=u(0,0);d.css("visibility","visible").css("z-index",a.startZIndex+1).css("top",f.y).css("left",f.x).css("width",0).css("height",0);q=d.outerWidth();r=d.outerHeight();w=d.css("overflow");p=!1}d.css("visibility","visible").css("z-index",a.startZIndex+1);d.find("."+a.popupContentsContainerElementClass).css("width",b).css("height",c);a.debug&&(console.log("Extra width: "+q),console.log("Extra height: "+r));f=u(b+q,c+r);d.animate({top:f.y,left:f.x,width:b,height:c},{duration:a.animationDuration,easing:a.animationEasing,queue:!1,complete:function(){d.css("overflow",w);var c=d.find("."+a.popupContentsContainerElementClass).width()-d.find("."+a.popupContentsElementClass).outerWidth();a.debug&&console.log("Adjustment: "+c);0<c&&(d.css("width",b+c),d.find("."+a.popupContentsContainerElementClass).css("width",b+c));e&&e()}})}function x(b,c){var e="popup-"+a.ID;d=jQuery("#"+e);0==d.length&&(jQuery(document.body).append('<div id = "'+e+'" class = "'+a.popupElementClass+'" style = "visibility: hidden; position: fixed;"></div>'),d=jQuery("#"+e));g=b instanceof jQuery?b.clone():jQuery(b);d.empty();m(function(){d.append('<a class = "'+a.closeElementClass+'" href = "#" title = "'+a.closeElementTitle+'"><span>x</span></a><div class = "'+a.popupContentsContainerElementClass+'"><div class = "'+a.popupContentsElementClass+'"></div></div>').find("."+a.popupContentsElementClass).append(g);d.find("."+a.closeElementClass).css("z-index",a.startZIndex+2).click(function(){h();return!1});var b=n();k(b.width,b.height,c)})}function y(b,c){var e=jQuery(window).width(),d=jQuery(window).height();if(z!=e||A!=d)z=e,A=d,a.beforeResizeCallback&&a.beforeResizeCallback(),m(function(){var b=n();k(b.width,b.height,function(){c&&c();a.afterResizeCallback&&a.afterResizeCallback()})})}function h(b){k(0,0,function(){jQuery(window).off("resize",l);jQuery(window).off("scroll",l);d.remove();C(function(){f.remove();a.destroyCallback&&a.destroyCallback();b&&b();p=!0})})}var a={animationDuration:300,animationEasing:"swing",overlayElementClass:"overlay",popupElementClass:"popup",popupContentsElementClass:"popup-contents",popupContentsContainerElementClass:"popup-contents-container",closeElementClass:"close",closeElementTitle:"Close this popup",maxWidthFactor:.75,maxHeightFactor:.75,width:-1,height:-1,maxWidth:-1,maxHeight:-1,minWidth:-1,minHeight:-1,aspectRatio:4/3,keepAspectRatio:!1,startZIndex:1,createCallback:null,destroyCallback:null,beforeResizeCallback:null,afterResizeCallback:null,debug:!1};jQuery.extend(a,B);a.ID=""+(new Date).getTime();var f,d,g,p=!0,v,w,q=0,r=0,z=jQuery(window).width(),A=jQuery(window).height(),l=t(y,100);x(this,a.createCallback);jQuery(document).keydown(function(a){27==(a.charCode||a.keyCode)&&h()});jQuery(window).on("resize",l);jQuery(window).on("scroll",l);return{destroy:h,position:t(y,100),getPopup:function(){return d},getContents:function(){return g},setContents:x,appendContents:function(b,c){g=g.add(b);d.find("."+a.popupContentsElementClass).append(b);m(function(){var b=n();k(b.width,b.height,function(){c&&c();a.afterResizeCallback&&a.afterResizeCallback()})})},getParameter:function(b){return a[b]},setParameter:function(b,c){a[b]=c}}}
176;jQuery.fn.anchorPopup=function(e,t){var a,r={selector:".popup-element",imageClass:"popup-image",imageTypes:["jpg","jpeg","png","gif"],imageShowNextPrevious:!0,imageShowNavigation:!0,imageNextTitle:"Next",imagePreviousTitle:"Previous",imageMaxWidthFactor:.8,imageMaxHeightFactor:.8,snippetClass:"popup-snippet",iframeClass:"popup-iframe",iframeDefaultWidth:600,iframeDefaultHeight:400,aja
176xClass:"popup-ajax",ajaxRequestMethodType:"GET",loaderHTML:'<p class = "popup-loader"><span>Please wait...</span></p>',loaderImageGalleryHTML:'<p class = "popup-loader-image-gallery"><span>Please wait...</span></p>',ajaxErrorHTML:'<p class = "popup-error"><span>There was a problem fetching the data.</span></p>',popupAttributePrefix:"popup-",popupParameters:{},debug:!1};jQuery.extend(r,e,!0);var i=null;(i=this.length>0?this:jQuery(r.selector)).click((function(){var e=jQuery(this);if(g(e))return h(e),!1;if(function(e){if(e.hasClass(r.snippetClass))return!0;var t=e.attr("href");if(0==jQuery.trim(t).indexOf("#"))return!0;return!1}(e))return function(e){r.debug&&console.log("Snippet");var t=e.attr("href"),i=jQuery(t).clone().css("visibility","visible").css("display","block");i.length>0&&(a=jQuery(i).popup(r.popupParameters))}(e),!1;if(function(e){if(e.hasClass(r.iframeClass))return!0;return!1}(e))return function(e){r.debug&&console.log("Iframe");var t=e.attr("href");r.debug&&console.log(t);var i=c(e,"width"),o=c(e,"height");i||(i=r.iframeDefaultWidth);o||(o=r.iframeDefaultHeight);r.debug&&(console.log("width: "+i),console.log("height: "+o));a=jQuery('<iframe src = "'+t+'" frameborder = "0" width = "'+i+'" height = "'+o+'" marginwidth = "0" marginheight = "0" style = "display: block; border: none; width: '+i+"px; height: "+o+'px;"></iframe>').popup(r.popupParameters)}(e),!1;if(function(e){if(e.hasClass(r.ajaxClass))return!0;return!1}(e))return function(e){r.debug&&console.log("Ajax");var t=e.attr("href");r.debug&&console.log(t);a=jQuery(r.loaderHTML).popup(jQuery.extend({},r.popupParameters,{createCallback:function(){jQuery.ajax({url:t,type:r.ajaxRequestMethodType,success:function(e){a.setContents(e)},error:function(){a.setContents(r.ajaxErrorHTML)},dataType:"html"})}}))}(e),!1;return!0}));for(var o,n,u,l=!0,s=0,p=i.length;s<p;s++)if(!g(jQuery(i.get(s)))){l=!1;break}function g(e){if(e.hasClass(r.imageClass))return!0;var t=e.attr("href"),a=t.lastIndexOf(".");if(a>0)for(var i=t.substring(a+1),o=0,n=r.imageTypes.length;o<n;o++)if(i==r.imageTypes[o])return!0;return!1}function h(e,t){r.debug&&console.log("Image");var o=e.attr("href"),n=i.index(e),u=e.attr("title");u||(u=""),r.debug&&console.log("Image: "+o);var s=function(){var e=new Image;e.src=o,e.onload=function(){!function(e,t,o){r.debug&&console.log("Image loaded");var n={width:jQuery(window).width(),height:jQuery(window).height()},u=r.imageMaxWidthFactor,s=r.imageMaxHeightFactor;n.width=n.width*u,n.height=n.height*s;var p=!1,g=1,c=1;e.width>n.width&&(p=!0,g=n.width/e.width,r.debug&&console.log("Width scale: "+g)),e.height>n.height&&(p=!0,c=n.height/e.height,r.debug&&console.log("Height scale: "+c));var f=1;p&&(f=Math.min(g,c),r.debug&&console.log("Final scale: "+f));var d=Math.floor(f*e.width),m=Math.floor(f*e.height),y='<img src = "'+e.src+'" alt = "'+t+'" title = "'+t+'" style = "display: block; width: '+d+"px; height: "+m+'px;"/>';l&&(y+='<p class = "popup-image-info">'+t+" (image "+(o+1)+" of "+i.length+")</p>",o>0&&(y+='<a class = "popup-previous" href = "#'+(o-1)+'" title = "'+r.imagePreviousTitle+" ("+o+" of "+i.length+' images)">'+r.imagePreviousTitle+"</a>"),o<i.length-1&&(y+='<a class = "popup-next"href = "#'+(o+1)+'" title = "'+r.imageNextTitle+" ("+(o+2)+" of "+i.length+' images)">'+r.imageNextTitle+"</a>")),a.setContents(y,(function(){jQuery(".popup-next, .popup-previous").click((function(){var e=jQuery(this).attr("href"),t=new Number(e.substring(1)).valueOf();return r.debug&&console.log("Index: "+t),h(jQuery(i.get(t)),!0),!1}))}))}(e,u,n)}};a&&t?(r.debug&&console.log("Use existing popup"),a.appendContents(r.loaderImageGalleryHTML,s)):(r.debug&&console.log("Create popup anew"),a=jQuery(r.loaderHTML).popup(jQuery.extend({},r.popupParameters,{maxWidthFactor:1,maxHeightFactor:1,createCallback:s})))}function c(e,t){for(var a=e.attr("class").split(" "),i=null,o=0,n=a.length;o<n;o++){var u=r.popupAttributePrefix+t+":";0==a[o].indexOf(u)&&r.debug&&(i=jQuery.trim(a[o].substring(u.length)))}return i}return i.length<2&&(l=!1),r.debug&&console.log("All images: "+l),l&&jQuery(document).keydown((o=function(e){var t=e.charCode||e.keyCode;37==t?jQuery(".popup-previous").click():39==t&&jQuery(".popup-next").click()},n=200,u=null,function(){var e=this,t=arguments;clearTimeout(u),u=setTimeout((function(){o.apply(e,t)}),n)})),{destroy:function(){a.destroy()}}}
177;/**
178 * Creates and initialises the accordion. 
179 * 
180 * @class
181 * @extends   Responsiville.Debug
182 * @extends   Responsiville.Events
183 * 
184 * @author    Nevma, [email protected]
185 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
186 * 
187 * @fires     Responsiville.Accordion#init
188 * 
189 * @classdesc A responsive accordion for the Responsiville framework. An 
190 *            accordion is a drawer-like user interface element with multiple
191 *            container which can be open one or many at a time.
192 *
193 * @param {Object} options The initialisation options of the module.
194 *
195 * @property {Object}  options              The options that define the object
196 *                                          behaviour.
197 * @property {boolean} options.exclusive    Whether multiple accordion panels 
198 *                                          accordion can be simultaneously open
199 *                                          or not. 
200 * @property {boolean}
200 options.slug         A special codename for the instance
201 *                                          of the element, to be used as a
202 *                                          class on its container and as a key
203 *                                          in arrays where it is grouped with
204 *                                          other elements of its kind. 
205 * @property {boolean} options.debug        Whether to print debug messages in
206 *                                          the browser console.
207 * @property {string}  options.container    Selector for the element that
208 *                                          contains the accordion contents. It
209 *                                          is also possible to pass a DOM
210 *                                          element or a  jQuery object here as
211 *                                          well.
212 * @property {string}  options.panel        Selector for the element that 
213 *                                          contains each independent accordion
214 *                                          part. 
215 * @property {string}  options.openClass    Class added to each accordion panel 
216 *                                          when it is opened.
217 * @property {string}  options.openingClass Class added to an open accordion
218 *                                          panel while it is being closed.
219 * @property {string}  options.closingClass Class added to a closed accordion
220 *                                          panel while it is being opened.
221 * @property {string}  options.header       Selector for the header element of
222 *                                          each accordion panel. 
223 * @property {string}  options.excerpt      Selector for the optional excerpt 
224 *                                          element of each panel.
225 * @property {string}  options.content      Selector for the content element of
226 *                                          each panel.
227 * @property {string}  options.footer       Selector for the footer element of
228 *                                          each accordion panel. 
229 * @property {string}  options.effect       The effect to use when opening and 
230 *                                          closing each accordion panel (none, 
231 *                                          slide, fade).
232 * @property {int}     options.duration     The amount of time that the opening
233 *                                          and closing of each accordion panel
234 *                                          takes.
235 * @property {int}     options.delay        The amount of time to delay before
236 *                                          beginning opening or closing each
237 *                                          accordion panel.
238 * @property {int}     options.startAt      The index of the panel to show as
239 *                                          open in the beginning (zero or
240 *                                          negative for none).
241 * @property {string}  options.enter        Comma separated list of breakpoints
242 *                                          in which the accordion enters, wihch
243 *                                          means it is enabled.
244 * @property {string}  options.leave        Comma separated list of breakpoints
245 *                                          in which the accordion leaves, which
246 *                                          means it is disabled.
247 */
248Responsiville.Accordion=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
249this.options={};this.options=jQuery.extend(this.options,Responsiville.Accordion.defaults,options);this.codeName='responsiville.accordion';this.responsiville=Responsiville.Main.getInstance();this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$container=jQuery(this.options.container);this.$panels=this.$container.find(this.options.panel);for(var key in this.options){var value=this.$container.data('responsiville-accordion-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
250if(this.options.slug==''){Responsiville.Accordion.elementsCounter=Responsiville.Accordion.elementsCounter!==undefined?++Responsiville.Accordion.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Accordion.elementsCounter}
251var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$container.data('responsiville-accordion-enter'),leave:this.$container.data('responsiville-accordion-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
252if(this.$container.length===0){this.log('Responsiville.Accordion instantiation error: no accordions foun
252d ('+this.options.container+').');return}
253this.$container.data('responsiville-api',this);this.$container.data('responsiville-accordion-api',this);this.$container.addClass(this.options.slug);this.enabled=!1;this.setupEvents();this.log('accordion initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Accordion,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Accordion,Responsiville.Events);Responsiville.Accordion.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Accordion.defaults={debug:!1,exclusive:!1,slug:'',container:'.responsiville-accordion',panel:'.responsiville-accordion-panel',openClass:'responsiville-accordion-panel-open',openingClass:'responsiville-accordion-panel-opening',closingClass:'responsiville-accordion-panel-closing',header:'.responsiville-accordion-header',excerpt:'.responsiville-accordion-excerpt',content:'.responsiville-accordion-content',footer:'.responsiville-accordion-footer',effect:'slide',duration:0,delay:0,startAt:-1,enter:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Accordion.autoRun=function(){jQuery(Responsiville.Accordion.defaults.container).each(function(){new Responsiville.Accordion({debug:Responsiville.Main.getInstance().options.debug,container:this})})};Responsiville.Accordion.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
254var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
255if(this.responsiville.is(this.options.enter)){this.enable()}
256if(this.options.startAt>0){this.openPanel(this.$panels.eq(this.options.startAt-1))}};Responsiville.Accordion.prototype.enable=function(){if(this.enabled){return}
257this.log('enable accordion');this.enabled=!0;this.$container.addClass('responsiville-accordion-enabled');this.$panels.find(this.options.header).on('click',this.getBoundFunction(this.headerClick)).end().find(this.options.content).css('display','none');this.fireEvent('enabled')};Responsiville.Accordion.prototype.disable=function(){if(!this.enabled){return}
258this.log('disable accordion');this.enabled=!1;this.$container.removeClass('responsiville-accordion-enabled');this.$panels.find(this.options.header).off('click',this.getBoundFunction(this.headerClick)).end().find(this.options.content).css('display','block');this.fireEvent('disabled')};Responsiville.Accordion.prototype.headerClick=function(event){this.log('accordion header clicked');var $header=jQuery(event.target);var $panel=$header.closest(this.options.panel);var $content=$panel.find(this.options.content);var $tempPanel=null;if($content.is(':visible')){this.closePanel($panel)}else{if(this.options.exclusive){for(var k=0,length=this.$panels.length;k<length;k++){$tempPanel=this.$panels.eq(k);if($tempPanel.get(0)===$panel.get(0)){continue}
259this.closePanel($tempPanel)}}
260this.openPanel($panel)}
261return!1};Responsiville.Accordion.prototype.openPanel=function($panel){this.log('accordion opening panel');this.fireEvent('opening');var dimensions=this.calculatePanelContentsHeight($panel);console.log(dimensions.height);$content=$panel.find(this.options.content);$panel.addClass(this.options.openingClass);if(this.options.effect=='slide'){$content.css({display:'block',height:0});$content.velocity({height:dimensions.height},{delay:this.options.delay,duration:this.options.duration,complete:(function(){$panel.removeClass(this.options.openingClass);$panel.addClass(this.options.openClass);this.fireEvent('opened')}).bind(this)})}else if(this.options.effect=='fade'){$content.css({display:'block',height:auto,opacity:0});$content.velocity({opacity:1},{delay:this.options.delay,duration:this.options.duration,complete:(function(){$panel.removeClass(this.options.openingClass);$panel.addClass(this.options.openClass);this.fireEvent('opened')}).bind(this)})}else if(this.options.effect=='none'){$content.css({display:'block',height:auto});$panel.removeClass(this.options.openingClass);$panel.addClass(this.options.openClass);this.fireEvent('opened')}};Responsiville.Accordion.prototype.closePanel=function($panel){this.log('accordion closing panel');this.fireEvent('closing');$content=$panel.find(this.options.content);$panel.addClass(this.options.closingClass);if(this.options.effect=='slide'){$content.velocity({height:0},{delay:this.options.delay,duration:this.options.duration,complete:(function(){$panel.removeClass(this.options.closingClass);$panel.removeClass(this.options.openClass);$content.css('display','none');this.fireEvent('closed')}).bind(this)})}else if(this.options.effect=='fade'){$content.velocity('fadeOut',{delay:this.options.delay,duration:this.options.duration,complete:(function(){$panel.removeClass(this.options.closingClass);$panel.removeClass(this.options.openClass);$content.css('display','none');this.fireEvent('closed')}).bind(this)})}else if(this.options.effect=='none'){$content.velocity({height:0},{delay:this.options.delay,duration:this.options.duration,complete:(function(){$panel.removeClass(this.options.closingClass);$panel.removeClass(this.options.openClass);$content.css('display','none');this.fireEvent('closed')}).bind(this)})}};Responsiville.Accordion.prototype.calculatePanelContentsHeight=function($panel){var width=$panel.width();jQuery('<div class="responsiville-accordion-calculate-dimensions '+this.options.slug+'"/>').append($panel.find('.responsiville-accordion-content').clone()).appendTo($panel);var $tempContents=jQuery('.responsiville-accordion-calculate-dimensions.'+this.options.slug);$tempContents.css('width',width);$tempContents.find('.responsiville-accordion-content').css('height','auto');var height=$tempContents.outerHeight();console.log(height);$tempContents.remove();var dimensions={width:width,height:height}
262return dimensions}
263;/**
264 * Creates and initialises the drawers. 
265 * 
266 * @class
267 * @extends   Responsiville.Debug
268 * @extends   Responsiville.Events
269 * 
270 * @author    Nevma, [email protected]
271 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
272 * 
273 * @fires     Responsiville.Drawers#init
274 * 
275 * @classdesc A drawers element is an element that opens and closes like an
276 *            an accordion, only it is self contained and has no header/title
277 *            element like the accordion. Instead it automatically creates an
278 *            open/close button.
279 *
280 * @param {Object} options The initialisation options of the module.
281 * 
282 * @property {Object}  options           The options that define the object
283 *                                       behaviour.
284 * @property {boolean} options.debug     Whether to print debug messages in the 
285 *                                       browser console.
286 * @property {boolean}
286 options.slug      A special codename for the instance of
287 *                                       the element, to be used as a class on 
288 *                                       its container and as a key in arrays 
289 *                                       where it is grouped with other elements
290 *                                       of its kind. 
291 * @property {boolean} options.exclusive Whether multiple drawers panels 
292 *                                       drawers can be simultaneously open or
293 *                                       not. 
294 * @property {boolean} options.container The container element of the drawers
295 *                                       panels.
296 * @property {boolean} options.element   The selector or element that is the 
297 *                                       actual panel which opens and closes. It
298 *                                       has to be inside the container element.
299 * @property {boolean} options.effect    The visual effect to use for opening
300 *                                       and closing the elements.
301 * @property {boolean} options.duration  The duration of the visual effect when
302 *                                       opening and closing the elements.
303 * @property {string}  options.enter     Comma separated list of breakpoints in 
304 *                                       which the drawers enters, wihch means
305 *                                       it is enabled.
306 * @property {string}  options.leave     Comma separated list of breakpoints in 
307 *                                       which the drawers leaves, which means 
308 *                                       it is disabled.
309 */
310Responsiville.Drawers=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
311this.options={};this.options=jQuery.extend(this.options,Responsiville.Drawers.defaults,options);this.codeName='responsiville.drawers';this.responsiville=Responsiville.Main.getInstance();this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$container=jQuery(this.options.container);for(var key in this.options){var value=this.$container.data('responsiville-drawers-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
312if(this.options.slug==''){Responsiville.Drawers.elementsCounter=Responsiville.Drawers.elementsCounter!==undefined?++Responsiville.Drawers.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Drawers.elementsCounter}
313var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$container.data('responsiville-drawers-enter'),leave:this.$container.data('responsiville-drawers-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
314if(this.$container.length===0){this.log('Responsiville.Drawers instantiation error: no drawers found ('+this.options.container+').');return}
315if(typeof this.$container.data('responsiville-drawers-api')!=='undefined'){this.log('Responsiville.Drawers has already run for element: ('+this.options.container+').');return}
316this.$container.data('responsiville-api',this);this.$container.data('responsiville-drawers-api',this);this.$container.addClass(this.options.slug);this.$elements=this.$container.find(this.options.element);this.enabled=!1;this.setupEvents();this.log('drawers initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Drawers,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Drawers,Responsiville.Events);Responsiville.Drawers.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Drawers.defaults={debug:!1,exclusive:!1,slug:'',container:'.responsiville-drawers',element:'ul',effect:'slide',startAt:0,duration:300,enter:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Drawers.autoRun=function(){jQuery(Responsiville.Drawers.defaults.container).each(function(){new Responsiville.Drawers({debug:Responsiville.Main.getInstance().options.debug,container:this})})};Responsiville.Drawers.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
317var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
318if(this.responsiville.is(this.options.enter)){this.enable()}
319if(this.options.startAt>0){this.openElement(this.$elements.eq(this.options.startAt-1))}};Responsiville.Drawers.prototype.enable=function(){if(this.enabled){return}
320this.log('enable drawers');this.enabled=!0;for(var k=0,length=this.$elements.length;k<length;k++){var $element=this.$elements.eq(k);if($element.parent().find('.responsiville-drawers-button').length==0){$element.parent().append('<button class="responsiville-drawers-button"></button>')}}
321for(var k=0,length=this.$elements.length;k<length;k++){var $element=this.$elements.eq(k);$element.parent().addClass('responsiville-drawers-parent');$element.addClass('responsiville-drawers-element').siblings('.responsiville-drawers-button').on('click',this.getBoundFunction(this.buttonClick))}
322this.fireEvent('enabled')};Responsiville.Drawers.prototype.disable=function(){if(!this.enabled){return}
323this.log('disable drawers');this.enabled=!1;for(var k=0,length=this.$elements.length;k<length;k++){var $element=this.$elements.eq(k);$element.parent().removeClass('responsiville-drawers-parent');$element.addClass('responsiville-drawers-element').siblings('.responsiville-drawers-button').off('click',this.getBoundFunction(this.buttonClick))}
324this.fireEvent('disabled')};Responsiville.Drawers.prototype.buttonClick=function(event){var $element=jQuery(event.target).siblings(this.options.element);if($element.is(':visible')){this.closeElement($element)}else{this.openElement($element)}};Responsiville.Drawers.prototype.openElement=function($element){this.log('opening drawers');this.fireEvent('opening');$element.addClass('responsiville-drawers-element-opening');$element.velocity('slideDown',{duration:this.options.duration,complete:(function(){$element.removeClass('responsiville-drawers-element-opening');$element.addClass('responsiville-drawers-element-open');$element.siblings('.responsiville-drawers-button').addClass('responsiville-drawers-button-open');this.fireEvent('opened')}).bind(this)})};Responsiville.Drawers.prototype.closeElement=function($element){this.log('closing drawers');this.fireEvent('closing');$element.addClass('responsiville-drawers-element-closing');$element.velocity('slideUp',{duration:this.options.duration,complete:(function(){$element.removeClass('responsiville-drawers-element-closing');$element.removeClass('responsiville-drawers-element-open');$element.siblings('.responsiville-drawers-button').removeClass('responsiville-drawers-button-open');this.fireEvent('closed')}).bind(this)})}
325;/**
326 * Creates and initialises the equal heights elements. 
327 * 
328 * @class
329 * @extends   Responsiville.Debug
330 * @extends   Responsiville.Events
331 * 
332 * @author    Nevma, [email protected]
333 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
334 * 
335 * @fires     Responsiville.Equalheights#init
336 * 
337 * @classdesc A utility class that takes a set of elements and gives them all
338 *            the same height, ie the height of the tallest of them. It is 
339 *            responsive and allows for grouping the elements in rows. It can 
340 *            run in an automatic way so that it groups elements in the same 
341 *            way that they naturally flow in rows as they are being rendered by
342 *            the browser.
343 *
344 * @param {Object} options The initialisation options of the module.
345 * 
346 * @property {boolean} options.debug       Whether to print debug messages in
347 *                                         the  browser console.
348 * @property {boolean}
348 options.slug        A special codename for the instance
349 *                                         of the element, to be used as a class
350 *                                         on its container and as a key in
351 *                                         arrays where it is grouped with other
352 *                                         elements of its kind. 
353 * @property {string}  options.container   The parent element under which the 
354 *                                         elements will be found. If null then 
355 *                                         the direct parent of the elements
356 *                                         will be taken into account.
357 * @property {string}  options.elements    The element that contains the
358 *                                         elements which will eventually take
359 *                                         up the same  height. If left null
360 *                                         then the direct elements if the
361 *                                         parent will be taken into account.
362 * @property {string}  options.children    Sometimes it's not the actual
363 *                                         elements themselves that we want to
364 *                                         make equal height but some other
365 *                                         elements inside them, so that we can
366 *                                         have consistent rows of of content.
367 *                                         This option is a selector that
368 *                                         defines which children inside the
369 *                                         specified elements should become
370 *                                         equal height.
371 * @property {string}  options.resize      Whether to also run on window resize,
372 *                                         as well as each breakpoint change. Of
373 *                                         course, throttled.
374 * @property {string}  options.checkImages Whether to check for images inside
375 *                                         the elements that are going to get
376 *                                         equal heights and run when the images
377 *                                         have all been loaded and all element
378 *                                         heights have been finalised.
379 * @property {string}  options.enter       Comma separated list of breakpoints
380 *                                         in which the module enters, wihch
381 *                                         means it is enabled.
382 * @property {string}  options.leave       Comma separated list of breakpoints
383 *                                         in which the module leaves, which
384 *                                         means it is disabled.
385 */
386Responsiville.Equalheights=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
387this.options=jQuery.extend(this.options,Responsiville.Equalheights.defaults,options);this.codeName='responsiville.equalheights';this.responsiville=Responsiville.Main.getInstance();this.imagesLoaded=0;this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$container=jQuery(this.options.container);for(var key in this.options){var value=this.$container.data('responsiville-equalheights-'+key);if(typeof value!=='undefined'){this.options[key]=value}}
388if(this.options.slug==''){Responsiville.Equalheights.elementsCounter=Responsiville.Equalheights.elementsCounter!==undefined?++Responsiville.Equalheights.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Equalheights.elementsCounter}
389var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$container.data('responsiville-equalheights-enter'),leave:this.$container.data('responsiville-equalheights-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
390if(options.elements===undefined){this.$elements=this.$container.find(this.options.elements);if(this.$elements.length===0){this.$elements=this.$container.children()}}else{this.$elements=this.$container.find(this.options.elements)}
391if(this.$elements.length===0){this.log('Responsiville.Equalheights instantiation error: no elements found ('+this.options.elements+').');return}
392this.$container.data('responsiville-api',this);this.$container.data('responsiville-equalheights-api',this);this.$container.addClass(this.options.slug);this.$images=[];this.enabled=!1;this.setupEvents();this.log('equalheights initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Equalheights,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Equalheights,Responsiville.Events);Responsiville.Equalheights.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Equalheights.defaults={debug:!1,slug:'',container:'.responsiville-equalheights',elements:'.responsiville-equalheights-element',children:null,resize:!0,checkImages:!0,enter
392:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Equalheights.autoRun=function(){jQuery(Responsiville.Equalheights.defaults.container).each(function(){new Responsiville.Equalheights({debug:Responsiville.Main.getInstance().options.debug,container:this})})};Responsiville.Equalheights.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
393var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
394if(this.responsiville.is(this.options.enter)){this.enable()}};Responsiville.Equalheights.prototype.enable=function(){this.log('enable equalheights');if(!this.enabled){this.responsiville.on('change',this.getBoundFunction(this.runElements));if(this.options.resize){this.responsiville.on('resize',this.getBoundFunction(this.runElements))}
395this.runElements();this.enabled=!0;if(this.options.checkImages){this.$images=this.$elements.find('img');var images=[];for(k=0,length=this.$images.length;k<length;k++){var image=this.$images.eq(k).attr('src');images.push(image);if(Responsiville.hasImageLoaded(image)){this.imagesLoaded++}}
396Responsiville.onImagesLoaded(images,{single:this.getBoundFunction(this.imageLoaded)})}}
397this.fireEvent('enabled')};Responsiville.Equalheights.prototype.disable=function(){this.log('disable equalheights');if(this.enabled){this.responsiville.off('change',this.getBoundFunction(this.runElements));if(this.options.resize){this.responsiville.off('resize',this.getBoundFunction(this.runElements))}
398if(this.options.children){this.$elements.find(this.options.children).css('height','auto')}else{this.$elements.css('height','auto')}
399this.enabled=!1}
400this.fireEvent('disabled')};Responsiville.Equalheights.prototype.imageLoaded=function(event){this.imagesLoaded++;if(this.imagesLoaded==this.$images.length){this.runElements()}
401this.fireEvent('image.loaded',[event])};Responsiville.Equalheights.prototype.imageError=function(event){this.imagesLoaded++;if(this.imagesLoaded==this.$images.length){this.runElements()}
402this.fireEvent('image.error',[event])};Responsiville.Equalheights.prototype.equalise=function($elements){var k=0;var m=0;var height=0;var maxHeight=0;var $element=null;if(this.options.children){var childrenSelectors=Responsiville.splitAndTrim(this.options.children);var childrenSelector=null;for(m=0,length=childrenSelectors.length;m<length;m++){childrenSelector=childrenSelectors[m];maxHeight=0;for(k=0,length=$elements.length;k<length;k++){$element=$elements.eq(k).find(childrenSelector);$element.css('height','auto');height=$element.outerHeight();maxHeight=height>maxHeight?height:maxHeight}
403$elements.find(childrenSelector).css('height',maxHeight+'px')}}else{for(k=0,length=$elements.length;k<length;k++){$element=$elements.eq(k);$element.css('height','auto');height=$element.outerHeight();maxHeight=height>maxHeight?height:maxHeight}
404$elements.css('height',maxHeight+'px')}};Responsiville.Equalheights.prototype.runElements=function(){this.log('equalising heights');this.fireEvent('running.elements');var k=0;var $elements=this.$elements;while($elements.length>0){var $row=jQuery();while($elements.length>0){var $currentElement=$elements.eq(0);if(!$currentElement.is(':visible')){$elements=$elements.slice(1);continue}
405if($row.length==0){$row=$row.add($currentElement);$elements=$elements.slice(1);continue}
406var currentElementRect=$currentElement.get(0).getBoundingClientRect();var previousElementRect=$row.eq($row.length-1).get(0).getBoundingClientRect();var isChangingRow=Math.round(currentElementRect.left)<Math.round(previousElementRect.right);if(isChangingRow){break}else{$row=$row.add($currentElement);$elements=$elements.slice(1);continue}}
407this.equalise($row)}
408this.fireEvent('run.elements')}
409;/**
410 * Lazy loading images utility.
411 * 
412 * @class
413 * @extends   Responsiville.Debug
414 * @extends   Responsiville.Events
415 * 
416 * @author    Nevma, [email protected]
417 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
418 * 
419 * @fires     Responsiville.Lazymg#init
420 * 
421 * @classdesc Causes an image to lazy load. This means that it tries to prevent 
422 *            the image from loading during normal page load time and makes it
423 *            load the moment it appears in the browser viewport.
424 *
425 * @param {Object} options The initialisation options of the module.
426 * 
427 * @property {Object}  options               The options that define the object
428 *                                           behaviour.
429 * @property {boolean} options.debug         Whether to print debug messages in
430 *                                           the browser console.
431 * @property {boolean}
431 options.slug          A special codename for the instance
432 *                                           of the element, to be used as a
433 *                                           class on its container and as a key
434 *                                           in arrays where it is grouped with
435 *                                           other elements of its kind. 
436 * @property {boolean} options.element       The image element to run on.
437 * @property {boolean} options.src           The image url to be lazy loaded.
438 * @property {boolean} options.cssBackground Signifies that the image to be lazy 
439 *                                           loaded is actually in the CSS
440 *                                           background of the given element. 
441 * @property {integer} options.offsetTop     How much to delay the parallax
442 *                                           effect in terms of space, after
443 *                                           the watched element has appeared in
444 *                                           the browser viewport.
445 * @property {integer} options.offsetBottom  How much to make completion faster
446 *                                           in terms of space for the parallax
447 *                                           effect.
448 * @property {string}  options.enter         Comma separated list of breakpoints
449 *                                           in which the module enters, which
450 *                                           means it is enabled.
451 * @property {string}  options.leave         Comma separated list of breakpoints
452 *                                           in which the module leaves, which
453 *                                           means it is disabled.
454 */
455Responsiville.Lazymg=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
456this.options={};this.options=jQuery.extend(this.options,Responsiville.Lazymg.defaults,options);this.codeName='responsiville.lazymg';this.responsiville=Responsiville.Main.getInstance();this.enabled=!1;this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$element=jQuery(this.options.element);for(var key in this.options){var value=this.$element.data('responsiville-lazymg-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
457if(this.options.slug==''){Responsiville.Lazymg.elementsCounter=Responsiville.Lazymg.elementsCounter!==undefined?++Responsiville.Lazymg.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Lazymg.elementsCounter}
458var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$element.data('responsiville-lazymg-enter'),leave:this.$element.data('responsiville-lazymg-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
459if(this.$element.length===0){this.log('Responsiville.Lazymg instantiation error: no lazymg elements found ('+this.options.element+').');return}
460this.$element.data('responsiville-api',this);this.$element.data('responsiville-lazymg-api',this);this.$element.addClass(this.options.slug);this.setupEvents();this.log('lazymg initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Lazymg,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Lazymg,Responsiville.Events);Responsiville.Lazymg.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Lazymg.defaults={debug:!1,slug:'',element:'.responsiville-lazymg',src:'',cssBackground:!1,offsetTop:-100,offsetBottom:0,enter:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Lazymg.autoRun=function(){jQuery(Responsiville.Lazymg.defaults.element).each(function(){new Responsiville.Lazymg({debug:Responsiville.Main.getInstance().options.debug,element:this})})};Responsiville.Lazymg.getElement=function(){return this.$element};Responsiville.Lazymg.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
461var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}};Responsiville.Lazymg.prototype.enable=function(){if(this.enabled){return}
462this.log('enable lazymg');if(this.$element.attr('src')){if(!Responsiville.hasImageLoaded(this.$element.get(0))){this.options.src=this.$element.attr('src');this.$element.attr('src','');new Responsiville.Parallax({watch:this.$element,runOnce:!0,offsetTop:this.options.offsetTop,offsetBottom:this.options.offsetBottom,onAppear:this.getBoundFunction(this.appearImageBySrc)})}else{this.$element.addClass('responsiville-lazymg-loaded');this.log('image already loaded: '+this.$element.attr('src'))}}
462else if(this.options.cssBackground){this.$element.css('background-image','');new Responsiville.Parallax({watch:this.$element,runOnce:!0,offsetTop:this.options.offsetTop,offsetBottom:this.options.offsetBottom,onAppear:this.getBoundFunction(this.appearImageByCSSBg)})}else{this.$element.attr('src','');new Responsiville.Parallax({watch:this.$element,runOnce:!0,offsetTop:this.options.offsetTop,offsetBottom:this.options.offsetBottom,onAppear:this.getBoundFunction(this.appearImageBySrc)})}
463this.enabled=!0;this.fireEvent('enabled')};Responsiville.Lazymg.prototype.appearImageBySrc=function(){this.log('lazymg appearing');this.$element.addClass('responsiville-lazymg-loading');Responsiville.onImagesLoaded([this.options.src],{single:(function(image){this.$element.attr('src',this.options.src);this.$element.removeClass('responsiville-lazymg-loading');this.$element.addClass('responsiville-lazymg-loaded');jQuery(this.$element).closest('.responsiville-equalheights').each(function(){jQuery(this).data('responsiville-equalheights-api').runElements()})}).bind(this)});this.fireEvent('appear')};Responsiville.Lazymg.prototype.appearImageByCSSBg=function(){this.log('lazymg appearing css bg');this.$element.addClass('responsiville-lazymg-loading');Responsiville.onImagesLoaded([this.options.src],{single:(function(image){this.$element.css('background-image','url('+this.options.src+')');this.$element.removeClass('responsiville-lazymg-loading');this.$element.addClass('responsiville-lazymg-loaded');jQuery(this.$element).closest('.responsiville-equalheights').each(function(){jQuery(this).data('responsiville-equalheights-api').runElements()})}).bind(this)});this.fireEvent('appear')};Responsiville.Lazymg.prototype.disable=function(){this.log('disable lazymg');this.disabled=!0;this.fireEvent('disabled')}
464;/**
465 * Creates and initialises the megamenu. 
466 * 
467 * @class
468 * @extends   Responsiville.Debug
469 * @extends   Responsiville.Events
470 * 
471 * @author    Nevma, [email protected]
472 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
473 *
474 * @fires     Responsiville.Megamenu#init
475 * 
476 * @classdesc The megamenu is either a real "mega" menu or simply a dropdown 
477 *            menu. It makes no difference actually. It is a menu that opens 
478 *            when an event (eg a mouseover) on an activator is triggered and 
479 *            hides when the mouse hovers away from the activator or the actual
480 *            menu itself. It is not designed to be multi level.
481 * 
482 * @param {Object} options The initialisation options of the module.
483 *
484 * @property {Object}  options              The options that define the object
485 *                                          behaviour.
486 * @property {boolean} options.debug        Whether to print debug messages in 
487 *                                          the browser console.
488 * @property {boolean} options.slug         A special codename for the instance
489 *                                          of the element, to be used as a 
490 *                                          class on its container and as a key
491 *                                          in arrays where it is grouped with
492 *                                          other elements of its kind. 
493 * @property {string}  options.activator    Selector for the element on whose 
494 *                                          mouse over the megamenu opens.
495 * @property {boolean} options.external     Whether the element that is the
496 *                                          megamenu lies externally, ie 
497 *                                          somewhere in the rest of the page or
498 *                                          or it is a sibling of the activator.
499 * @property {string}  options.element      Selector for the element that 
500 *                                          actually is the megamenu. Has to be
501 *                                          a sibling of the activator. If left
502 *                                          null then the first sibling of the
503 *                                          activator is taken into account as a
504 *                                          best guess.
505 * @property {string}  options.enter        Comma separated list of breakpoints 
506 *                                          in which the megamenu enters, wihch
507 *                                          means it is enabled.
508 * @property {string}  options.leave        Comma separated list of breakpoints 
509 *                                          in which the megamenu leaves, which
510 *                                          means it is disabled.
511 * @property {string}  options.effect       The effect to use when opening and 
512 *                                          closing the megamenu. Possible 
513 *                                          values are: none, slide, slide-ltr,
514 *                                          fade. 
515 * @property {string}  options.elementClass Class to add to the megamenu element
516 *                                          when it is enabled.
517 * @property {string}  options.parentClass  Class to add to the parent element
518 *                                          of the megamenu activator.
519 * @property {string}  options.parentActive Class to add to the parent element
520 *                                          when the megamenu is open and the
521 *                                          user is hovering over is children.
522 * @property {string}  options.openClass    The class to add to the megamenu 
523 *                                          while it is open.
524 * @property {string}  options.openingClass The class to add to the megamenu 
525 *                                          when it is being opened.
526 * @property {string}  options.closingClass The class to add to the megamenu 
527 *                                          when it is being closed.
528 * @property {int}     options.delayShow    The amount of time to wait before 
529 *                                          the action on the activator causes
530 *                                          the opening of the megamenu.
531 * @property {int}     options.delayHide    The amount of time to wait before
532 *                                          the action on the activator causes 
533 *                                          the closing of the megamenu.
534 * @property {int}     options.duration     The amount of time that the opening 
535 *                                          and closing of the megamenu lasts.
536 * @property {string}  options.detectHash   Detects whether the mobimenu treats 
537 *                                          anchor elements inside the menu
538 *                                          which start with a "#" in a special
539 *                                          way. This means that when they are
540 *                                          clicked they should do n
540othing and
541 *                                          simply return false;
542 * 
543 * @todo Activate on click (not on hover) as a parameter.
544 * @todo What strategy do we follow for cases where a device has a big enough 
545 *       screen to be classified among the desktop devices but does not support 
546 *       mouse events? Facts: there are tablets with 1024 and 1280 wide screens 
547 *       in landscape orientation.
548 */
549Responsiville.Megamenu=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
550this.options={};this.options=jQuery.extend(this.options,Responsiville.Megamenu.defaults,options);this.codeName='responsiville.megamenu';this.responsiville=Responsiville.Main.getInstance();this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.timeoutHandler=null;this.enteringMenuActivator=!1;this.leavingMenuActivator=!1;this.enteringMenuElement=!1;this.leavingMenuElement=!1;this.$menuActivator=jQuery(this.options.activator);for(var key in this.options){var value=this.$menuActivator.data('responsiville-megamenu-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
551if(this.options.slug==''){Responsiville.Megamenu.elementsCounter=Responsiville.Megamenu.elementsCounter!==undefined?++Responsiville.Megamenu.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Megamenu.elementsCounter}
552var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$menuActivator.data('responsiville-megamenu-enter'),leave:this.$menuActivator.data('responsiville-megamenu-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
553if(this.options.external){if(this.$menuActivator.closest('.responsiville-scrollmenu-wrapper').length>0){this.$menuElement=this.$menuActivator.closest('.responsiville-scrollmenu-wrapper').find(this.options.element)}else{this.$menuElement=jQuery(this.options.element).not(function(){if(jQuery(this).closest('.responsiville-mobimenu-wrapper-clone').length>0||jQuery(this).closest('.responsiville-scrollmenu-wrapper').length>0){return!0}
554return!1})}}else{this.$menuElement=this.$menuActivator.siblings(this.options.element)}
555if(this.$menuElement.length===0){this.$menuElement=this.$menuActivator.siblings().eq(0)}
556if(this.$menuElement.length===0){this.log('Responsiville.Megamenu instantiation error: no menu found ('+this.options.element+').');return}
557if(typeof this.$menuActivator.data('responsiville-megamenu-api')!=='undefined'){this.log('Responsiville.Megamenu has already run for: '+this.options.activator+'.');return}
558this.$menuActivator.data('responsiville-api',this);this.$menuActivator.data('responsiville-megamenu-api',this);this.$menuElement.addClass(this.options.slug);this.setupEvents();this.log('megamenu initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Megamenu,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Megamenu,Responsiville.Events);Responsiville.Megamenu.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Megamenu.defaults={debug:!1,slug:'',activator:'.responsiville-megamenu',external:!1,element:'.responsiville-megamenu-element',enter:'laptop, desktop, large, xlarge',leave:'small, mobile, tablet',effect:'slide',elementClass:'responsiville-megamenu-element',parentClass:'responsiville-megamenu-parent',parentActive:'responsiville-megamenu-active',openClass:'responsiville-megamenu-open',openingClass:'responsiville-megamenu-opening',closingClass:'responsiville-megamenu-closing',delayShow:200,delayHide:200,duration:300,detectHash:!0};Responsiville.Megamenu.autoRun=function(){jQuery(Responsiville.Megamenu.defaults.activator).each(function(){if(jQuery(this).closest('.responsiville-mobimenu-wrapper-clone').length>0){return}
559new Responsiville.Megamenu({debug:Responsiville.Main.getInstance().options.debug,activator:this})})};Responsiville.Megamenu.prototype.setupEvents=function(){if(this.$menuActivator.attr('href')=='#'){this.$menuActivator.on('click',function(){return!1})}
560var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
561var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
562if(this.responsiville.is(this.options.enter)){this.enable()}
563this.$menuActivator.on('mouseenter',this.getBoundFunction(this.activatorMouseEnter));this.$menuActivator.on('mouseleave',this.getBoundFunction(this.activatorMouseLeave));this.$menuElement.on('mouseenter',this.getBoundFunction(this.elementMouseEnter));this.$menuElement.on('mouseleave',this.getBoundFunction(this.elementMouseLeave));if(this.options.detectHash&&this.$menuActivator.is('a[href*="#"]')){this.$menuActivator.on('click',this.getBoundFunction(this.anchorHashClick))}};Responsiville.Megamenu.prototype.enable=function(){this.log('enable megamenu');this.close();this.$menuElement.parent().addClass(Responsiville.Megamenu.defaults.parentClass);this.$menuElement.addClass(Responsiville.Megamenu.defaults.elementClass);this.enabled=!0;this.fireEvent('enabled')};Responsiville.Megamenu.prototype.disable=function(){this.log('disable megamenu');this.close();this.$menuElement.parent().removeClass(Responsiville.Megamenu.defaults.parentClass);this.$menuElement.removeClass(Responsiville.Megamenu.defaults.elementClass);this.enabled=!1;this.fireEvent('disabled')};Responsiville.Megamenu.prototype.activatorMouseEnter=function(){if(!this.enabled){return}
564this.log('menu activator mouse enter');this.enteringMenuActivator=!0;this.leavingMenuActivator=!1;
564window.clearTimeout(this.timeoutHandler);this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.open),this.options.delayShow)};Responsiville.Megamenu.prototype.activatorMouseLeave=function(){if(!this.enabled){return}
565this.log('menu activator mouse leave');this.enteringMenuActivator=!1;this.leavingMenuActivator=!0;window.clearTimeout(this.timeoutHandler);this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.close),this.options.delayHide)};Responsiville.Megamenu.prototype.elementMouseEnter=function(){if(!this.enabled){return}
566this.log('menu element mouse enter');this.enteringMenuElement=!0;this.leavingMenuElement=!1;window.clearTimeout(this.timeoutHandler);this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.open),this.options.delayShow)};Responsiville.Megamenu.prototype.elementMouseLeave=function(){if(!this.enabled){return}
567this.log('menu element mouse leave');this.enteringMenuElement=!1;this.leavingMenuElement=!0;window.clearTimeout(this.timeoutHandler);this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.close),this.options.delayHide)};Responsiville.Megamenu.prototype.anchorHashClick=function(event){var anchorPointsToExistingElement=jQuery(jQuery(event.target).attr('href')).length>0;if(!anchorPointsToExistingElement){return!1}};Responsiville.Megamenu.prototype.open=function(){var doNotOpen=(this.leavingMenuActivator&&this.enteringMenuElement)||(this.leavingMenuElement&&this.enteringMenuActivator);this.enteringMenuActivator=!1;this.leavingMenuActivator=!1;this.enteringMenuElement=!1;this.leavingMenuElement=!1;if(doNotOpen){return}
568this.log('open megamenu');this.$menuElement.velocity('stop',!0);this.beforeOpening();if(this.options.effect=='slide'){this.$menuElement.velocity({properties:{height:this.calculateHeight()},options:{duration:this.options.duration,display:'',complete:this.getBoundFunction(this.afterOpening)}})}else if(this.options.effect=='slide-ltr'){this.$menuElement.velocity({properties:{width:this.calculateWidth()},options:{duration:this.options.duration,display:'',complete:this.getBoundFunction(this.afterOpening)}})}else if(this.options.effect=='fade'){this.$menuElement.velocity({properties:{opacity:1},options:{duration:this.options.duration,display:'',complete:this.getBoundFunction(this.afterOpening)}})}else{this.afterOpening()}};Responsiville.Megamenu.prototype.close=function(){var doNotClose=(this.leavingMenuActivator&&this.enteringMenuElement)||(this.leavingMenuElement&&this.enteringMenuActivator);this.enteringMenuActivator=!1;this.leavingMenuActivator=!1;this.enteringMenuElement=!1;this.leavingMenuElement=!1;if(doNotClose){return}
569this.log('close megamenu');this.$menuElement.velocity('stop',!0);this.beforeClosing();if(this.options.effect=='slide'){this.$menuElement.velocity({properties:{height:0},options:{duration:this.options.duration,display:'',complete:this.getBoundFunction(this.afterClosing)}})}else if(this.options.effect=='slide-ltr'){this.$menuElement.velocity({properties:{width:0},options:{duration:this.options.duration,display:'',complete:this.getBoundFunction(this.afterClosing)}})}else if(this.options.effect=='fade'){this.$menuElement.velocity({properties:{opacity:0},options:{duration:this.options.duration,display:'',complete:this.getBoundFunction(this.afterClosing)}})}else{this.afterClosing()}};Responsiville.Megamenu.prototype.beforeOpening=function(){this.fireEvent('opening');this.$menuElement.removeClass(this.options.closingClass);this.$menuElement.addClass(this.options.openingClass);this.$menuActivator.addClass(this.options.parentActive)};Responsiville.Megamenu.prototype.afterOpening=function(){this.$menuElement.removeClass(this.options.openingClass);this.$menuElement.addClass(this.options.openClass);this.fireEvent('opened')};Responsiville.Megamenu.prototype.beforeClosing=function(){this.fireEvent('closing');this.$menuElement.removeClass(this.options.openingClass);this.$menuElement.addClass(this.options.closingClass)};Responsiville.Megamenu.prototype.afterClosing=function(){this.$menuActivator.removeClass(this.options.parentActive);this.$menuElement.removeClass(this.options.openingClass);this.$menuElement.removeClass(this.options.closingClass);this.$menuElement.removeClass(this.options.openClass);this.fireEvent('closed')};Responsiville.Megamenu.prototype.calculateHeight=function(){this.$menuElement.addClass('responsiville-megamenu-calculating');var height=this.$menuElement.outerHeight();this.$menuElement.removeClass('responsiville-megamenu-calculating');return height};Responsiville.Megamenu.prototype.calculateWidth=function(){this.$menuElement.addClass('responsiville-megamenu-calculating');var width=this.$menuElement.outerWidth();this.$menuElement.removeClass('responsiville-megamenu-calculating');return width}
570;/**
571 * Creates and initialises the mobile menu.
572 * 
573 * @class
574 * @extends   Responsiville.Debug
575 * @extends   Responsiville.Events
576 * 
577 * @author    Nevma, [email protected]
578 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
579 * 
580 * @fires     Responsiville.Mobimenu#init
581 * 
582 * @classdesc A responsive mobile burger menu for the Responsiville framework, 
583 *            which has come to be known as a burger menu in responsive web 
584 *            design. But this is just a name. The mobile menu may have any 
585 *            shape and visual effect the developer decides that it should have.
586 *            It is enabled and disabled according to the given breakpoints 
587 *            configuration.
588 *
589 * @param {Object} options The initialisation options of the module.
590 * 
591 * @property {Object}  options            The options that define the object
592 *                                        behaviour.
593 * @property {boolean} options.debug      Whether to print debug messages in the 
594 *                                        browser console.
595 * @property {boolean}
595 options.slug       A special codename for the instance of
596 *                                        the element, to be used as a class on 
597 *                                        its container and as a key in arrays 
598 *                                        where it is grouped with other 
599 *                                        elements of its kind. 
600 * @property {string}  options.activator  The element that triggers the opening
601 *                                        of the mobimenu.
602 * @property {string}  options.element    The element that contains the whole of
603 *                                        the mobimenu.
604 * @property {string}  options.enter      Comma separated list of breakpoints in 
605 *                                        which the mobimenu enters, wihch means
606 *                                        it is enabled.
607 * @property {string}  options.leave      Comma separated list of breakpoints in 
608 *                                        which the mobimenu leaves, which means 
609 *                                        it is disabled.
610 * @property {string}  options.closeText  The text of the anchor element which
611 *                                        will hold the burger menu when it is
612 *                                        enabled. 
613 * @property {string}  options.closeTitle The title of the anchor element which
614 *                                        will hold the burger menu when it is
615 *                                        enabled. 
616 * @property {string}  options.effect     The visual animation effect to use
617 *                                        when opening and closing the mobimenu.
618 * @property {int}     options.transition The speed of the transitions of the 
619 *                                        mobimenu.
620 * @property {string}  options.detectHash Detects whether the module should 
621                                          treat anchor elements inside the menu
622                                          which start with a "#" in a special
623                                          way. This means that when they are
624                                          clicked the mobile menu needs to close
625                                          because these links are internal and
626                                          no new page will be loaded, but the 
627                                          element still need to close.
628 */
629Responsiville.Mobimenu=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
630this.options={};this.options=jQuery.extend(this.options,Responsiville.Mobimenu.defaults,options);this.codeName='responsiville.mobimenu';this.responsiville=Responsiville.Main.getInstance();this.enabled=!1;this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$activator=jQuery(this.options.activator);for(var key in this.options){var value=this.$activator.data('responsiville-mobimenu-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
631if(this.options.slug==''){Responsiville.Mobimenu.elementsCounter=Responsiville.Mobimenu.elementsCounter!==undefined?++Responsiville.Mobimenu.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Mobimenu.elementsCounter}
632var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$activator.data('responsiville-mobimenu-enter'),leave:this.$activator.data('responsiville-mobimenu-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
633this.$mobimenu=jQuery(this.options.element);if(this.$mobimenu.length===0){this.log('Responsiville.Mobimenu instantiation error: no element found ('+this.options.element+').');return}
634if(typeof this.$activator.data('responsiville-mobimenu-api')!='undefined'){this.log('Responsiville.Mobimenu has already run for element: ('+this.options.element+').');return}
635if(this.$mobimenu.closest('.responsiville-mobimenu-wrapper').length>0){this.log('Responsiville.Mobimenu cannot run inside a mobimenu element: ('+this.options.element+').');return}
636this.$activator.data('responsiville-api',this);this.$activator.data('responsiville-mobimenu-api',this);this.$activator.addClass('responsiville-mobimenu');this.$mobimenu.before('<div class="responsiville-mobimenu-backdrop responsiville-mobimenu-backdrop-'+Responsiville.Mobimenu.elementsCounter+'" />')
637this.$mobimenuBackdrop=this.$body.find('.responsiville-mobimenu-backdrop'+Responsiville.Mobimenu.elementsCounter);this.$mobimenu.before('<button class="responsiville-mobimenu-close responsiville-mobimenu-close-'+Responsiville.Mobimenu.elementsCounter+'" title="'+this.options.closeTitle+'">'+'<span>'+this.options.closeText+'</span>'+'</button>');this.$mobimenuClose=this.$body.find('.responsiville-mobimenu-close-'+Responsiville.Mobimenu.elementsCounter);this.$mobimenu.wrap('<div class="responsiville-mobimenu-wrapper" />')
638this.$wrapper=this.$mobimenu.parent();this.$wrapper.addClass(this.options.slug);this.$wrapper.addClass('responsiville-mobimenu-effect-'+this.options.effect);this.$wrapper.css('--transition-duration',this.options.transition/1000+'s');this.$mobimenuClose.css('--transition-duration',this.options.transition/1000+'s');this.$mobimenu.find(Responsiville.Drawers.defaults.container).each(function(){new Responsiville.Drawers({debug:Responsiville.Main.getInstance().options.debug,container:this})});this.setupEvents();this.log('mobimenu initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Mobimenu,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Mobimenu,Responsiville.Events);Responsiville.Mobimenu.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Mobimenu.defaults={debug:!1,slug:'',activator:'.responsiville-mobimenu',element:null,enter:'small, mobile, tablet',leave:'laptop, desktop, large, xlarge',closeTitle:'Close',closeText:'Close',effect:'slide-right',transition:300,detectHash:!0};Responsiville.Mobimenu.autoRun=function(){jQuery(Responsiville.Mobimenu.defaults.activator).each(function(){new Responsiville.Mobimenu({debug:Responsiville.Main.getInstance().options.debug,activator:this})})};Responsiville.Mobimenu.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
639var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
640if(this.responsiville.is(this.options.enter)){this.enable()}
641this.$activator.on('click',this.getBoundFunction(this.openButtonClick));this.$mobimenu.on('click',function(event){event.stopPropagation()});this.$wrapper.on('click',this.getBoundFunction(this.close));this.$mobimenuClose.on('click',this.getBoundFunction(this.closeButtonClick));this.$body.on('keyup',this.getBoundFunction(this.escapeKeyUp));if(this.options.detectHash){this.$wrapper.find('a[href*="#"]').on('click',this.getBoundFunction(this.anchorHashClick))}};Responsiville.Mobimenu.prototype.enable=function(){if(this.enabled){return}
642this.log('enable mobimenu');this.enabled=!0;this.$wrapper.addClass('responsiville-mobimenu-enabled')};Responsiville.Mobimenu.prototype.disable=function(){if(!this.enabled){return}
643this.log('disable mobimenu');this.enabled=!1;this.close();this.$wrapper.removeClass('responsiville-mobimenu-enabled')};Responsiville.Mobimenu.prototype.open=function(){this.log('open mobimenu');this.fireEvent('opening');this.$body.addClass('responsiville-mobimenu-open-body');this.$wrapper.addClass('responsiville-mobimenu-opening');this.$wrapper.addClass('responsiville-mobimenu-open');window.setTimeout((function(){this.$wrapper.removeClass('responsiville-mobimenu-opening');this.fireEvent('opened')}).bind(this),this.options.transition)};Responsiville.Mobimenu.prototype.close=function(event){this.log('close mobimenu');this.fireEvent('closing');this.$wrapper.addClass('responsiville-mobimenu-closing');window.setTimeout((function(){this.$wrapper.removeClass('responsiville-mobimenu-closing');this.$wrapper.removeClass('responsiville-mobimenu-open');this.$body.removeClass('responsiville-mobimenu-open-body');this.fireEvent('closed')}).bind(this),this.options.transition)};Responsiville.Mobimenu.prototype.openButtonClick=function(event){this.open();return!1};Responsiville.Mobimenu.prototype.anchorHashClick=function(event){var anchorPointsToExistingElement=jQuery(jQuery(event.target).attr('href')).length>0;if(anchorPointsToExistingElement){this.close()}};Responsiville.Mobimenu.prototype.closeButtonClick=function(){this.close();return!1};Responsiville.Mobimenu.prototype.escapeKeyUp=function(event){var ESCAPE_KEY=27;if(event&&event.keyCode==ESCAPE_KEY){this.close();return!1}
644return!0}
645;/**
646 * Creates and initialises the parallax behaviour.
647 * 
648 * @class
649 * @extends   Responsiville.Debug
650 * @extends   Responsiville.Events
651 * 
652 * @author    Nevma, [email protected]
653 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
654 * 
655 * @fires     Responsiville.Parallax#init
656 * 
657 * @classdesc A parallax behaviour is materialised when an element is 
657watched as
658 *            the browser window scrolls by it and, either some property of the
659 *            element itself or some other element is changed, in relation to
660 *            the browser scroll events. Usually this behaviour starts to take
661 *            effect when the watched element becomes visible in the browser
662 *            viewport and is completed when the element leaves the browser
663 *            viewport.
664 *
665 * @param {Object} options The initialisation options of the module.
666 * 
667 * @property {Object}  options              The options that define the object
668 *                                          behaviour.
669 * @property {boolean} options.debug        Whether to print debug messages in
670 *                                          the browser console.
671 * @property {boolean} options.slug         A special codename for the instance
672 *                                          of the element, to be used as a
673 *                                          class on its container and as a key
674 *                                          in arrays  where it is grouped with
675 *                                          other elements of its kind. 
676 * @property {string}  options.watch        The element to watch. This is the 
677 *                                          element which is watched by the
678 *                                          module as it enters, crosses and
679 *                                          eventually leaves the viewport. The
680 *                                          parallax effect starts when the
681 *                                          watched element enters the viewport
682 *                                          and finishes when the watched
683 *                                          element leaves the viewport.
684 * @property {Object}  options.properties   In the case where the parallaxed
685 *                                          element is the watched element
686 *                                          itself this associative array
687 *                                          represents the CSS properties of it
688 *                                          that will be affected by the
689 *                                          parallax effect and  their initial
690 *                                          and final values.
691 * @property {Object}  options.elements     In the case where the parallaxed
692 *                                          element(s) are different from the 
693 *                                          watched element this associative
694 *                                          array represents these elements
695 *                                          along with  their CSS properties
696 *                                          which are to be affected by the
697 *                                          parallax effect. It may be either a
698 *                                          single element or an array of
699 *                                          elements.
700 * @property {integer} options.throttle     Duration in milliseconds to 
701 *                                          throttle the scroll event, so that 
702 *                                          the modulescroll callbacks are not 
703 *                                          called on each and every browser 
704 *                                          scroll event.
705 * @property {integer} options.duration     The duration of the animation of 
706 *                                          the transition of the CSS 
707 *                                          properties that are to be 
708 *                                          parallaxed.
709 * @property {integer} options.offsetTop    How much to delay the parallax
710 *                                          effect in terms of space, after the
711 *                                          watched element has appeared in the 
712 *                                          browser viewport.
713 * @property {integer} options.offsetBottom How much to make completion faster
714 *                                          in terms of space for the parallax
715 *                                          effect.
716 * @property {mixed} options.onAppear       Function callback to trigger or 
717 *                                          class to add when the watched
718 *                                          element appears in the browser
719 *                                          viewport.
720 * @property {mixed} options.onDisappear    Function callback to trigger or
721 *                                          class to add when the watched
722 *                                          element disappears from the browser
723 *                                          viewport.
724 * @property {boolean} options.runOnce      If true, then the what the parallax
725 *                                          functionality will only run once as
726 *                                          the user scrolls up and down the
727 *                                          and will not be reversed or run
728 *                                          again after it has completed.
729 *                                          Defaults to false.
730 * @property {string}  options.enter        Comma separated list of breakpoints
731 *                                          in  which the parallax enters, 
732 *                                          which means it is enabled.
733 * @property {string}  options.leave        Comma separated list of breakpoints
734 *                                          in which the parallax leaves, which
735 *                                          means it is disabled.
736 */
737Responsiville.Parallax=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
738this.options={};this.options=jQuery.extend(this.options,Responsiville.Parallax.defaults,options);
738this.codeName='responsiville.parallax';this.responsiville=Responsiville.Main.getInstance();this.enabled=!1;this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$watched=jQuery(this.options.watch);for(var key in this.options){var value=this.$watched.data('responsiville-parallax-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
739if(this.options.slug==''){Responsiville.Parallax.elementsCounter=Responsiville.Parallax.elementsCounter!==undefined?++Responsiville.Parallax.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Parallax.elementsCounter}
740var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$watched.data('responsiville-parallax-enter'),leave:this.$watched.data('responsiville-parallax-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
741if(this.$watched.length===0){this.log('Responsiville.Parallax instantiation error: no parallax elements found ('+this.options.element+').');return}
742this.$watched.data('responsiville-api',this);this.$watched.data('responsiville-parallax-api',this);this.$watched.addClass(this.options.slug);this.$elements=[];this.elementsProperties=[];if(this.options.properties!==null){this.$elements.push(this.$watched);this.elementsProperties.push(this.options.properties)}else{if(!jQuery.isArray(this.options.elements)){this.$elements.push(jQuery(this.options.elements.element));this.elementsProperties.push(this.options.elements.properties)}else{for(var k=0,length=this.options.elements.length;k<length;k++){var $element=jQuery(this.options.elements[k].element);if($element.length>0){this.$elements.push($element);this.elementsProperties.push(this.options.elements[k].properties)}}}}
743this.setupEvents();this.log('parallax initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Parallax,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Parallax,Responsiville.Events);Responsiville.Parallax.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Parallax.defaults={debug:!1,slug:'',watch:'.responsiville-parallax',properties:null,elements:[],throttle:10,duration:10,offsetTop:0,offsetBottom:0,onAppear:null,onDisappear:null,runOnce:!1,enter:'tablet, laptop, desktop, large, xlarge',leave:'small, mobile'};Responsiville.Parallax.autoRun=function(){jQuery(Responsiville.Parallax.defaults.watch).each(function(){new Responsiville.Parallax({debug:Responsiville.Main.getInstance().options.debug,watch:this})})};Responsiville.Parallax.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
744var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
745if(this.responsiville.is(this.options.enter)){this.enable()}};Responsiville.Parallax.prototype.enable=function(){if(this.enabled){return}
746this.log('enable parallax');if(!this.throttledCalculate){this.throttledCalculate=Responsiville.throttle(this.calculate,this.options.throttle,this)}
747this.$window.on('scroll',this.throttledCalculate);this.$window.on('resize',this.throttledCalculate);if(!this.throttledScroll){this.throttledScroll=Responsiville.throttle(this.scroll,this.options.throttle,this)}
748this.$window.on('scroll',this.throttledScroll);this.$window.on('resize',this.throttledScroll);this.calculate();this.scroll();this.enabled=!0;this.fireEvent('enabled')};Responsiville.Parallax.prototype.disable=function(){if(!this.enabled){return}
749this.log('disable parallax');for(var k=0,length=this.$elements.length;k<length;k++){var $element=this.$elements[k];var elementProperties=this.elementsProperties[k];var animationProperties={};for(var propertyName in elementProperties){var propertyValues=elementProperties[propertyName];animationProperties[propertyName]=''+propertyValues.from+propertyValues.unit}
750$element.velocity(animationProperties,{duration:0})}
751if(!this.throttledCalculate){this.throttledCalculate=Responsiville.throttle(this.calculate,this.options.throttle,this)}
752this.$window.off('scroll',this.throttledCalculate);this.$window.off('resize',this.throttledCalculate);if(!this.throttledScroll){this.throttledScroll=Responsiville.throttle(this.scroll,this.options.throttle,this)}
753this.$window.off('scroll',this.throttledScroll);this.$window.off('resize',this.throttledScroll);this.enabled=!1;this.fireEvent('disabled')};Responsiville.Parallax.prototype.calculate=function(){this.viewportHe
753ight=this.$window.height();this.watchedElementOffsetTop=this.offsetTopTotal(this.$watched.get(0));this.watchedElementHeight=this.$watched.outerHeight()};Responsiville.Parallax.prototype.offsetTopTotal=function(element){var offsetTopTotal=this.$watched.get(0).offsetTop;var parent=this.$watched.get(0).offsetParent;while(parent){offsetTopTotal+=parent.offsetTop;parent=parent.offsetParent}
754return offsetTopTotal};Responsiville.Parallax.prototype.scroll=function(){this.fireEvent('scrolling');console.log('Scroll');var scrollTop=this.$window.scrollTop!==undefined?this.$window.scrollTop():this.$document.get(0).documentElement.scrollTop;var scrollTopStart=this.watchedElementOffsetTop-this.viewportHeight+this.options.offsetTop;var scrollTopEnd=this.watchedElementOffsetTop+this.watchedElementHeight-this.options.offsetBottom;var parallaxPercentage=(scrollTop-scrollTopStart)/(scrollTopEnd-scrollTopStart);var watchedElementIsOffViewport=scrollTop<this.watchedElementOffsetTop-this.viewportHeight+this.options.offsetTop||scrollTop>this.watchedElementOffsetTop+this.watchedElementHeight-this.options.offsetBottom;var watchedElementWasInViewport=!!this.$watched.data('in-viewport');var hasRunOnce=!!this.$watched.data('has-run-once');if(this.scrollTop===undefined){this.scrollTop=0}
755var scrollDifference=scrollTop-this.scrollTop;var direction=scrollDifference>=0?'down':'up';this.scrollTop=scrollTop;this.direction=direction;if(!watchedElementIsOffViewport){this.$watched.data('in-viewport',!0);if(!watchedElementWasInViewport){if(!this.options.runOnce||this.options.runOnce&&!hasRunOnce){if(typeof this.options.onAppear=='string'){if(jQuery.isFunction(window[this.options.onAppear])){window[this.options.onAppear].call(this)}}else if(jQuery.isFunction(this.options.onAppear)){this.options.onAppear.call(this)}
756if(this.options.runOnce){this.$watched.data('has-run-once',!0)}}}}else{this.$watched.data('in-viewport',!1);if(watchedElementWasInViewport){if(!this.options.runOnce||this.options.runOnce&&!hasRunOnce){if(typeof this.options.onDisappear=='string'){if(jQuery.isFunction(window[this.options.onDisappear])){window[this.options.onDisappear].call(this)}}else if(jQuery.isFunction(this.options.onDisappear)){this.options.onDisappear.call(this)}
757if(this.options.runOnce){this.$watched.data('has-run-once',!0)}}}}
758for(var k=0,length=this.$elements.length;k<length;k++){var $element=this.$elements[k];var elementProperties=this.elementsProperties[k];if(watchedElementIsOffViewport){$element.removeClass('responsiville-parallax-active');if(!this.options.runOnce||this.options.runOnce&&!hasRunOnce){if(elementProperties.addClass!==undefined){$element.removeClass(elementProperties.addClass)}}
759if(!this.options.runOnce||this.options.runOnce&&!hasRunOnce){if(elementProperties.removeClass!==undefined){$element.addClass(elementProperties.removeClass)}}
760continue}
761$element.addClass('responsiville-parallax-active');if(elementProperties.addClass!==undefined){if(!this.options.runOnce||this.options.runOnce&&!hasRunOnce){$element.addClass(elementProperties.addClass)}
762if(this.options.runOnce){this.$watched.data('has-run-once',!0)}}
763if(elementProperties.removeClass!==undefined){if(!this.options.runOnce||this.options.runOnce&&!hasRunOnce){$element.removeClass(elementProperties.removeClass)}
764if(this.options.runOnce){this.$watched.data('has-run-once',!0)}}
765if(typeof elementProperties=='function'){elementProperties.call(this,$element,parallaxPercentage)}else if(elementProperties!==null){var animationProperties={};for(var propertyName in elementProperties){if(propertyName=='appear'||propertyName=='disappear'){continue}
766var propertyValues=elementProperties[propertyName];animationProperties[propertyName]=''+(propertyValues.from+(propertyValues.to-propertyValues.from)*parallaxPercentage)+propertyValues.unit}
767$element.velocity('stop').velocity(animationProperties,{duration:this.options.duration,easing:'linear'})}}
768this.fireEvent('scrolled')}
769;/**
770 * Creates and initialises the popup.
771 * 
772 * @class
773 * @extends   Responsiville.Debug
774 * @extends   Responsiville.Events
775 * 
776 * @author    Nevma, [email protected]
777 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
778 * 
779 * @fires     Responsiville.Popup#init
780 * 
781 * @classdesc A popup utility which takes a piece of HTML and shows it in a new
782 *            layer on top of the rest of the contents of a web page.
783 *
784 * @param {Object} options The initialisation options of the module.
785 * 
786 * @property {Object}  options                The options that define the object
787 *                                            behaviour.
788 * @property {boolean} options.debug          Whether to print debug messages in
789 *                                            the browser console.
790 * @property {boolean}
790 options.slug           A special codename for the
791 *                                            instance of the element, to be
792 *                                            used as a class on its container
793 *                                            and as a key in arrays where it is
794 *                                            grouped with other elements of its
795 *                                            kind. 
796 * @property {string}  options.activator      The selector of the element which
797 *                                            acticates, that is opens, the
798 *                                            popup. 
799 * @property {string}  options.element        The element that holds the popup
800 *                                            contents. Usually stays hidden
801 *                                            somewhere inside the page.
802 * @property {string}  options.contents       The HTML with the popup contents,
803 *                                            if the element property is not
804 *                                            set.
805 * @property {string}  options.layerEffect    The effect of the background layer
806 *                                            opening.
807 * @property {int}     options.layerDelay     The delay before the background
808 *                                            layer opens and closes.
809 * @property {int}     options.layerDuration  The duration of the background
810 *                                            layer effect.
811 * @property {string}  options.popupEffect    The effect of the popup contents
812 *                                            opening.
813 * @property {int}     options.popupDelay     The delay before the popup
814 *                                            contents open and close.
815 * @property {int}     options.popupDuration  The duration of the popup contents
816 *                                            effect.
817 * @property {string}  options.popupDuration  The duration of the popup contents
818 *                                            effect.
819 * @property {int}     options.resizeDelay    The delay before the popup resize
820 *                                            action occurs.
821 * @property {int}     options.resizeDuration The duration of the popup resize
822 *                                            action.
823 * @property {int}     options.width          The desired width of the popup in
824 *                                            px, vh, vw, % or even auto.
825 * @property {int}     options.height         The desired height of the popup in
826 *                                            px, vh, vw, %.
827 * @property {int}     options.maxWidth       The desired max width of the popup
828 *                                            in px, vh, vw, %.
829 * @property {int}     options.maxHeight      The desired max height of the
830 *                                            popup in px, vh, vw, %.
831 * @property {int}     options.minWidth       The desired min width of the popup
832 *                                            in px, vh, vw, %.
833 * @property {int}     options.minHeight      The desired min height of the
834 *                                            popup in px, vh, vw, %.
835 * @property {boolean} options.overflow       If set to false, the default, the
836 *                                            popup respects the max width and
837 *                                            height properties and allows for
838 *                                            internal overflow scroll. If set
839 *                                            to true then the popup can stretch
840 *                                            its contents further from the max
841 *                                            width and height and cause the
842 *                                            page to overflow scroll instead.
843 *                                            Useful when you know that you are
844 *                                            going to have long contents. 
845 * @property {string}  options.closePosition  Whether the popup close button
846 *                                            will be positioned in the popup or
847 *                                            out of it.
848 * @property {int}     options.startZIndex    The z-index from which the popup
849 *                                            should beging its layout and be
850 *                                            safely visible on top of
851 *                                            everything else.
852 * @property {string}  options.enter          Comma separated list of
853 *                                            breakpoints in which the popup
854 *                                            enters, wihch means it is enabled.
855 * @property {string}  options.leave          Comma separated list of
856 *                                            breakpoints in which the popup
857 *                                            leaves, which means it is
858 *                                            disabled.
859 */
860Responsiville.Popup=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
861this.options={};this.options=jQuery.extend(this.options,Responsiville.Popup.defaults,options);
861this.codeName='responsiville.popup';this.responsiville=Responsiville.Main.getInstance();this.contents=null;this.enabled=!1;this.open=!1;this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$close=null;this.$contentsWrapper=null;this.$contents=null;this.$contentsInner=null;this.$activator=jQuery();if(this.options.slug==''){Responsiville.Popup.elementsCounter=Responsiville.Popup.elementsCounter!==undefined?++Responsiville.Popup.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Popup.elementsCounter}
862if(typeof options.activator!='undefined'){this.$activator=jQuery(this.options.activator);if(this.$activator.length===0){this.log('Responsiville.Popup instantiation error: no activator found ('+this.options.activator+').');return}
863for(var key in this.options){var value=this.$activator.data('responsiville-popup-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
864this.$activator.data('responsiville-api',this);this.$activator.data('responsiville-popup-api',this)}
865if(this.$activator.length>0){this.$activator.addClass(this.options.slug)}
866if(this.$activator.length>0){var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$activator.data('responsiville-popup-enter'),leave:this.$activator.data('responsiville-popup-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}}
867this.initHTML();this.initContents();this.setupEvents();this.log('popup initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Popup,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Popup,Responsiville.Events);Responsiville.Popup.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Popup.defaults={debug:!1,slug:'',activator:'.responsiville-popup-activator',element:!1,contents:!1,layerEffect:'fade',layerDelay:50,layerDuration:100,popupEffect:'fade',popupDelay:200,popupDuration:300,resizeDelay:100,resizeDuration:200,width:!1,height:!1,maxWidth:'60vw',maxHeight:'90vh',minWidth:'25vw',minHeight:!1,overflow:!1,closePosition:'out',closeTitle:'Close popup',startZIndex:9999,enter:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Popup.autoRun=function(){jQuery(Responsiville.Popup.defaults.activator).each(function(){new Responsiville.Popup({debug:Responsiville.Main.getInstance().options.debug,activator:this})})};Responsiville.Popup.prototype.initHTML=function(){this.$contentsWrapper=jQuery('<div class="responsiville-popup-contents-wrapper '+this.options.slug+'"/>').appendTo(this.$body);if(this.options.overflow){this.$contentsWrapper.addClass('responsiville-popup-overflow')}
868this.$contents=jQuery('<div class="responsiville-popup-contents"/>').appendTo(this.$contentsWrapper);this.$contentsInner=jQuery('<div class="responsiville-popup-contents-inner"/>').appendTo(this.$contents);this.$close=jQuery('<button class="responsiville-popup-close" title="'+this.options.closeTitle+'"><span>Close</span></button>');if(this.options.closePosition=='out'){this.$contentsWrapper.addClass('responsiville-popup-close-out');this.$close.appendTo(this.$contentsWrapper)}else{this.$contentsWrapper.addClass('responsiville-popup-close-in');this.$close.appendTo(this.$contents)}};Responsiville.Popup.prototype.initContents=function(){if(this.$activator.length>0){var href=this.$activator.attr('href');if(href){this.setContents(jQuery(href))}else{this.setContents(jQuery(this.options.element))}}else{if(this.options.element){this.setContents(jQuery(this.options.element))}else{this.setContents(this.options.contents)}}};Responsiville.Popup.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
869var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
870if(this.responsiville.is(this.options.enter)){this.enable()}};Responsiville.Popup.prototype.enable=function(){if(this.enabled){return}
871this.log('enable popup');if(this.$activator.length>0){this.$activator.on('click',this.getBoundFunction(this.openPopup))}
872this.$contentsWrapper.on('click',this.getBoundFunction(this.closePopup));this.$contents.on('click',this.getBoundFunction(this.contentsClick));this.$close.on('click',this.getBoundFunction(this.closePopup));this.$document.on('keydown',this.getBoundFunction(this.documentKeyDown));this.responsiville.on('resize',this.getBoundFunction(this.resize));this.enabled=!0};Responsiville.Popup.prototype.disable=function(){if(!this.enabled){return}
873this.log('disable popup');this.enabled=!1};Responsiville.Popup.prototype.contentsClick=function(event){event.stopPropagation()};Responsiville.Popup.prototype.documentKeyDown=function(event){if(!this.open){return}
874var ESCAPE_KEY_CODE=27;var keyPressed=event.charCode||event.keyCode;if(keyPressed==ESCAPE_KEY_CODE){this.closePopup()}};Responsiville.Popup.prototype.setContents=function(contents){this.contents=contents;this.$contentsInner.html(jQuery(this.contents).clone(!0));this.$contentsInner.find('.responsiville-popup-close-button').on('click',this.getBoundFunction(this.closePopup));if(this.open){this.resize()}
875Responsiville.onImagesLoaded(this.$contentsInner.find('img').toArray(),{single:(function(){if(this.open){this.resize()}}).bind(this)})};Responsiville.Popup.prototype.calculateContentsDimensions=function(){jQuery('<div class="responsiville-popup-calculate-dimensions '+this.options.slug+'"/>').append(this.$contents.contents().clone()).appendTo(this.$body);var $tempContents=jQuery('.responsiville-popup-calculate-dimensions.'+this.options.slug);var availableWidth=this.$body.outerWidth();var availableHeight=window.innerHeight;if(this.options.width){this.log('adjusting for set width');$tempContents.css('width',this.options.width)}else{var currentWidth=$tempContents.outerWidth();$tempContents.css('width',availableWidth);var maxWidth=$tempContents.outerWidth();if(currentWidth<maxWidth){this.log('adjusting for viewport width');$tempContents.css('width',availableWidth)}else{this.log('not adjusting for viewport width');$tempContents.css('width',currentWidth)}}
876if(this.options.maxWidth){var currentWidth=$tempContents.outerWidth();$tempContents.css('width',this.options.maxWidth);var maxWidth=$tempContents.outerWidth();if(currentWidth>maxWidth){this.log('adjusting for max width');$tempContents.css('width',this.options.maxWidth)}else{this.log('not adjusting for max width');$tempContents.css('width',currentWidth)}}
877if(this.options.minWidth){var currentWidth=$tempContents.outerWidth();$tempContents.css('width',this.options.minWidth);var minWidth=$tempContents.outerWidth();if(currentWidth<minWidth){this.log('adjusting for min width');$tempContents.css('width',this.options.minWidth)}else{this.log('not adjusting for min width');$tempContents.css('width',currentWidth)}}
878if(this.options.height){this.log('adjusting for set height');$tempContents.css('height',this.options.height)}
879if(!this.options.overflow){if(this.options.maxHeight){var currentHeight=$tempContents.outerHeight();$tempContents.css('height',this.options.maxHeight);var maxHeight=$tempContents.outerHeight();if(currentHeight>maxHeight){this.log('adjusting for max height');$tempContents.css('height',maxHeight)}else{this.log('not adjusting for max height');$tempContents.css('height',currentHeight)}}else{var currentHeight=$tempContents.outerHeight();$tempContents.css('height',availableHeight);var maxHeight=$tempContents.outerHeight();if(currentHeight>maxHeight){this.log('adjusting for viewport height');$tempContents.css('height',maxHeight)}else{this.log('not adjusting for viewport height');$tempContents.css('height',currentHeight)}}}
880if(this.options.minHeight){var currentHeight=$tempContents.outerHeight();$tempContents.css('height',this.options.minHeight);var minHeight=$tempContents.outerHeight();if(currentHeight<minHeight){this.log('adjusting for min height');$tempContents.css('height',minHeight)}else{this.log('not adjusting for min height');$tempContents.css('height',currentHeight)}}
881var dimensions={width:Math.ceil($tempContents.outerWidth()),height:Math.ceil($tempContents.outerHeight())}
882if(dimensions.width%2==1){dimensions.width++}
883if(dimensions.height%2==1){dimensions.height++}
884$tempContents.remove();return dimensions};Responsiville.Popup.prototype.parseInt=function(number){var result=window.parseInt(number);if(window.isNaN(result)){return 0}else{return result}}
885Responsiville.Popup.prototype.showContentsWrapper=function(callback){if(this.options.layerEffect=='fade'){this.$contents.css('opacity',0);this.$contentsWrapper.css({'opacity':0,'display':'block','z-index':this.options.startZIndex});this.$contentsWrapper.velocity({opacity:1},{delay:this.options.layerDelay,duration:this.options.layerDuration,complete:(function(){if(callback!==undefined){callback()}}).bind(this)})}else if(this.options.layerEffect=='none'){this.$contentsWrapper.css({'display':'block','z-index':this.options.startZIndex})}};Responsiville.Popup.prototype.hideContentsWrapper=function(callback){if(this.options.layerEffect=='fade'){this.$contentsWrapper.velocity({opacity:0}
885,{delay:this.options.layerDelay,duration:this.options.layerDuration,complete:(function(){this.$contentsWrapper.css({'display':'none','z-index':-1});if(callback!==undefined){callback()}}).bind(this)})}else if(this.options.layerEffect=='none'){this.$contentsWrapper.css({'display':'none','z-index':-1})}};Responsiville.Popup.prototype.resize=function(){if(!this.open){return}
886this.fireEvent('beforeResize');var dimensions=this.calculateContentsDimensions();this.$contents.addClass('responsiville-popup-resizing');this.$contents.velocity('stop').velocity({width:dimensions.width,height:dimensions.height},{delay:this.options.resizeDelay,duration:this.options.resizeDuration,complete:(function(){this.$contents.removeClass('responsiville-popup-resizing');this.fireEvent('resize')}).bind(this)})};Responsiville.Popup.prototype.showContents=function(callback){this.$contentsWrapper.css({'display':'block','z-index':this.options.startZIndex});if(this.options.popupEffect=='fade'){var dimensions=this.calculateContentsDimensions();if(this.options.overflow){this.$contents.css({'display':'block','position':'relative','top':'auto','left':'50%','width':dimensions.width,'height':dimensions.height,'transform':'translateX(-50%)','margin':'50px 0'})}else{this.$contents.css({'display':'block','position':'fixed','top':'50%','left':'50%','width':dimensions.width,'height':dimensions.height,'transform':'translateX(-50%) translateY(-50%)'})}
887this.$contents.velocity({opacity:[1,0]},{delay:this.options.popupDelay,duration:this.options.popupDuration,complete:(function(){if(callback!==undefined){callback()}}).bind(this)})}else if(this.options.popupEffect=='none'){this.$contents.css({'position':'fixed','top':'50%','left':'50%','transform':'translateX(-50%) translateY(-50%)'})}};Responsiville.Popup.prototype.hideContents=function(callback){if(this.options.popupEffect=='fade'){this.$contents.velocity({opacity:[0,1]},{delay:this.options.popupDelay,duration:this.options.popupDuration,complete:(function(){this.$contents.css({'display':'none'});if(callback!==undefined){callback()}}).bind(this)})}else if(this.options.popupEffect=='none'){this.$contents.css({'display':'none'})}};Responsiville.Popup.prototype.openPopup=function(){if(!this.enabled){return}
888this.log('open popup');this.fireEvent('opening');this.$body.addClass('responsiville-popup-body-open');this.$contentsWrapper.addClass('responsiville-popup-open');this.showContentsWrapper((function(){this.showContents((function(){this.open=!0;this.fireEvent('open')}).bind(this))}).bind(this));return!1};Responsiville.Popup.prototype.closePopup=function(){if(!this.enabled){return}
889this.log('close popup');this.fireEvent('closing');this.hideContents((function(){this.hideContentsWrapper((function(){this.open=!1;this.$body.removeClass('responsiville-popup-body-open');this.$contentsWrapper.removeClass('responsiville-popup-open');this.fireEvent('close')}).bind(this))}).bind(this));return!1}
890;/**
891 * Responsive elements utility.
892 * 
893 * @class
894 * @extends   Responsiville.Debug
895 * @extends   Responsiville.Events
896 * 
897 * @author    Nevma, [email protected]
898 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
899 * 
900 * @fires     Responsiville.Responsiveelement#init
901 * 
902 * @classdesc Takes a casual element and makes it responsive. This way one can
903 *            set different behaviour and styling to the element per breakpoint
904 *            just as they do in a responsive web page as a whole.
905 *
906 * @param {Object} options The initialisation options of the module.
907 * 
908 * @property {Object}  options             The options that define the object
909 *                                         behaviour.
910 * @property {boolean} options.debug       Whether to print debug messages in
911 *                                         the browser console.
912 * @property {boolean} options.slug        A special codename for the instance
913 *                                         of the element, to be used as a
914 *                                         class on its container and as a key
915 *                                         in arrays  where it is grouped with
916 *                                         other elements of its kind. 
917 * @property {string}  options.breakpoints List of name and width pairs that
918 *                                         define the responsive breakpoints of
919 *                                         this element.
920 * @property {string}  options.element     The element to be enhanced with
921 *                                         responsive behaviour.
922 * @property {string}  options.enter       Comma separated list of breakpoints
923 *                                         in which the module enters, which
924 *                                         means it is enabled.
925 * @property {string}  options.leave       Comma separated list of breakpoints
926 *                                         in which the module leaves, which
927 *                                         means it is disabled.
928 */
929Responsiville.Responsiveelement=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
930this.enabled=!1;this.options=jQuery.extend(this.options,Responsiville.Responsiveelement.defaults,options);
930this.codeName='responsiville.responsiveelement';this.responsiville=Responsiville.Main.getInstance();this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$element=jQuery(this.options.element);this.previousBreakpoint=null;this.currentBreakpoint=null;if(this.$element.length===0){this.log('Responsiville.Responsiveelement instantiation error: no element found ('+this.options.element+').');return}
931if(this.$element.length>1){this.log('Responsiville.Responsiveelement instantiation error: more than one elements found ('+this.options.element+').');return}
932for(var key in this.options){var value=this.$element.data('responsiville-responsiveelement-'+key);if(typeof value!=='undefined'){this.options[key]=value}}
933if(this.options.slug==''){Responsiville.Responsiveelement.elementsCounter=Responsiville.Responsiveelement.elementsCounter!==undefined?++Responsiville.Responsiveelement.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Responsiveelement.elementsCounter}
934this.options.breakpoints.sort(function(breakpointA,breakpointB){return breakpointA.width-breakpointB.width});var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$element.data('responsiville-responsiveelement-enter'),leave:this.$element.data('responsiville-responsiveelement-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
935this.$element.data('responsiville-api',this);this.$element.data('responsiville-responsiveelement-api',this);this.$element.addClass(this.options.slug);this.$images=this.$element.find('img');this.setupEvents();if(this.responsiville.is(this.options.enter)){this.enable()}
936this.log('responsivelements initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Responsiveelement,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Responsiveelement,Responsiville.Events);Responsiville.Responsiveelement.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Responsiveelement.defaults={debug:!1,slug:'',breakpoints:[{breakpoint1:1024},{breakpoint2:2048},{breakpoint3:9999}],element:'.responsiville-responsiveelement',enter:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Responsiveelement.autoRun=function(){jQuery(Responsiville.Responsiveelement.defaults.element).each(function(){new Responsiville.Responsiveelement({debug:Responsiville.Main.getInstance().options.debug,element:this})})};Responsiville.Responsiveelement.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
937var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
938for(k=0,length=this.$images.length;k<length;k++){var image=this.$images.eq(k).get(0);if(Responsiville.hasImageLoaded(image)){this.imagesLoaded++}else{image.onload=this.getBoundFunction(this.imageLoaded);image.onerror=this.getBoundFunction(this.imageError)}}};Responsiville.Responsiveelement.prototype.enable=function(){if(this.enabled){return}
939this.enabled=!0;this.log('enable responsiveelement');this.responsiville.on('resize',this.getBoundFunction(this.processElement));this.processElement();this.fireEvent('enabled')};Responsiville.Responsiveelement.prototype.disable=function(){if(!this.enabled){return}
940this.enabled=!1;this.log('disable responsiveelement');this.responsiville.off('resize',this.getBoundFunction(this.processElement));var removeClasses='';var breakpoint;for(var k=0;k<this.options.breakpoints.length;k++){breakpoint=this.options.breakpoints[k];removeClasses+=breakpoint.name+' '}
941this.$element.removeClass(removeClasses);this.fireEvent('disabled')};Responsiville.Responsiveelement.prototype.imageLoaded=function(event){this.imagesLoaded++;if(this.enabled&&this.imagesLoaded==this.$images.length){this.processElement()}
942this.fireEvent('image.loaded',[event])};Responsiville.Responsiveelement.prototype.imageError=function(event){this.imagesLoaded++;if(this.enabled&&this.imagesLoaded==this.$images.length){this.processElement()}
943this.fireEvent('image.error',[event])};Responsiville.Responsiveelement.prototype.runBreakpointChangeCallbacks=function(){this.fireEvent('leave.'+this.previousBreakpoint.name,this.$element);this.fireEvent('enter.'+this.currentBreakpoint.name,this.$element)};Responsiville.Responsiveelement.prototype.processElement=function(){this.fireEvent('processing');var k;var breakpoint;var newBreakpoint;var elementWidth;elementWidth=this.$element.outerWidth();if(elementWidth===0){this.log('non-displayed or zero-width element. Checking the element parents.');var $parents=jQuery(this.$element.parents());for(k=0;k<$parents.length;k++){elementWidth=$parents.eq(k).width();if($parents.eq(k).css('display')!=='none'&&elementWidth!==0){this.log('found displayed parent with non-zero width '+elementWidth+'px');break}}}
944this.log('processing element with width '+elementWidth+'px');var removeClasses='';for(k=0;k<this.options.breakpoints.length;k++){breakpoint=this.options.breakpoints[k];removeClasses+=breakpoint.name+' '}
945var addClasses='';for(k=0,length=this.options.breakpoints.length;k<length;k++){breakpoint=this.options.breakpoints[k];if(elementWidth>breakpoint.width){addClasses+=breakpoint.name+' ';newBreakpoint=breakpoint}else{break}}
946if(elementWidth<=breakpoint.width){addClasses+=breakpoint.name+' ';newBreakpoint=breakpoint}
947this.log('removing classes: '+addClasses);this.log('adding classes: '+addClasses);this.$element.removeClass(removeClasses);this.$element.addClass(addClasses);var firstRun=!1;if(!this.currentBreakpoint){firstRun=!0;this.currentBreakpoint=newBreakpoint}
948var oldBreakpoint=this.currentBreakpoint;var breakpointChanged=firstRun||oldBreakpoint.name!=newBreakpoint.name;if(breakpointChanged){this.log('breakpoint change detected from '+this.currentBreakpoint.name+' to '+newBreakpoint.name);this.previousBreakpoint=this.currentBreakpoint;this.currentBreakpoint=newBreakpoint;this.runBreakpointChangeCallbacks();this.fireEvent('change',this.$element)}
949this.log('processed element');this.fireEvent('processed')}
950;/**
951 * Creates and initialises the scrollmenu. 
952 * 
953 * @class
954 * @extends   Responsiville.Debug
955 * @extends   Responsiville.Events
956 * 
957 * @author    Nevma, [email protected]
958 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
959 * 
960 * @fires     Responsiville.Scrollmenu#init
961 * 
962 * @classdesc A responsive scrollmenu for the Responsiville framework. It makes 
963 *            a menu, or any HTML element for that matter, stay fixed on top of 
964 *            the screen as the user scrolls down the page. Pretty useful in 
965 *            responsive web design and in long web pages in general.
966 *
967 * @param {Object} options The initialisation options of the module.
968 * 
969 * @property {Object}  options              The options that define the object
970 *                                          behaviour.
971 * @property {boolean} options.debug        Whether to print debug messages in
972 *                                          the browser console.
973 * @property {boolean}
973 options.slug         A special codename for the instance
974 *                                          of the element, to be used as a
975 *                                          class on its container and as a key
976 *                                          in arrays where it is grouped with
977 *                                          other elements of its kind. 
978 * @property {string}  options.element      Selector for the element that
979 *                                          actually is the element to be fixed.
980 * @property {string}  options.wrapper      The class of the wrapper element
981 *                                          that will wrap around the actual
982 *                                          element. 
983 * @property {string}  options.enabled      The class added to the cloned
984 *                                          element when the scrollmenu is 
985 *                                          enabled. Note that the scrollmenu
986 *                                          might be there without being
987 *                                          enabled. Enabled does not mean
988 *                                          active and visible. Enabled means
989 *                                          having the readiness to become 
990 *                                          active  upon the desired page 
991 *                                          scroll.
992 * @property {string}  options.active       The class added to the scrollmenu 
993 *                                          whenit becomes active. 
994 * @property {string}  options.activeBody   The class added to the body element 
995 *                                          when the scrollmenu becomes active.
996 * @property {string}  options.zIndex       Specify a z-index property different
997 *                                          than the the default.
998 * @property {string}  options.offsetTop    The extra space to wait for the user
999 *                                          to scroll down to, after the
1000 *                                          original element is out of sight, 
1001 *                                          before showing the scrollmenu.
1002 * @property {string}  options.offsetBottom The reverse of offsetTop, the extra
1003 *                                          space before the original element
1004 *                                          would be back in sight, as the user 
1005 *                                          scrolls up, where the scrollmenu
1006 *                                          will be hidden.
1007 * @property {string}  options.enter        Comma separated list of breakpoints
1008 *                                          in which the module enters, wihch
1009 *                                          means it is enabled (not activated).
1010 * @property {string}  options.leave        Comma separated list of breakpoints
1011 *                                          in which the module leaves, which
1012 *                                          means it is disabled.
1013 */
1014Responsiville.Scrollmenu=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
1015this.options={};this.options=jQuery.extend(this.options,Responsiville.Scrollmenu.defaults,options);this.codeName='responsiville.scrollmenu';this.responsiville=Responsiville.Main.getInstance();this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$element=jQuery(this.options.element);for(var key in this.options){var value=this.$element.data('responsiville-scrollmenu-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
1016if(this.options.slug==''){Responsiville.Scrollmenu.elementsCounter=Responsiville.Scrollmenu.elementsCounter!==undefined?++Responsiville.Scrollmenu.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Scrollmenu.elementsCounter}
1017var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$element.data('responsiville-scrollmenu-enter'),leave:this.$element.data('responsiville-scrollmenu-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
1018if(this.$element.length===0){this.log('Responsiville.Scrollmenu instantiation error: no menus found ('+this.options.menu+').');return}
1019this.$element.data('responsiville-api',this);this.$element.data('responsiville-scrollmenu-api',this);this.$elementCloned=this.$element.clone(!1).wrap('<div class="'+this.options.wrapper+'" '+(this.options.zIndex>0?'style="z-index: '+this.options.zIndex+';"':'')+'>').parent().appendTo(this.$body);this.$elementCloned.addClass(this.options.slug);this.enabled=!1;this.activated=!1;this.setupEvents();this.$element.data('offsetTop',Math.ceil(this.$element.offset().top));this.log('scrollmenu initialised');this.$elementCloned.find(Responsiville.Mobimenu.defaults.element).each(function(){new Responsiville.Mobimenu({debug:Responsiville.Main.getInstance().options.debug,element:this})});this.$elementCloned.find(Responsiville.Megamenu.defaults.activator).each(function(){new Responsiville.Megamenu({debug:Responsiville.Main.getInstance().options.debug,activator:this})});this.$elementCloned.find(Responsiville.Drawers.defaults.container).each(function(){new Responsiville.Drawers({debug:Responsiville.Main.getInstance().options.debug,container:this})});this.fireEvent('created')};Responsiville.extend(Responsiville.Scrollmenu,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Scrollmenu,Responsiville.Events);Responsiville.Scrollmenu.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Scrollmenu.defaults={debug:!1,slug:'',element:'.responsiville-scrollmenu',wrapper:'responsiville-scrollmenu-wrapper',enabled:'responsiville-scrollmenu-enabled',active:'responsiville-scrollmenu-active',activeBody:'responsiville-scrollmenu-active-body',zIndex:-1,offsetTop:0,offsetBottom:0,enter:'small, mobile, tablet, laptop, desktop, large, xlarge',leave:''};Responsiville.Scrollmenu.autoRun=function(){jQuery(Responsiville.Scrollmenu.defaults.element).each(function(){new Responsiville.Scrollmenu({debug:Responsiville.Main.getInstance().options.debug,element:this})})};Responsiville.Scrollmenu.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
1020var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
1021if(this.responsiville.is(this.options.enter)){this.enable()}
1022var scrollThrottled=this.getBoundFunction(Responsiville.throttle(this.scroll));this.$window.on('scroll',scrollThrottled);this.$window.on('resize',scrollThrottled)};Responsiville.Scrollmenu.prototype.enable=function(){this.log('enable scrollmenu');this.enabled=!0;this.$elementCloned.addClass(this.options.enabled);this.scroll();this.fireEvent('enabled')};Responsiville.Scrollmenu.prototype.disable=function(){this.log('disable scrollmenu');this.deactivate();this.enabled=!1;this.$elementCloned.removeClass(this.options.enabled);this.fireEvent('disabled')};Responsiville.Scrollmenu.prototype.activate=function(){if(!this.enabled){return}
1023if(this.activated){return}
1024this.log('activate scrollmenu');this.fireEvent('activating');this.$body.addClass(this.options.activeBody);this.$elementCloned.addClass(this.options.active);this.activated=!0;this.fireEvent('activated')};Responsiville.Scrollmenu.prototype.deactivate=function(){if(!this.enabled){return}
1025if(!this.activated){return}
1026this.log('deactivate scrollmenu');this.fireEvent('deactivating');this.$body.removeClass(this.options.activeBody);this.$elementCloned.removeClass(this.options.active);this.activated=!1;this.fireEvent('deactivated')};Responsiville.Scrollmenu.prototype.scroll=function(){if(!this.enabled){return}
1027this.log('scrollmenu scroll');var scrollY=window.pageYOffset!==undefined?window.pageYOffset:this.$window.get(0).scrollY;var threshold=this.options.offsetTop-this.options.offsetBottom;if(scrollY>threshold){this.activate()}else if(scrollY<=threshold){this.deactivate()}}
1028;/**
1029 * Creates and initialises the stickymenu. 
1030 * 
1031 * @class
1032 * @extends   Responsiville.Debug
1033 * @extends   Responsiville.Events
1034 * 
1035 * @author    Nevma, [email protected]
1036 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
1037 * 
1038 * @fires     Responsiville.Stickymenu#init
1039 * 
1040 * @classdesc A responsive stickymenu for the Responsiville framework. It makes 
1041 *            a menu, or any HTML element for that matter, stay fixed on top of 
1042 *            the screen as the user scrolls down the page. Pretty useful in 
1043 *            responsive web design and in long web pages in general.
1044 *
1045 * @param {Object} options The initialisation options of the module.
1046 * 
1047 * @property {Object}  options              The options that define the object
1048 *                                          behaviour.
1049 * @property {boolean} options.debug        Whether to print debug messages in
1050 *                                          the browser console.
1051 * @property {boolean}
1051 options.slug         A special codename for the instance
1052 *                                          of the element, to be used as a
1053 *                                          class on its container and as a key
1054 *                                          in arrays where it is grouped with
1055 *                                          other elements of its kind. 
1056 * @property {string}  options.element      Selector for the element that
1057 *                                          actually is the element to be made
1058 *                                          sticky.
1059 * @property {string}  options.enabled      The class added to the element when 
1060 *                                          the stickymenu is enabled. Note 
1061 *                                          that the stickymenu might be there
1062 *                                          without being enabled. Enabled does
1063 *                                          not mean active. Enabled means
1064 *                                          having the readiness to become 
1065 *                                          active upon the desired page 
1066 *                                          scroll.
1067 * @property {string}  options.active       The class added to the stickymenu 
1068 *                                          whenit becomes active. 
1069 * @property {string}  options.activeBody   The class added to the body element 
1070 *                                          when the stickymenu becomes active.
1071 * @property {string}  options.offsetTop    The extra space to wait for the user
1072 *                                          to scroll down to, before the sticky 
1073 *                                          menu us activated.
1074 * @property {string}  options.offsetBottom The reverse of offsetTop, the extra
1075 *                                          space before the top of the page
1076 *                                          where the stickymenu will be 
1077 *                                          deactivated.
1078 * @property {string}  options.enter        Comma separated list of breakpoints
1079 *                                          in which the module enters, wihch
1080 *                                          means it is enabled (not activated).
1081 * @property {string}  options.leave        Comma separated list of breakpoints
1082 *                                          in which the module leaves, which
1083 *                                          means it is disabled.
1084 */
1085Responsiville.Stickymenu=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
1086this.options={};this.options=jQuery.extend(this.options,Responsiville.Stickymenu.defaults,options);this.codeName='responsiville.stickymenu';this.responsiville=Responsiville.Main.getInstance();this.$body=this.responsiville.$body;this.$document=this.responsiville.$document;this.$window=this.responsiville.$window;this.$element=jQuery(this.options.element);for(var key in this.options){var value=this.$element.data('responsiville-stickymenu-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
1087if(this.options.slug==''){Responsiville.Stickymenu.elementsCounter=Responsiville.Stickymenu.elementsCounter!==undefined?++Responsiville.Stickymenu.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Stickymenu.elementsCounter}
1088var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$element.data('responsiville-stickymenu-enter'),leave:this.$element.data('responsiville-stickymenu-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
1089if(this.$element.length===0){this.log('Responsiville.Stickymenu instantiation error: no menus found ('+this.options.menu+').');return}
1090this.$element.data('responsiville-api',this);this.$element.data('responsiville-stickymenu-api',this);this.enabled=!1;this.activated=!1;this.setupEvents();this.log('stickymenu initialised');this.fireEvent('created')};Responsiville.extend(Responsiville.Stickymenu,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Stickymenu,Responsiville.Events);Responsiville.Stickymenu.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Stickymenu.defaults={debug:!1,slug:'',element:'.responsiville-stickymenu',enabled:'responsiville-stickymenu-enabled',active:'responsiville-stickymenu-active',activeBody:'responsiville-stickymenu-active-body',offsetTop:0,offsetBottom:0,enter:'laptop, desktop, large, xlarge',leave:'small, mobile, tablet'};Responsiville.Stickymenu.autoRun=function(){jQuery(Responsiville.Stickymenu.defaults.element).each(function(){new Responsiville.Stickymenu({debug:Responsiville.Main.getInstance().options.debug,element:this})})};Responsiville.Stickymenu.prototype.setupEvents=function(){var k,length;var breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}
1091var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
1092if(this.responsiville.is(this.options.enter)){this.enable()}
1093var scrollThrottled=this.getBoundFunction(Responsiville.throttle(this.scroll));this.$window.on('scroll',scrollThrottled);this.$window.on('resize',scrollThrottled)};Responsiville.Stickymenu.prototype.enable=function(){this.log('enable stickymenu');this.$element.addClass(this.options.enabled);this.enabled=!0;this.scroll();this.fireEvent('enabled')};Responsiville.Stickymenu.prototype.disable=function(){this.log('disable stickymenu');this.deactivate();this.enabled=!1;this.$element.removeClass(this.options.enabled);this.fireEvent('disabled')};Responsiville.Stickymenu.prototype.activate=function(){if(!this.enabled){return}
1094if(this.activated){return}
1095this.log('activate stickymenu');this.fireEvent('activating');this.$body.addClass(this.options.activeBody);this.$element.addClass(this.options.active);this.activated=!0;this.fireEvent('activated')};Responsiville.Stickymenu.prototype.deactivate=function(){if(!this.enabled){return}
1096if(!this.activated){return}
1097this.log('deactivate stickymenu');this.fireEvent('deactivating');this.$body.removeClass(this.options.activeBody);this.$element.removeClass(this.options.active);this.activated=!1;this.fireEvent('deactivated')};Responsiville.Stickymenu.prototype.scroll=function(){if(!this.enabled){return}
1098this.log('stickymenu scroll');var scrollY=window.pageYOffset!==undefined?window.pageYOffset:this.$window.get(0).scrollY;var threshold=this.options.offsetTop-this.options.offsetBottom;if(scrollY>threshold){this.activate()}else if(scrollY<=threshold){this.deactivate()}}
1099;/**
1100 * Creates and initialises the slideshow. 
1101 * 
1102 * @class
1103 * @extends   Responsiville.Debug
1104 * @extends   Responsiville.Events
1105 * 
1106 * @author    Nevma, [email protected]
1107 * @license   http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
1108 * 
1109 * @fires     Responsiville.Slideshow#init
1110 * 
1111 * @classdesc A responsive slideshow for the Responsiville framework. A 
1112 *            slideshow consists of a container for elements that iterate, ie 
1113 *            the slides, the slies themselves and some elements for controlling
1114 *            its behaviour, moving it back and forth and to next and previous 
1115 *            slide. It works with the Responsiville framework. It hides when
1116 *            necessary, re-appears when there is enough space, according to the
1117 *            given breakpoints configuration. People have been known to use it
1118 *            even for creating other functionalities, like tabs, etc.
1119 *
1120 * @param {Object} options The initialisation options of the module.
1121 * 
1122 * @property {Object}   options              The options that define the object
1123 *                                           behaviour.
1124 * @property {boolean}  options.debug        Whether to print debug messages in 
1125 *                                           the browser console.
1126 * @property {boolean}  options.slug         A special codename for the instance
1127 *                                           of the element, to be used as a
1128 *                                           class on  its container and as a
1129 *                                           key in arrays where it is grouped
1130 *                                           with other elements of its kind. 
1131 * @property {string}   options.enter        Comma separated list of breakpoints 
1132 *                                           in which the slideshow enters, 
1133 *                                           which means it is enabled.
1134 * @property {string}   options.leave        Comma separated list of breakpoints
1135 *                                           in which the slideshow leaves,
1136 *                                           which means it is disabled.
1137 * @property {string}   options.container    The slideshow container element 
1138 *                                           selector.
1139 * @property {string}   options.slides       The slideshow slides elements 
1140 *                                           selector. If null given then the
1141 *                                           container's direct children are
1142 *                                           taken into account.
1143 * @property {string}   options.navigation   The slideshow navigation element,
1144 *                                           the one that holds the slide
1145 *                                           bullets and  the next and previous
1146 *                                           buttons. If null given then the
1147 *                                           module searches for a nav element
1148 *                                           inside the container.
1149 * @property {string}   options.bullets      The selector of the element that
1150 *                                           holds the slideshow navigation
1151 *                                           bullets.
1152 * @property {string}   options.bullet       The selector of the actual
1153 *                                           slideshow bullets.
1154 * @property {string}   options.next         The next slide button element 
1155 *                                           selector.
1156 * @property {string}   options.previous     The previous slide button element 
1157 *                                           selector.
1158 * @property {string}   options.loading      Class added to a the container
1159 *                                           before the first slide loads, while
1160 *                                           the user is under the impression
1161 *                                           that the slideshow itself is
1162 *                                           loading.
1163 * @property {string}   options.loaded       Class added to a the container
1164 *                                           after the first slide has loaded.
1165 *                                           "First" means the first selected
1166 *                                           slide, not the first in the row.
1167 * @property {string}   options.selecting    Class added to slides while 
1168 *                                           transitioning from non selectred to
1169 *                                           selected.
1170 * @property {string}   options.selected     Class added to a slide when it is
1171 *                                           selected. Only one slide can be
1172 *                                           selected.
1173 * @property {string}   options.bulletsPos   The position of the navigation 
1174 *                                           bullets, eg "bc" stands for "bottom
1175 *                                           center", etc.
1176 * @property {string}   options.bulletOn     The class of the selected bullet at 
1177 *                                           each time.
1178 * @property {string}   options.nextText     The text inside the slideshow next
1179 *                                           button.
1180 * @property {string}   options.previousText The text inside the slideshow
1181 *                                           previous button.
1182 * @property {string}   options.bulletText   The text inside the slideshow
1183 *                                           bullets.
1184 * @property {string}   options.resizeMode   How to resize the container, "none" 
1185 *                                           means do not resize it at all, 
1186 *                                           "slide" means give it the height of 
1187 *                                           the current slide, "maxSlide" means 
1188 *                                           resize it in the beginning to the 
1189 *                                           height of the biggest slide.
1190 * @property {int}      options.first        Slide to start from, counting from 
1191 *                                           zero.
1192 * @property {int}      options.direction    Whether the slide advances forwards 
1193 *                                           (a positive value) or goes
1194 *                                           backwards (a negative value).
1195 * @property {boolean}  options.start        Whether to start the automatic 
1196 *                                           slide iteration in the beginning.
1197 * @property {string}   options.effect       The visual effect to use when 
1198 *                                           transitioning from one slide to the 
1199 *                                           next, "none" means no effect simply 
1200 *                                           appear and disappear, "fade" means
1201 *                                           a fading effect, "slide" means a 
1202 *                                           sliding effect.
1203 * @property {int}      options.speed        The speed of the slideshow or how 
1204 *                                           much the each slide stays visible 
1205 *                                           before transitioning to the next.
1206 * @property {int}      options.transition   The speed of each slide transition 
1207 *                                           visual effect.
1208 * @property {boolean}  options.hover        Whether to pause the slideshow when 
1209 *                                           the user hovers their mouse over
1210 *                                           it.
1211 * @property {boolean}  options.wait         Whether to wait for the images of
1212 *                                           the first selected slide to fully
1213 *                                           load before beginning the
1214 *                                           slideshow. Useful to provide a
1215 *                                           loading indicator to the user while
1216 *                                           they wait.
1217 */
1218Responsiville.Slideshow=function(options){if(!Responsiville.Main.getInstance()){throw new Error('Responsiville instantiation error: the framework has not been initialised, call new Responsiville::Main() and then Responsiville::init().')}
1219this.options={};this.options=jQuery.extend(this.options,Responsiville.Slideshow.defaults,options);
1219this.codeName='responsiville.slideshow';this.responsiville=Responsiville.Main.getInstance();this.$container=jQuery(this.options.container);for(var key in this.options){var value=this.$container.data('responsiville-slideshow-'+key.toLowerCase());if(typeof value!=='undefined'){this.options[key]=value}}
1220if(this.options.slug==''){Responsiville.Slideshow.elementsCounter=Responsiville.Slideshow.elementsCounter!==undefined?++Responsiville.Slideshow.elementsCounter:0;this.options.slug=this.codeName.replace('.','-')+'-'+Responsiville.Slideshow.elementsCounter}
1221var htmlBreakpoints=Responsiville.determineEnableDisableBreakpoints({enter:this.$container.data('responsiville-slideshow-enter'),leave:this.$container.data('responsiville-slideshow-leave')});if(htmlBreakpoints!==null){this.options.enter=htmlBreakpoints.enter;this.options.leave=htmlBreakpoints.leave}
1222this.$slides=this.$container.find(this.options.slides);this.index=null;this.paused=null;this.enabled=null;this.timeoutHandler=null;this.firstRun=!0;if(this.$slides.length===0){this.$slides=this.$container.children()}
1223if(this.$slides.length===0){this.log('Responsiville.Slideshow instantiation error: no slides found ('+this.options.slides+').');return}
1224this.$container.data('responsiville-api',this);this.$container.data('responsiville-slideshow-api',this);this.$container.addClass(this.options.slug);this.$slides.wrapAll('<div class="responsiville-slideshow-slides-container"></div>');this.$container.append('<nav class="responsiville-slideshow-navigation">'+'<button class="responsiville-slideshow-next" title="'+this.options.nextText+'">'+'<span class="responsiville-slideshow-next-icon"></span>'+'<span class="responsiville-slideshow-next-text">'+this.options.nextText+'</span>'+'</button>'+'<button class="responsiville-slideshow-previous" title="'+this.options.previousText+'">'+'<span class="responsiville-slideshow-previous-icon"></span>'+'<span class="responsiville-slideshow-previous-text">'+this.options.previousText+'</span>'+'</button>'+'</nav>');var bulletsHTML='';for(var k=0,length=this.$slides.length;k<length;k++){bulletsHTML+='<button class="responsiville-slideshow-bullet" title="'+this.options.bulletText+" "+(k+1)+'">'+'<span class="responsiville-slideshow-bullet-icon"></span>'+'<span class="responsiville-slideshow-bullet-text">'+this.options.bulletText+'</span>'+'<span class="responsiville-slideshow-bullet-number">'+(k+1)+'</span>'+'</button>'}
1225this.$container.append('<nav class="responsiville-slideshow-bullets '+this.options.bulletsPos+'">'+bulletsHTML+'</nav>');this.$navigation=this.$container.find(this.options.navigation);this.$bullets=this.$container.find(this.options.bullet);this.$next=this.$container.find(this.options.next);this.$previous=this.$container.find(this.options.previous);this.$container.addClass('responsiville-slideshow');this.setupEvents();this.log('slideshow initialised');this.fireEvent('init')};Responsiville.extend(Responsiville.Slideshow,Responsiville.Debug.Extensions);Responsiville.extend(Responsiville.Slideshow,Responsiville.Events);Responsiville.Slideshow.AUTO_RUN=typeof RESPONSIVILLE_AUTO_INIT!=='undefined'?RESPONSIVILLE_AUTO_INIT:!0;Responsiville.Slideshow.defaults={debug:!1,slug:'',enter:'laptop, desktop, large, xlarge',leave:'tablet, mobile, small',container:'.responsiville-slideshow',slides:'.responsiville-slideshow-slide',navigation:'.responsiville-slideshow-navigation',bullets:'.responsiville-slideshow-bullets',bullet:'.responsiville-slideshow-bullet',next:'.responsiville-slideshow-next',previous:'.responsiville-slideshow-previous',loading:'responsiville-slideshow-loading',loaded:'responsiville-slideshow-loaded',selecting:'responsiville-slideshow-slide-selecting',selected:'responsiville-slideshow-slide-selected',bulletsPos:'bc',bulletOn:'responsiville-slideshow-bullet-selected',nextText:'Next',previousText:'Previous',bulletText:'Slide',resizeMode:'slide',first:0,direction:+1,start:!0,effect:'fade',speed:5000,transition:500,hover:!0,wait:!0};Responsiville.Slideshow.autoRun=function(){jQuery(Responsiville.Slideshow.defaults.container).each(function(){new Responsiville.Slideshow({debug:Responsiville.Main.getInstance().options.debug,container:this})})};Responsiville.Slideshow.prototype.setupEvents=function(){var k;var breakpointsEnter;if(this.options.wait){breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enableOnFirstSlideLoad))}}else{breakpointsEnter=Responsiville.splitAndTrim(this.options.enter);for(k=0,length=breakpointsEnter.length;k<length;k++){this.responsiville.on('enter.'+breakpointsEnter[k],this.getBoundFunction(this.enable))}}
1226var breakpointsLeave=Responsiville.splitAndTrim(this.options.leave);for(k=0,length=breakpointsLeave.length;k<length;k++){this.responsiville.on('enter.'+breakpointsLeave[k],this.getBoundFunction(this.disable))}
1227this.$container.on('mouseenter',this.getBoundFunction(this.containerMouseEnter));this.$container.on('mouseleave',this.getBoundFunction(this.containerMouseLeave));this.$bullets.on('click',this.getBoundFunction(this.bulletMouseClick));this.$next.on('click',this.getBoundFunction(this.nextMouseClick));this.$previous.on('click',this.getBoundFunction(this.previousMouseClick));this.$container.hammer().bind('swiperight',this.getBoundFunction(this.previousMouseClick));this.$container.hammer().bind('swipeleft',this.getBoundFunction(this.nextMouseClick));this.responsiville.on('resize',this.getBoundFunction(this.adjustContainer));this.$container.find('img').on('load',this.getBoundFunction(this.imageLoaded))};
1227Responsiville.Slideshow.prototype.enableOnFirstSlideLoad=function(){var imageOnFirstSlide=this.$slides.eq(this.options.first).find('img');if(imageOnFirstSlide.length>0){var imgElement=imageOnFirstSlide.get(0);var imageOnFirstSlideLoaded=Responsiville.hasImageLoaded(imgElement);if(!imageOnFirstSlideLoaded){Responsiville.onImagesLoaded(imgElement,{single:this.getBoundFunction(this.enable)});return}}
1228this.enable()};Responsiville.Slideshow.prototype.enable=function(){if(this.enabled){return}
1229this.log('enabling the slideshow');this.enabled=!0;this.$container.addClass('responsiville-slideshow-enabled');this.$container.addClass(this.options.loading);this.$slides.addClass('responsiville-slideshow-slide');this.$navigation.addClass(this.options.bulletsPos);this.$bullets.addClass('responsiville-slideshow-navigation-bullet');this.$next.addClass('responsiville-slideshow-next');this.$previous.addClass('responsiville-slideshow-previous');var k;var length;for(k=0,length=this.$slides.length;k<length;k++){this.$slides.eq(k).data('responsiville-slideshow-slide-number',k)}
1230for(k=0,length=this.$bullets.length;k<length;k++){this.$bullets.eq(k).data('responsiville-slideshow-bullet-number',k)}
1231this.hideAll(!0);if(this.options.start){this.start()}else{var index=this.calculateNext();this.select(index)}
1232this.fireEvent('enabled')};Responsiville.Slideshow.prototype.disable=function(){if(!this.enabled){return}
1233this.log('disabling the slideshow');this.enabled=!1;this.pause();this.$container.removeClass('responsiville-slideshow-enabled').css('height','auto');this.$slides.removeClass('responsiville-slideshow-slide');if(this.options.effect=='none'){this.$slides.removeClass('responsiville-slideshow-slide-hidden')}else if(this.options.effect=='fade'){this.$slides.css('opacity',1)}else if(this.options.effect=='slide'){}
1234this.$navigation.removeClass(this.options.bulletsPos);this.$bullets.removeClass('responsiville-slideshow-navigation');this.$next.removeClass('responsiville-slideshow-next');this.$previous.removeClass('responsiville-slideshow-previous');this.fireEvent('disabled')};Responsiville.Slideshow.prototype.start=function(){this.fireEvent('starting');if(this.paused===null){this.paused=!this.options.start}else{this.paused=!1}
1235var index=this.calculateNext();this.log('start from '+index);this.adjustContainer();this.select(index);this.fireEvent('started')};Responsiville.Slideshow.prototype.pause=function(){this.log('pause at '+this.index);this.paused=!0;window.clearTimeout(this.timeoutHandler);this.$container.velocity('finish',!0);this.$slides.velocity('finish',!0);this.fireEvent('paused')};Responsiville.Slideshow.prototype.adjustContainer=function(){if(!this.enabled){return}
1236this.$container.velocity('finish',!0);if(this.options.resizeMode=='none'){}else if(this.options.resizeMode=='slide'){this.$container.velocity({properties:{height:this.$slides.eq(this.index).outerHeight()},options:{duration:this.options.transition/2,complete:(function(){if(!this.enabled){this.$container.css('height','auto')}
1237this.fireEvent('containerAdjusted')}).bind(this)}})}else if(this.options.resizeMode=='maxSlide'){var maxHeight=0;for(var k=0,length=this.$slides.length;k<length;k++){var slideHeight=this.$slides.eq(k).outerHeight();maxHeight=slideHeight>maxHeight?slideHeight:maxHeight}
1238this.$container.velocity({properties:{height:maxHeight},options:{duration:this.options.transition/2}});this.fireEvent('containerAdjusted')}};Responsiville.Slideshow.prototype.imageLoaded=function(){this.adjustContainer()};Responsiville.Slideshow.prototype.show=function(index,previous){this.fireEvent('slideShowing');window.clearTimeout(this.timeoutHandler);if(index!=previous&&!this.firstRun){this.hide(previous,index)}
1239this.$bullets.eq(previous).removeClass(this.options.bulletOn);this.$bullets.eq(index).addClass(this.options.bulletOn);this.$slides.removeClass(this.options.selecting);this.$slides.eq(index).addClass(this.options.selecting);this.log('show slide '+index);if(this.options.effect=='none'){this.adjustContainer();this.$slides.eq(index).removeClass('responsiville-slideshow-slide-hidden');this.afterSlideShown(index);if(this.options.start&&!this.paused){this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.selectNext),this.options.speed)}
1240this.fireEvent('slideShown')}else if(this.options.effect=='fade'){this.adjustContainer();this.$slides.eq(index).velocity({properties:{opacity:1,zIndex:1},options:{duration:this.firstRun?0:this.options.transition,easing:'easeInOutSine',complete:(function(){this.afterSlideShown(index);if(this.options.start&&!this.paused){this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.selectNext),this.options.speed)}
1241this.fireEvent('slideShown')}).bind(this)}})}else if(this.options.effect=='slide'){this.adjustContainer();var slide_direction=+1;if(index==0){slide_direction=previous==this.$slides.length-1?+1:-1}else{slide_direction=index-previous}
1242if(index>=previous&&!(index==this.$slides.length-1&&previous==0)||(index==0&&previous==this.$slides.length-1)){slide_direction=+1}else{slide_direction=-1}
1243this.$slides.eq(index).css(slide_direction>0?{left:'100%',right:'auto'}:{right:'100%',left:'auto'}).velocity('finish',!0).velocity({properties:slide_direction>0?{left:'0'}:{right:'0'},options:{duration:this.firstRun?0:this.options.transition,easing:'easeInOutSine',complete:(function(){this.afterSlideShown(index);if(this.options.start&&!this.paused){this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.selectNext),this.options.speed)}
1244this.fireEvent('slideShown')}).bind(this)}})}};Responsiville.Slideshow.prototype.afterSlideShown=function(index){this.firstRun=!1;this.$container.removeClass(this.options.loading);this.$container.addClass(this.options.loaded);this.$slides.removeClass(this.options.selected);this.$slides.removeClass(this.options.selecting);this.$slides.eq(this.index).addClass(this.options.selected)};Responsiville.Slideshow.prototype.hide=function(index,next,immediately){this.log('hide slide '+index);this.fireEvent('slideHiding');if(this.options.effect=='none'){this.$slides.eq(index).addClass('responsiville-slideshow-slide-hidden');this.fireEvent('slideHidden')}else if(this.options.effect=='fade'){this.$slides.eq(index).velocity({properties:{opacity:0,zIndex:0},options:{duration:immediately?0:this.options.transition,easing:'easeInOutSine',complete:(function(){this.fireEvent('slideHidden')}).bind(this)}})}else if(this.options.effect=='slide'){var slide_direction=+1;if(next==0){slide_direction=index==this.$slides.length-1?+1:-1}else{slide_direction=next-index}
1245if(next>=index&&!(next==this.$slides.length-1&&index==0)||(next==0&&index==this.$slides.length-1)){slide_direction=+1}else{slide_direction=-1}
1246this.$slides.eq(index).css(slide_direction>0?{left:'0',right:'auto'}:{right:'0',left:'auto'}).velocity('finish',!0).velocity({properties:slide_direction>0?{left:'-100%'}:{right:'-100%'},options:{duration:immediately?0:this.options.transition,easing:'easeInOutSine',complete:(function(){this.fireEvent('slideHidden')}).bind(this)}})}};Responsiville.Slideshow.prototype.hideAll=function(immediately){this.log('hide all slides');for(var k=0,length=this.$slides.length;k<length;k++){this.hide(k,-1,immediately)}};Responsiville.Slideshow.prototype.select=function(index){var previous=this.index;this.index=index;this.log('selected slide '+this.index);this.show(index,previous)};Responsiville.Slideshow.prototype.selectNext=function(){var index=this.calculateNext();this.select(index)};Responsiville.Slideshow.prototype.calculateNext=function(){if(this.index===null){this.index=this.options.direction?this.options.first-1:this.options.first+1}
1247var index=this.index;if(this.options.direction>0){index=index+1>=this.$slides.length?0:index+1}else{index=index-1<0?this.$slides.length-1:index-1}
1248this.log('next calculated index is '+index);return index};Responsiville.Slideshow.prototype.next=function(){this.log('go to slide on the right');var direction=this.options.direction;this.options.direction=+1;var index=this.calculateNext();this.options.direction=direction;this.select(index)};Responsiville.Slideshow.prototype.previous=function(){this.log('go to slide on the left');var direction=this.options.direction;this.options.direction=-1;var index=this.calculateNext();this.options.direction=direction;this.select(index)};Responsiville.Slideshow.prototype.bulletMouseClick=function(event){if(!this.enabled){return}
1249var $bullet=jQuery(event.target);if(!$bullet.is('.responsiville-slideshow-bullet')){$bullet=$bullet.closest('.responsiville-slideshow-bullet')}
1250var index=$bullet.data('responsiville-slideshow-bullet-number');this.log('bullet mouse click '+index);this.select(index);return!1};Responsiville.Slideshow.prototype.nextMouseClick=function(){if(!this.enabled){return}
1251this.log('next mouse click');this.next();return!1};Responsiville.Slideshow.prototype.previousMouseClick=function(){if(!this.enabled){return}
1252this.log('previous mouse click');this.previous();return!1};Responsiville.Slideshow.prototype.containerMouseEnter=function(){if(this.firstRun){return}
1253if(!this.enabled){return}
1254this.log('container mouse enter');if(this.options.hover&&this.options.start&&!this.options.paused){this.pause()}};Responsiville.Slideshow.prototype.containerMouseLeave=function(){if(!this.enabled){return}
1255this.log('container mouse leave');if(this.options.hover&&this.options.start&&!this.options.paused){this.timeoutHandler=window.setTimeout(this.getBoundFunction(this.start),this.options.speed)}}
1256;/**
1257 * @author  Nevma, [email protected]
1258 * @license http://www.gnu.org/licenses/gpl-3.0.en.html GPLv3
1259 */
1260if(Responsiville.Responsiveelement.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Responsiveelement.autoRun()})}
1261if(Responsiville.Scrollmenu.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Scrollmenu.autoRun()})}
1262if(Responsiville.Stickymenu.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Stickymenu.autoRun()})}
1263if(Responsiville.Mobimenu.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Mobimenu.autoRun()})}
1264if(Responsiville.Megamenu.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Megamenu.autoRun()})}
1265if(Responsiville.Drawers.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Drawers.autoRun()})}
1266if(Responsiville.Slideshow.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Slideshow.autoRun()})}
1267if(Responsiville.Accordion.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Accordion.autoRun()})}
1268if(Responsiville.Parallax.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Parallax.autoRun()})}
1269if(Responsiville.Equalheights.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Equalheights.autoRun()})}
1270if(Responsiville.Popup.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Popup.autoRun()})}
1271if(Responsiville.Lazymg.AUTO_RUN){Responsiville.Main.getInstance().on('init',function(){Responsiville.Lazymg.autoRun()})}
1272;jQuery(function($){$('.text .iframe-responsive').each(function(){$(this).parent().addClass('video-wrapper ratio-16x9')});$('iframe[src*="youtube.com"], iframe[src*="google.com/maps"]').each(function(){$(this).parent().addClass('video-wrapper ratio-16x9')});$('iframe[src*="vimeo.com"]').each(function(){$(this).wrap('<p/>').parent().addClass('video-wrapper ratio-16x9')});$('iframe[src*="speakerdeck.com"]').each(function(){$(this).parent().addClass('video-wrapper ratio-4x3')})})
1273;jQuery(function($){$(document).on('gform_post_render',function(event,form_id){var $form=$('#gform_wrapper_'+form_id);if($form.is('.gform_validation_error')){var offset=-$(window).height()/5;$form.velocity('scroll',{duration:300,offset:offset})}});$(document).on('gform_confirmation_loaded',function(event,form_id){var offset=-$(window).height()/5;$('#gform_confirmation_wrapper_'+form_id).velocity('scroll',{duration:300,offset:offset})})})
1274;jQuery(function($){$('.uppercase').greekUppercase()})
1275;jQuery(function($){var anchorPopupParameters={popupParameters:{startZIndex:999}};$('.wp-caption a').anchorPopup(anchorPopupParameters);$('.gallery').each(function(){$(this).find('.gallery-icon a').anchorPopup(anchorPopupParameters)});$('[class*=size]').each(function(){var $parent=$(this).parent();if($parent.is('a')){$parent.addClass('thumbnail-wrapper')}
1276if($parent.is('a')&&!$parent.parent().is('.wp-caption')&&!$parent.parent().is('.gallery-icon')){$parent.anchorPopup(anchorPopupParameters)}})})
1277;jQuery(function($){var responsiville=Responsiville.Main.getInstance();$('.responsive-table').each(function(){var table=this;responsiville.on('change',function(){maybe_make_table_responsive(table)});maybe_make_table_responsive(this)});function maybe_make_table_responsive(table){var $table=$(table);var $trs=$table.find('tr');var $ths=$table.find('th');if($ths.length==0){$ths=$table.find('thead tr:first td');$trs=$table.find('tbody tr')}
1278if($ths.length==0){return}
1279if(responsiville.isBiggerThan('tablet')){$table.css('display','table');if($table.data('surrogate')){$table.data('surrogate').remove()}}else{$table.css('display','none');var tableHTML='<table>';for(var k=0,length1=$trs.length;k<length1;k++){var $tr=$trs.eq(k);if($tr.find('th').length>0){continue}
1280var $tds=$tr.find('td');for(var m=0,length2=$tds.length;m<length2;m++){var $td=$tds.eq(m);if(m==0){tableHTML+='<thead>'}else if(m==1){tableHTML+='<tbody>'}
1281tableHTML+='<tr>';tableHTML+='<th style="width: 20%;">'+$ths.eq(m).html()+'</th>';tableHTML+='<td>'+$td.html()+'</td>';tableHTML+='</tr>';if(m==0){tableHTML+='</thead>'}else if(m==length2-1){tableHTML+='</tbody>'}}}
1282tableHTML+='</table>';var $surrogate=$(tableHTML).insertBefore($table);$table.data('surrogate',$surrogate)}}})
1283;jQuery(function($){var $openSearchButton=$('.open-search-button');$openSearchButton.on('click',function(){var popup=new Responsiville.Popup({contents:'<p>Please wait...</p>'});popup.openPopup();$.get(VANILLA.AJAX_URL,{action:'nvm_search_get_search_form'},function(data){popup.setContents(data)});return!1})})
1284;jQuery(document).ready(function($){$('.show-thematikes-filters').click(function(){$('.thematikes-filters').slideToggle('fast','linear');$('.thematikes-filters-button').addClass('close')});$('.hide-thematikes-filters').click(function(){$('.thematikes-filters').slideToggle('fast','linear');$('.thematikes-filters-button').removeClass('close')})})
1285;"use strict";function cmplz_create_element(e,t){e=document.createElement(e);return e.innerHtml=t,e}function cmplz_add_event(e,t,c){document.addEventListener(e,e=>{e.target.closest(t)&&c(e)})}function cmplz_is_hidden(e){return null===e.offsetParent}function cmplz_html_decode(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}function cmplzLoadConsentAreaContent(e,i){document.querySelectorAll(".cmplz-consent-area.cmplz-placeholder").forEach(t=>{let c=t.getAttribute("data-category"),n=t.getAttribute("data-service");var o=t.getAttribute("data-post_id"),a=t.getAttribute("data-block_id");if(e===c||i===n){let e=new XMLHttpRequest;e.open("GET",complianz.url+"consent-area/"+o+"/"+a,!0),e.setRequestHeader("Content-type","application/json"),e.send(),t.classList.remove("cmplz-placeholder"),e.onload=function(){t.innerHTML=JSON.parse(e.response),t.querySelectorAll("script").forEach(e=>{cmplz_run_script(e.innerHTML,c,n,"inline",e)})}}})}document.querySelectorAll(".cmplz-consent-area.cmplz-placeholder").forEach(e=>{e.addEventListener("click",e=>{let t=e.target;(t=t.classList.contains("cmplz-consent-area")?t:e.target.closest(".cmplz-consent-area.cmplz-placeholder"))&&(cmplz_set_service_consent(e=t.getAttribute("data-service"),!0),cmplzLoadConsentAreaContent(!1,e),cmplz_enable_category(null,e),cmplz_set_banner_status("dismissed"))}),document.addEventListener("cmplz_enable_category",function(e){cmplzLoadConsentAreaContent(e.detail.category,e.detail.service)})}),document.addEventListener("cmplz_manage_consent_container_loaded",function(e){var t,c=window.location.href;-1!=c.indexOf("#")&&(t=-1!=c.lastIndexOf("?")?c.lastIndexOf("?"):void 0,c=c.substring(c.indexOf("#")+1,t),t=document.getElementById(c))&&(c=t.getBoundingClientRect().top+window.pageYOffset-200,window.scrollTo({top:c,behavior:"smooth"}))}),complianz.locale=complianz.locale+"&token="+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("CustomEvent");return c.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),c}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}();
1285var cmplz_banner,cmplz_manage_consent_button,cmplzResizeTimer,cmplz_banner_container=document.getElementById("cmplz-cookiebanner-container"),cmplz_waiting_inline_scripts=[],cmplz_waiting_scripts=[],cmplz_fired_scripts=[],cmplz_placeholder_class_index=0,cmplz_all_scripts_hook_fired=!1,cmplz_consent_stored_once=!1,cmplz_fired_category_events=["functional"],cmplz_fired_service_events=[],cmplz_categories=["functional","preferences","statistics","marketing"];window.cmplz_get_cookie=function(t){if("undefined"!=typeof document){t=complianz.prefix+t;var c=document.cookie.split(";");for(let e=0;e<c.length;e++){var n=c[e].trim();if(n.startsWith(t+"="))return n.substring(t.length+1)}}return""},window.cmplz_set_cookie=function(e,t,c){var n,o,a,i;"undefined"!=typeof document&&(c=void 0===c||c,n="https:"===window.location.protocol?";secure":"",(o=new Date).setTime(o.getTime()+24*complianz.cookie_expiry*60*60*1e3),o=";expires="+o.toGMTString(),a=0<(a=cmplz_get_cookie_domain()).length?";domain="+a:"",c=c?complianz.prefix:"",i=cmplz_get_cookie_path(),document.cookie=""+c+e+`=${t};SameSite=Lax${n}${o}${a};path=`+i)},window.cmplz_in_array=function(e,t){return t.includes(e)},window.cmplz_highest_accepted_category=function(){var t=cmplz_accepted_categories(),c=["marketing","statistics","preferences"];for(let e=0;e<c.length;e++)if(cmplz_in_array(c[e],t))return c[e];return"functional"};const cmplz_set_category_as_body_class=()=>{const c=document.body.classList;for(let e=c.length-1;0<=e;e--)c[e].startsWith("cmplz-")&&"cmplz-document"!==c[e]&&c.remove(c[e]);var e=cmplz_accepted_categories(),e=(Object.values(e).forEach(e=>{"string"==typeof e&&c.add("cmplz-"+e)}),cmplz_get_all_service_consents()),e=(Object.entries(e).forEach(([e,t])=>{t&&c.add("cmplz-"+e)}),c.add("cmplz-"+complianz.region,"cmplz-"+complianz.consenttype),new CustomEvent("cmplz_set_category_as_bodyclass"));document.dispatchEvent(e)},cmplz_append_css=e=>{var t=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.setAttribute("type","text/css"),c.appendChild(document.createTextNode(e)),t.appendChild(c)},cmplz_load_css=e=>{var t=document.head||document.getElementsByTagName("head")[0],c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.href=e,t.appendChild(c)};function cmplz_run_script(t,c,n,e,o){var a=document.createElement("script");if("inline"!==e?a.src=t:("string"!=typeof t&&(t=t.innerHTML),a.innerHTML=[t,"cmplzScriptLoaded();"].join("\n")),!cmplz_in_array(t,cmplz_fired_scripts)){cmplzCopyAttributes(o,a);try{"inline"!==e?a.onload=function(){cmplz_run_after_all_scripts(c,n),cmplz_maybe_run_waiting_scripts(t,c,n,o)}:window.cmplzScriptLoaded=function(){cmplz_run_after_all_scripts(c,n),cmplz_maybe_run_waiting_scripts(t,c,n,o)},document.head.appendChild(a)}catch(e){throw cmplz_run_after_all_scripts(c,n),"Something went wrong "+e+" while loading "+t}}}function cmplz_maybe_run_waiting_scripts(e,t,c,n){var o=cmplz_get_waiting_script(cmplz_waiting_scripts,e),o=(o&&cmplz_run_script(o,t,c,"src",n),cmplz_get_waiting_script(cmplz_waiting_inline_scripts,e));o&&cmplz_run_script(o,t,c,"inline",n)}const cmplzLazyLoader=()=>{var e=document.querySelectorAll(".cmplz-blocked-content-container");const t=new IntersectionObserver((e,n)=>{e.forEach(e=>{var t,c;e.isIntersecting&&((t=(e=e.target).getAttribute("data-placeholder-image"))&&(c=e.getAttribute("data-placeholder_class_index"),cmplz_append_css(".cmplz-placeholder-"+c+" {background-image: url("+t+") !important;}"),cmplz_set_blocked_content_container_aspect_ratio(e,t,c)),n.unobserve(e))})});e.forEach(e=>{t.observe(e)})};function cmplz_set_blocked_content_container(){document.querySelectorAll(".cmplz-image").forEach(e=>{var t,c,n,o;e.classList.contains("cmplz-processed")||(e.classList.add("cmplz-processed"),t=e.getAttribute("data-service"),c=e.getAttribute("data-category"),(n=e.parentElement).classList.add("cmplz-blocked-content-container"),o=n.getAttribute("data-placeholder_class_index"),"lazy"===e.getAttribute("loading")&&(e.removeAttribute("loading"),e.setAttribute("data-deferlazy",1)),null==o&&(cmplz_placeholder_class_index++,n.classList.add("cmplz-placeholder-"+cmplz_placeholder_class_index,"cmplz-blocked-content-container"),n.setAttribute("data-placeholder_class_index",cmplz_placeholder_class_index),cmplz_insert_placeholder_text(n,c,t)))}),document.querySelectorAll(".cmplz-placeholder-element").forEach(t=>{if(!t.classList.contains("cmplz-processed")){t.classList.add("cmplz-processed");var c=t.getAttribute("data-service"),n=t.getAttribute("data-category");let e;null===(e=t.classList.contains("cmplz-iframe")?("lazy"===t.getAttribute("loading")&&(t.removeAttribute("loading"),t.setAttribute("data-deferlazy",1)),t.parentElement):t).getAttribute("data-placeholder_class_index")&&(cmplz_placeholder_class_index++,e.classList.add("cmplz-placeholder-"+cmplz_placeholder_class_index,"cmplz-blocked-content-container"),e.setAttribute("data-placeholder_class_index",cmplz_placeholder_class_index),cmplz_insert_placeholder_text(e,n,c),n=t.getAttribute("data-placeholder-image"))&&void 0!==n&&n.length&&e.setAttribute("data-placeholder-image",n)}}),cmplzLazyLoader(),cmplz_has_consent("statistics")&&cmplz_enable_category("statistics"),cmplz_has_consent("marketing")&&cmplz_enable_category("marketing")}function cmplz_insert_placeholder_text(e,n,o){if(!e.querySelector(".cmplz-blocked-content-notice")){let t=complianz.placeholdertext;n=n||"marketing";let c;if(void 0!==t){if(1==complianz.clean_cookies){let e=o?o.replace("-"," "):"";e=e.charAt(0).toUpperCase()+e.slice(1),t=t.replace("{service}
1285",e),(c=cmplz_create_element("div",t)).innerHTML=t,c.classList.add("cmplz-blocked-content-notice");var a=c.querySelector("button"),a=(a.setAttribute("data-service",o),a.setAttribute("data-category",n),a.setAttribute("aria-label",complianz.aria_label.replace("{service}",e)),complianz.page_links[complianz.region]),i=c.querySelector(".cmplz-links a");a&&a.hasOwnProperty("cookie-statement")&&(i.setAttribute("href",a["cookie-statement"].url),"{title}"===i.innerText)&&(i.innerText=a["cookie-statement"].title)}else{i=cmplz_create_element("button",""),a=complianz.categories.hasOwnProperty(n)?complianz.categories[n]:"marketing";i.innerText=t.replace("{category}",a),i.classList.add("cmplz-blocked-content-notice","cmplz-accept-category","cmplz-accept-"+n),i.setAttribute("data-service",o),i.setAttribute("data-category",n),i.setAttribute("aria-label",complianz.aria_label.replace("{category}",n)),c=i}("VIDEO"!==e.tagName?e:e.parentElement).appendChild(c)}}}function cmplz_set_blocked_content_container_aspect_ratio(t,c,n){var e;null!=t&&((e=new Image).addEventListener("load",function(){var e=this.naturalWidth||1,e=this.naturalHeight*(t.clientWidth/e),e=-1===c.indexOf("placeholder.jpg")?"height:"+e+"px;":"";cmplz_append_css(".cmplz-placeholder-"+n+" {"+e+"}")}),e.src=c)}function cmplz_has_blocked_scripts(){return 0<document.querySelectorAll("script[data-category], script[data-service]").length}function cmplz_enable_category(o,a){1==complianz.tm_categories&&""!==o&&cmplz_run_tm_event(o);var t={},t=(t.category=o,t.categories=cmplz_accepted_categories(),t.region=complianz.region,new CustomEvent("cmplz_before_category",{detail:t}));if(document.dispatchEvent(t),a=void 0!==a?a:"do_not_match","functional"!==(o=""===o?"do_not_match":o)){"marketing"===o&&cmplz_set_integrations_cookies();let e;e="do_not_match"!==a?'.cmplz-blocked-content-notice [data-service="'+a+'"]':1!=complianz.clean_cookies?".cmplz-blocked-content-notice.cmplz-accept-"+o:'.cmplz-blocked-content-notice [data-category="'+o+'"]',document.querySelectorAll(e).forEach(e=>{var t=e.getAttribute("data-service");e.parentNode.classList.contains("cmplz-blocked-content-notice")&&(e=e.parentNode),cmplz_is_service_denied(t)||e.parentNode.removeChild(e)}),document.querySelectorAll('[data-category="'+o+'"], [data-service="'+a+'"]').forEach(t=>{var e=t.getAttribute("data-service");if(!cmplz_is_service_denied(e)&&"functional"!==t.getAttribute("data-category")&&!t.classList.contains("cmplz-activated")){var e=t.tagName;if("LINK"===e){t.classList.add("cmplz-activated");var c=t.getAttribute("data-href");cmplz_load_css(c,o)}else if("IMG"===e){t.classList.add("cmplz-activated");c=t.getAttribute("data-src-cmplz");t.setAttribute("src",c),t.getAttribute("data-deferlazy")&&t.setAttribute("loading","lazy"),cmplz_remove_placeholder(t)}else if("IFRAME"===e){t.classList.add("cmplz-activated");let e=t.getAttribute("data-src-cmplz");c=t.getAttribute("data-cmplz-target")?t.getAttribute("data-cmplz-target"):"src";"1"===cmplz_get_url_parameter(t.getAttribute(c),"autoplay")&&(e+="&autoplay=1"),t.getAttribute("data-deferlazy")&&t.setAttribute("loading","lazy"),t.addEventListener("load",()=>{cmplz_remove_placeholder(t)}),t.setAttribute(c,e)}else t.classList.contains("cmplz-placeholder-element")&&(t.classList.add("cmplz-activated"),e=t.getAttribute("data-placeholder_class_index"),t.classList.remove("cmplz-blocked-content-container","cmplz-placeholder-"+e))}});t=document.querySelectorAll('script[data-category="'+o+'"], script[data-service="'+a+'"]');t.forEach(e=>{var t=e.getAttribute("data-waitfor"),c=e.getAttribute("data-cmplz-src");t&&(c?cmplz_waiting_scripts[t]=c:0<e.innerText.length&&(cmplz_waiting_inline_scripts[t]=e)),e.parentElement&&e.parentElement.removeChild(e)}),t.forEach(e=>{var t,c,n=e.getAttribute("type");!e.classList.contains("cmplz-activated")&&n&&"text/javascript"!==n&&(e.classList.add("cmplz-activated"),(n=e.getAttribute("data-cmplz-src"))?(e.removeAttribute("type"),cmplz_is_waiting_script(cmplz_waiting_scripts,n)||(e.getAttribute("data-post_scribe_id")?(t="#"+e.getAttribute("data-post_scribe_id"),(c=document.querySelector(t))&&(c.innerHtml(""),postscribe(t,"<script src="+n+"><\/script>"))):cmplz_run_script(n,o,a,"src",e))):0<e.innerText.length&&(cmplz_is_
1285waiting_script(cmplz_waiting_inline_scripts,e.innerText)||cmplz_run_script(e.innerText,o,a,"inline",e)))}),cmplz_run_after_all_scripts(o,a)}}function cmplz_remove_placeholder(e){var t,c=e.closest(".cmplz-blocked-content-container");c&&(t=c.getAttribute("data-placeholder_class_index"),c.classList.remove("cmplz-blocked-content-container","cmplz-placeholder-"+t)),e.classList.remove("cmplz-iframe-styles","cmplz-iframe","video-wrap")}function cmplz_get_waiting_script(e,t){for(var c in e){var n;if(e.hasOwnProperty(c))if(-1!==t.indexOf(c))return n=e[c],delete e[c],n}return!1}function cmplz_array_is_empty(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function cmplz_is_waiting_script(t,c){for(var n in t)if(t.hasOwnProperty(n)){let e=t[n];if("string"!=typeof e&&(e=e.innerText),-1!==c.indexOf(e)||-1!==e.indexOf(c))return!0}return!1}function cmplz_run_after_all_scripts(e,t){var c="do_not_match"!==t&&!cmplz_in_array(t,cmplz_fired_service_events),n="do_not_match"!==e&&!cmplz_in_array(e,cmplz_fired_category_events);(n||c)&&(n&&cmplz_fired_category_events.push(e),c&&cmplz_fired_service_events.push(t),(n={}).category=e,n.service=t,n.categories=cmplz_accepted_categories(),n.services=cmplz_get_all_service_consents(),n.region=complianz.region,c=new CustomEvent("cmplz_enable_category",{detail:n}),document.dispatchEvent(c)),!cmplz_all_scripts_hook_fired&&cmplz_array_is_empty(cmplz_waiting_inline_scripts)&&cmplz_array_is_empty(cmplz_waiting_scripts)&&(n=new CustomEvent("cmplz_run_after_all_scripts",{detail:e,service:t}),document.dispatchEvent(n),cmplz_all_scripts_hook_fired=!0)}window.addEventListener("resize",function(e){clearTimeout(cmplzResizeTimer),cmplzResizeTimer=setTimeout(cmplz_set_blocked_content_container,500)},!0),1==complianz.block_ajax_content&&setInterval(function(){cmplz_set_blocked_content_container()},2e3);var cmplz_fired_events=[];function cmplz_run_tm_event(e){-1===cmplz_fired_events.indexOf(e)&&(cmplz_fired_events.push(e),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"cmplz_event_"+e}),e=new CustomEvent("cmplz_tag_manager_event",{detail:e}),document.dispatchEvent(e))}function cmplz_fire_before_categories_consent(e){var t={},e=(t.categories=e,t.region=complianz.region,new CustomEvent("cmplz_before_categories_consent",{detail:t}));document.dispatchEvent(e)}function cmplz_check_cookie_policy_id(){var e=cmplz_get_cookie("policy_id");e&&parseInt(complianz.current_policy_id)!==parseInt(e)&&(cmplz_deny_all(),cmplz_set_banner_status("show"),cmplz_clear_cookies("cmplz"))}function cmplz_do_not_track(){var e="doNotTrack"in navigator&&"1"===navigator.doNotTrack,t="globalPrivacyControl"in navigator&&navigator.globalPrivacyControl;return!(!complianz.do_not_track_enabled||!t&&!e)}function cmplz_get_services_on_page(){let c=[];return document.querySelectorAll("[data-service]").forEach(e=>{var t=e.getAttribute("data-service"),e=e.getAttribute("data-category");-1==c.indexOf(t)&&c.push({category:e,service:t})}),c}function cmplz_is_bot(){var e=new RegExp("(googlebot/|Googlebot-Mobile|Google-InspectionTool|Googlebot-Image|Google favicon|Mediapartners-Google|bingbot|slurp|java|wget|curl|Commons-HttpClient|Python-urllib|libwww|httpunit|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|bibnum.bnf|findlink|msrbot|panscient|yacybot|AISearchBot|IOI|ips-agent|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|ahrefsbot|Aboundex|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis)","i"),t=navigator.userAgent;return e.test(t)}function cmplz_is_speedbot(){var e=navigator.userAgent;return new RegExp("(GTmetrix|pingdom|pingbot|Lighthouse)","i").test(e)}function cmplz_exists_service_consent(){var e,t=cmplz_get_cookie("consented_services");try{for(const c in e=JSON.parse(t))if(e.hasOwnProperty(c)&&1==e[c])return!0}catch(e){}return!1}function cmplz_set_service_consent(e,t){var c=cmplz_get_cookie("consented_services");let n;try{n=JSON.parse(c)}catch(e){n={}}n[e]=t,cmplz_set_cookie("consented_services",JSON.stringify(n));c={}
1285,c.service=e,c.value=t,c.region=complianz.region,cmplz_all_scripts_hook_fired=!1,e=new CustomEvent("cmplz_status_change_service",{detail:c});document.dispatchEvent(e)}function cmplz_clear_all_service_consents(){cmplz_set_cookie("consented_services","")}function cmplz_get_all_service_consents(){var e=cmplz_get_cookie("consented_services");let t;try{t=JSON.parse(e)}catch(e){t={}}return t}function cmplz_get_cookie_path(){return void 0!==complianz.cookie_path&&""!==complianz.cookie_path?complianz.cookie_path:"/"}function cmplz_get_cookie_domain(){return 1==complianz.set_cookies_on_root&&3<complianz.cookie_domain.length&&!complianz.cookie_domain.includes("localhost")?complianz.cookie_domain:""}function cmplz_reload_browser_compatible(){var e;-1<navigator.userAgent.toLowerCase().indexOf("firefox")?((e=new URL(window.location.href)).searchParams.set("cmplz-force-reload",Date.now().toString()),window.location.href=e.toString()):window.location.reload()}window.cmplz_accept_all=function(){for(var e in cmplz_clear_all_service_consents(),cmplz_fire_before_categories_consent(cmplz_categories),cmplz_categories)cmplz_categories.hasOwnProperty(e)&&cmplz_set_consent(cmplz_categories[e],"allow");cmplz_sync_category_checkboxes()},window.cmplz_deny_all=function(){for(var e in cmplz_categories)cmplz_categories.hasOwnProperty(e)&&cmplz_set_consent(cmplz_categories[e],"deny");let t=!1;"functional"===cmplz_highest_accepted_category()&&!cmplz_exists_service_consent()||(t=!0),cmplz_clear_cookies("cmplz_service")&&(t=!0),cmplz_clear_all_service_consents(),cmplz_integrations_revoke(),cmplz_fire_categories_event(),cmplz_track_status();var c=new CustomEvent("cmplz_revoke",{detail:t});document.dispatchEvent(c),!complianz.tcf_active&&t&&cmplz_reload_browser_compatible()},window.conditionally_show_banner=function(){complianz=cmplz_merge_object(complianz,cmplz_user_data),cmplz_maybe_auto_redirect(),cmplz_set_blocked_content_container(),window.wp_consent_type=complianz.consenttype;var e,t,c,n=new CustomEvent("wp_consent_type_defined"),o=(document.dispatchEvent(n),n=new CustomEvent("cmplz_before_cookiebanner"),document.dispatchEvent(n),1==complianz.forceEnableStats&&"optin"===complianz.consenttype&&cmplz_set_consent("statistics","allow"),cmplz_categories.reverse()),a=[];for(e in o)o.hasOwnProperty(e)&&(t=cmplz_categories[e],cmplz_has_consent(t))&&a.push(t);for(c in cmplz_fire_before_categories_consent(a),a)o.hasOwnProperty(c)&&cmplz_enable_category(a[c]);if(cmplz_exists_service_consent()){cmplz_enable_category("","general");var i,l,r,s=cmplz_get_services_on_page();for(i in s)s.hasOwnProperty(i)&&(l=s[i].service,r=s[i].category,cmplz_has_service_consent(l,r))&&(document.querySelectorAll('.cmplz-accept-service[data-service="'+l+'"]').forEach(e=>{e.checked=!0}),cmplz_enable_category("",l))}cmplz_sync_category_checkboxes(),cmplz_integrations_init(),cmplz_check_cookie_policy_id(),cmplz_set_up_auto_dismiss(),cmplz_load_manage_consent_container(),n=new CustomEvent("cmplz_cookie_banner_data",{detail:complianz}),document.dispatchEvent(n),""===cmplz_get_cookie("saved_categories")&&("optin"!==complianz.consenttype&&"optout"!==complianz.consenttype?cmplz_track_status("no_warning"):cmplz_do_not_track()&&cmplz_track_status("do_not_track")),cmplz_set_category_as_body_class(),cmplz_fire_categories_event(),cmplz_do_not_track()?(console.log("global privacy control or do not track detected: no banner."),cmplz_track_status("do_not_track")):("optin"===complianz.consenttype?(complianz.forceEnableStats&&cmplz_enable_category("statistics"),console.log("opt-in"),show_cookie_banner):"optout"===complianz.consenttype?(console.log("opt-out"),show_cookie_banner):(console.log("other consent type, no cookie warning"),cmplz_accept_all))()},window.show_cookie_banner=function(){let e=complianz.disable_cookiebanner||cmplz_is_speedbot(),t=!1;(document.querySelector("#cmplz-manage-consent-container")||document.querySelector(".cmplz-dropdown-cookiepolicy"))&&(t=!0);var c=document.getElementById("cmplz-cookiebanner-container"),c=(c&&document.body.prepend(c),document.createElement("link"));let n=complianz.page_links[complianz.region];(cmplz_banner=document.querySelector(".cmplz-cookiebanner.banner-"+complianz.user_banner_id+"."+complianz.consenttype))||(e=!0),cmplz_manage_consent_button=document.querySelector("#cmplz-manage-consent .cmplz-manage-consent.manage-consent-"+complianz.user_banner_id);
1285var o=complianz.css_file.replace("{type}",complianz.consenttype).replace("{banner_id}",complianz.user_banner_id),o=(-1!==complianz.css_file.indexOf("cookiebanner/css/defaults/banner")&&console.log("Fallback default css file used. Please re-save banner settings, or check file writing permissions in uploads directory"),c.href=o,c.type="text/css",c.rel="stylesheet",c.onload=function(){e||(cmplz_banner.classList.remove("cmplz-hidden"),cmplz_manage_consent_button.classList.remove("cmplz-hidden"))},document.getElementsByTagName("head")[0].appendChild(c),cmplz_banner&&!e&&(cmplz_banner.querySelectorAll(".cmplz-links a:not(.cmplz-external), .cmplz-buttons a:not(.cmplz-external)").forEach(e=>{var t,c=e;for(t in c.classList.add("cmplz-hidden"),n)n.hasOwnProperty(t)&&c.classList.contains(t)&&(c.setAttribute("href",n[t].url+c.getAttribute("data-relative_url")),"{title}"===c.innerText&&(c.innerText=cmplz_html_decode(n[t].title)),c.classList.remove("cmplz-hidden"))}),cmplz_set_banner_status(),t)&&(cmplz_banner.classList.remove("cmplz-show"),cmplz_banner.classList.add("cmplz-dismissed"),cmplz_manage_consent_button.classList.remove("cmplz-dismissed"),cmplz_manage_consent_button.classList.add("cmplz-show")),new CustomEvent("cmplz_cookie_warning_loaded",{detail:complianz.region}));document.dispatchEvent(o)},window.cmplz_get_banner_status=function(){return cmplz_get_cookie("banner-status")},window.cmplz_set_banner_status=function(e){let t=cmplz_get_cookie("banner-status");(e=void 0!==e?e:t)!==t&&cmplz_set_cookie("banner-status",e),0===e.length&&(e="show"),t="show"===e?"dismissed":"show",cmplz_banner&&0<e.length&&(cmplz_banner.classList.remove("cmplz-"+t),cmplz_banner.classList.add("cmplz-"+e),cmplz_manage_consent_button)&&(cmplz_manage_consent_button.classList.add("cmplz-"+t),cmplz_manage_consent_button.classList.remove("cmplz-"+e)),cmplz_banner_container&&complianz.soft_cookiewall&&(cmplz_banner_container.classList.remove("cmplz-"+t),cmplz_banner_container.classList.add("cmplz-"+e,"cmplz-soft-cookiewall"));e=new CustomEvent("cmplz_banner_status",{detail:e});document.dispatchEvent(e),cmplz_start_clean()},window.cmplz_has_consent=function(e){if(cmplz_is_bot())return!0;if("functional"===e)return!0;let t,c;return t=cmplz_do_not_track()?(c=cmplz_get_cookie(e),"allow"===c):(c=cmplz_get_cookie(e),("optout"===complianz.consenttype||"other"===complianz.consenttype)&&""===c||"allow"===c)},window.cmplz_is_service_denied=function(e){var t=cmplz_get_cookie("consented_services");let c;try{c=JSON.parse(t)}catch(e){c={}}return!!c.hasOwnProperty(e)&&!c[e]},window.cmplz_has_service_consent=function(e,t){var c=cmplz_get_cookie("consented_services");let n;try{n=JSON.parse(c)}catch(e){n={}}return n.hasOwnProperty(e)?n[e]:cmplz_has_consent(t)},window.cmplz_set_consent=function(e,t){cmplz_set_accepted_cookie_policy_id(),t="functional"===e?"allow":t;var c,n=cmplz_get_cookie(e);let o="allow"===t;document.querySelectorAll("input.cmplz-"+e).forEach(e=>{e.checked=o}),n!==t&&(cmplz_set_cookie(e,t),"allow"===t&&cmplz_enable_category(e),cmplz_wp_set_consent(e,t),"statistics"===e&&cmplz_wp_set_consent("statistics-anonymous","allow"),(c=new Object).category=e,c.value=t,c.region=complianz.region,c.categories=cmplz_accepted_categories(),cmplz_all_scripts_hook_fired=!1,c=new CustomEvent("cmplz_status_change",{detail:c}),document.dispatchEvent(c),"marketing"===e)&&"deny"===t&&"allow"===n&&(cmplz_integrations_revoke(),setTimeout(function(){cmplz_reload_browser_compatible()},500))};var cmplz_id_cookie,cmplz_id_session,cmplz_id,cmplz_user_data=[];if("undefined"!=typeof Storage&&sessionStorage.cmplz_user_data&&(cmplz_user_data=JSON.parse(sessionStorage.cmplz_user_data)),1!=complianz.geoip||0!=cmplz_user_data.length&&cmplz_user_data.version===complianz.version&&cmplz_user_data.banner_version===complianz.banner_version)conditionally_show_banner();else{let e=new XMLHttpRequest,t=cmplz_get_url_parameter(window.location.href,"cmplz_user_region");t=t?"&cmplz_user_region="+t:"",e.open("GET",complianz.url+"banner?"+complianz.locale+t,!0),e.setRequestHeader("Content-type","application/json"),e.send(),e.onload=function(){cmplz_user_data=JSON.parse(e.response),sessionStorage.cmplz_user_data=JSON.stringify(cmplz_user_data),conditionally_show_banner()}}function cmplz_track_status_end(){cmplz_consent_stored_once||cmplz_track_status()}
1285function cmplz_set_up_auto_dismiss(){if("optout"===complianz.consenttype){if(1==complianz.dismiss_on_scroll){let t=function(e){window.pageYOffset>Math.floor(400)&&(cmplz_set_banner_status("dismissed"),cmplz_fire_categories_event(),cmplz_track_status(),window.removeEventListener("scroll",t),this.onWindowScroll=null)};window.addEventListener("scroll",t)}var e=parseInt(complianz.dismiss_timeout);0<e&&window.setTimeout(function(){cmplz_set_banner_status("dismissed"),cmplz_fire_categories_event(),cmplz_track_status()},Math.floor(e))}}function cmplz_fire_categories_event(){var e=new Object,e=(e.category=cmplz_highest_accepted_category(),e.categories=cmplz_accepted_categories(),e.region=complianz.region,new CustomEvent("cmplz_fire_categories",{detail:e}));document.dispatchEvent(e)}function cmplz_track_status(e){let t=[];e=void 0!==e&&e;var c=new CustomEvent("cmplz_track_status",{detail:e});document.dispatchEvent(c),t=e?[e]:cmplz_accepted_categories(),cmplz_set_category_as_body_class();let n,o;try{n=JSON.parse(cmplz_get_cookie("saved_categories"))}catch(e){n={}}try{o=JSON.parse(cmplz_get_cookie("saved_services"))}catch(e){o={}}var c=cmplz_get_all_service_consents();cmplz_equals(n,t)&&cmplz_equals(o,c)||1!=complianz.store_consent||cmplz_is_bot()||cmplz_is_speedbot()||(cmplz_set_cookie("saved_categories",JSON.stringify(t)),cmplz_set_cookie("saved_services",JSON.stringify(c)),cmplz_consent_stored_once=!0,(e=new XMLHttpRequest).open("POST",complianz.url+"track",!0),c={consented_categories:t,consented_services:c,consenttype:window.wp_consent_type},e.setRequestHeader("Content-type","application/json"),e.send(JSON.stringify(c)))}function cmplz_accepted_categories(){let e=cmplz_categories,n=[];for(var t in e)e.hasOwnProperty(t)&&(t=e[t],cmplz_has_consent(t))&&n.push(t);return e=e.filter(function(e,t,c){return cmplz_in_array(e,n)})}function cmplz_sync_category_checkboxes(){for(var e in cmplz_categories)cmplz_categories.hasOwnProperty(e)&&(e=cmplz_categories[e],cmplz_has_consent(e)||"functional"===e?document.querySelectorAll("input.cmplz-"+e).forEach(e=>{e.checked=!0}):document.querySelectorAll("input.cmplz-"+e).forEach(e=>{e.checked=!1})),document.querySelectorAll(".cmplz-accept-service").forEach(e=>{var t=e.getAttribute("data-service"),c=e.getAttribute("data-category");cmplz_has_service_consent(t,c)?e.checked=!0:cmplz_is_service_denied(t)?e.checked=!1:(c=e.getAttribute("data-category"),e.checked=!!cmplz_has_consent(c))})}function cmplz_merge_object(e,t){var c,n,o={};for(c in t)t.hasOwnProperty(c)&&(o[c]=t[c]);for(n in e)t.hasOwnProperty(n)&&void 0!==t[n]||e.hasOwnProperty(n)&&(o[n]=e[n]);return o}function cmplz_clear_cookies(t){if("undefined"==typeof document)return!1;let a=!1,i="https:"===window.location.protocol?";secure":"",l="expires="+(new Date).toGMTString(),r=location.pathname.replace(/^\/|\/$/g,"").split("/");return document.cookie.split("; ").forEach(function(e){let n=e.split(";")[0].split("=")[0];if(-1!==n.indexOf(t)){a=!0;let c=window.location.hostname.split(".");var o=1<c.length;for(r.forEach(function(e){e="/"+e;document.cookie=encodeURIComponent(n)+"=;SameSite=Lax"+i+";"+l+";domain=."+c.join(".")+";path="+e,document.cookie=encodeURIComponent(n)+"=;SameSite=Lax"+i+";"+l+";domain=."+c.join(".")+";path="+e+"/"});0<c.length;){let t="."+c.join(".");c.shift(),o&&1===c.length&&c.shift(),r.forEach(function(e){e="/"+e;document.cookie=encodeURIComponent(n)+"=;SameSite=Lax"+i+";"+l+";domain="+t+";path="+e,document.cookie=encodeURIComponent(n)+"=;SameSite=Lax"+i+";"+l+";domain="+t+";path="+e+"/"})}}}),cmplz_set_accepted_cookie_policy_id(),a}function cmplz_set_accepted_cookie_policy_id(){cmplz_set_cookie("policy_id",complianz.current_policy_id)}function cmplz_integrations_init(){var e,t=complianz.set_cookies;for(e in t)t.hasOwnProperty(e)&&"1"===t[e][1]&&cmplz_set_cookie(e,t[e][1],!1)}function cmplz_integrations_revoke(){var e,t=complianz.set_cookies;for(e in t)t.hasOwnProperty(e)&&(cmplz_set_cookie(e,t[e][1],!1),0==t[e][1])&&cmplz_clear_cookies(e)}function cmplz_set_integrations_cookies(){var e,t=complianz.set_cookies;for(e in t)t.hasOwnProperty(e)&&cmplz_set_cookie(e,t[e][0],!1)}function cmplz_get_url_parameter(e,t){if(e&&void 0!==e&&-1!==e.indexOf("?")){e=e.split("?")[1];if(e){var c=e.split("&");for(let e=0;e<c.length;e++){var n=c[e].split("=");if(n[0]===t)return void 0===n[1]||decodeURIComponent(n[1])}}}return!1}function cmplz_maybe_auto_redirect(){var e=cmplz_get_url_parameter(window.location.href,"cmplz_region_redirect"),t=cmplz_get_url_parameter(window.location.href,"cmplz-region");e&&!t&&(e=window.location.href.split("#")[0]+"&cmplz-region="+complianz.region,t=window.location.hash,window.location.href=e+t)}function cmplz_wp_set_consent(e,t){"function"==typeof wp_set_consent&&wp_set_consent(e,t)}1==complianz.store_consent&&(cmplz_id_cookie=cmplz_get_cookie("id"),cmplz_id=cmplz_id_session="","undefined"!=typeof Storage&&sessionStorage.cmplz_id&&(cmplz_id_session=JSON.parse(sessionStorage.cmplz_id)),0==cmplz_id_cookie.length&&0<cmplz_id_session.length&&(cmplz_id=cmplz_id_session,cmplz_set_cookie("id",cmplz_id)),0<cmplz_id_cookie.length&&0==cmplz_id_session.length&&(cmplz_id=cmplz_id_cookie),"undefined"!=typeof Storage)&&(sessionStorage.cmplz_id=JSON.stringify(cmplz_id)),document.addEventListener("visibilitychange",function(){"hidden"===document.visibilityState&&cmplz_track_status_end()}),window.addEventListener("pagehide",cmplz_track_status_end,!1),window.addEventListener("beforeunload",cmplz_track_status_end,!1),document.addEventListener("cmplz_consent_action",function(e){cmplz_set_consent(e.detail.category,"allow"),cmplz_fire_categories_event(),cmplz_track_status()}),cmplz_add_event("click",".cmplz-accept",function(e){e.preventDefault(),setTimeout(()=>{cmplz_accept_all(),cmplz_set_banner_status("dismissed"),cmplz_fire_categories_event(),cmplz_track_status()},0)}),cmplz_add_event("click",".cmplz-accept-category, .cmplz-accept-marketing",function(e){e.preventDefault();var e=e.target,t=e.getAttribute("data-service"),e=e.getAttribute("data-category")||"marketing";
12851==complianz.clean_cookies&&void 0!==t&&t?(cmplz_set_service_consent(t,!0),cmplz_enable_category("","general"),cmplz_enable_category("",t)):cmplz_set_consent(e,"allow"),cmplz_set_banner_status("dismissed"),cmplz_fire_categories_event(),cmplz_track_status()}),cmplz_add_event("click",".cmplz-accept-service",function(e){var e=e.target;"INPUT"!==e.tagName&&(void 0!==(e=e.getAttribute("data-service"))&&(cmplz_set_service_consent(e,!0),cmplz_enable_category("","general"),cmplz_enable_category("",e)),cmplz_fire_categories_event(),cmplz_track_status())}),cmplz_add_event("change",".cmplz-accept-service",function(e){var t=e.target,c=t.tagName,n=t.getAttribute("data-service");void 0!==n&&("INPUT"===c?(cmplz_set_banner_status("dismissed"),t.checked?(cmplz_set_service_consent(n,!0),cmplz_enable_category("",n)):(cmplz_set_service_consent(n,!1),setTimeout(function(){cmplz_reload_browser_compatible()},500))):(e.preventDefault(),cmplz_set_service_consent(n,!0),cmplz_enable_category("","general"),cmplz_enable_category("",n),setTimeout(function(){cmplz_reload_browser_compatible()},500))),cmplz_fire_categories_event(),cmplz_track_status()}),cmplz_add_event("click",".cmplz-save-preferences",function(e){var t,c,n,o,a,e=e.target,i=(cmplz_banner=e.closest(".cmplz-cookiebanner"),[]);for(t in cmplz_categories)cmplz_categories.hasOwnProperty(t)&&(c=cmplz_categories[t],n=cmplz_banner.querySelector("input.cmplz-"+c))&&n.checked&&i.push(c);for(o in cmplz_fire_before_categories_consent(i),cmplz_categories)cmplz_categories.hasOwnProperty(o)&&(a=cmplz_categories[o],i.includes(a)?cmplz_set_consent(a,"allow"):cmplz_set_consent(a,"deny"));cmplz_set_banner_status("dismissed"),cmplz_fire_categories_event(),cmplz_track_status()}),cmplz_add_event("click",".cmplz-close",function(e){cmplz_set_banner_status("dismissed")}),cmplz_add_event("click",".cmplz-view-preferences",function(e){e=e.target;(cmplz_banner=e.closest(".cmplz-cookiebanner")).querySelector(".cmplz-categories").classList.contains("cmplz-fade-in")?(cmplz_banner.classList.remove("cmplz-categories-visible"),cmplz_banner.querySelector(".cmplz-categories").classList.remove("cmplz-fade-in"),cmplz_banner.querySelector(".cmplz-view-preferences").style.display="block",cmplz_banner.querySelector(".cmplz-save-preferences").style.display="none"):(cmplz_banner.classList.add("cmplz-categories-visible"),cmplz_banner.querySelector(".cmplz-categories").classList.add("cmplz-fade-in"),cmplz_banner.querySelector(".cmplz-view-preferences").style.display="none",cmplz_banner.querySelector(".cmplz-save-preferences").style.display="block")}),cmplz_add_event("change",".cmplz-manage-consent-container .cmplz-category",function(e){for(var t in cmplz_categories){var c;cmplz_categories.hasOwnProperty(t)&&(t=cmplz_categories[t],c=document.querySelector(".cmplz-manage-consent-container input.cmplz-"+t))&&(c.checked?cmplz_set_consent(t,"allow"):cmplz_set_consent(t,"deny"),cmplz_set_banner_status("dismissed"),cmplz_fire_categories_event(),cmplz_track_status())}}),cmplz_add_event("click",".cmplz-deny",function(e){e.preventDefault(),cmplz_set_banner_status("dismissed"),cmplz_deny_all()}),cmplz_add_event("click","button.cmplz-manage-settings",function(e){e.preventDefault();var e=document.querySelector(".cmplz-cookiebanner .cmplz-categories"),t=document.querySelector(".cmplz-save-settings"),c=document.querySelector("button.cmplz-manage-settings");cmplz_is_hidden(e)?(t.style.display="block",c.style.display="none",e.style.display="block"):(t.style.display="none",c.style.display="block",e.style.display="none")}),cmplz_add_event("click","button.cmplz-manage-consent",function(e){e.preventDefault(),cmplz_set_banner_status("show")});var cmplzCleanCookieInterval,cmplz_cookie_data=[];function cmplz_start_clean(){if(1==complianz.clean_cookies)if((cmplz_cookie_data="undefined"!=typeof Storage?JSON.parse(sessionStorage.getItem("cmplz_cookie_data")):cmplz_cookie_data)&&0!==cmplz_cookie_data.length)cmplz_setup_clean_interval();else{let e=new XMLHttpRequest;e.open("GET",complianz.url+"cookie_data",!0),e.setRequestHeader("Content-type","application/json"),e.send(),e.onload=function(){cmplz_cookie_data=JSON.parse(e.response),sessionStorage.setItem("cmplz_cookie_data",JSON.stringify(cmplz_cookie_data)),cmplz_setup_clean_interval()}}}function cmplz_do_cleanup(){for(const t of["preferences","statistics","marketing"])if(!cmplz_has_consent(t)&&cmplz_cookie_data.hasOwnProperty(t)){var e=cmplz_cookie_data[t];for(const c in e)if(!cmplz_has_service_consent(c,t))for(const n of e[c])cmplz_clear_cookies(n),cmplz_clear_storage(n)}}function cmplz_setup_clean_interval(){!cmplz_cookie_data||cmplzCleanCookieInterval||(cmplz_do_cleanup(),cmplzCleanCookieInterval=setInterval(cmplz_do_cleanup,1e3))}function cmplz_clear_storage(e){"undefined"!=typeof Storage&&(localStorage.getItem(e)&&localStorage.removeItem(e),sessionStorage.getItem(e))&&sessionStorage.removeItem(e)}function cmplz_load_manage_consent_container(){let c=document.querySelector(".cmplz-manage-consent-container");if(c){let t=new XMLHttpRequest;t.open("GET",complianz.url+"manage_consent_html?"+complianz.locale,!0),t.setRequestHeader("Content-type","application/json"),t.send(),t.onload=function(){var e=JSON.parse(t.response);c.insertAdjacentHTML("beforeend",e),cmplz_sync_category_checkboxes();document.querySelector("#cmplz-manage-consent-container-nojavascript").style.display="none",c.style.display="block";e=new CustomEvent("cmplz_manage_consent_container_loaded");document.dispatchEvent(e)}}}
1285function cmplz_equals(c,n){if(Array.isArray(c)||(c=Object.keys(c),n=Object.keys(n)),!c||!n)return!1;if(c.length!==n.length)return!1;for(let e=0,t=c.length;e<t;e++)if(c[e]instanceof Array&&n[e]instanceof Array){if(!cmplz_equals(c[e],n[e]))return!1}else if(c[e]!==n[e])return!1;return!0}function cmplzCopyAttributes(e,t){const c=["type","data-service","data-category","async"];Array.from(e.attributes).forEach(e=>{"data-script-type"===e.nodeName&&"module"===e.nodeValue?(t.setAttribute("type","module"),t.removeAttribute("data-script-type")):c.includes(e.nodeName)||t.setAttribute(e.nodeName,e.nodeValue)})}cmplz_add_event("keypress",".cmplz-banner-slider label",function(e){32==(e.keyCode||e.which)&&document.activeElement.click()}),cmplz_add_event("keypress",".cmplz-cookiebanner .cmplz-header .cmplz-close",function(e){13==(e.keyCode||e.which)&&document.activeElement.click()});var cmplz_has_wp_video=document.querySelector(".cmplz-wp-video-shortcode"),cmplz_times_checked=0;void 0!==window.jQuery&&jQuery(document).ready(function(r){if(cmplz_has_wp_video){document.addEventListener("cmplz_enable_category",function(e){t()});let e=setInterval(function(){cmplz_times_checked+=1,document.querySelector(".cmplz-wp-video-shortcode")&&cmplz_times_checked<100?t():clearInterval(e)},500)}function t(){if(document.querySelector(".cmplz-wp-video-shortcode")){var e,t,n,o=cmplz_accepted_categories(),a=cmplz_get_all_service_consents(),i=[];for(e in o)if(o.hasOwnProperty(e)){var l=o[e];if("functional"===l)break;i.push('.cmplz-wp-video-shortcode[data-category="'+l+'"]')}for(t in a)a.hasOwnProperty(t)&&i.push('.cmplz-wp-video-shortcode[data-service="'+t+'"]');n=i.join(",");let c=!1;0<n.length&&document.querySelectorAll(n).forEach(e=>{c=!0,e.setAttribute("controls","controls"),e.classList.add("wp-video-shortcode","cmplz-processed"),e.classList.remove("cmplz-wp-video-shortcode"),e.closest(".cmplz-wp-video").classList.remove("cmplz-wp-video");var t=e.closest(".wp-video").querySelector(".cmplz-blocked-content-notice");t&&t.parentElement.removeChild(t),e.classList.remove("cmplz-blocked-content-container")}),c&&(window.wp.mediaelement?window.wp.mediaelement.initialize():(n={videoWidth:"100%",videoHeight:"100%",enableAutosize:!0},r(".wp-video-shortcode").mediaelementplayer(n)))}}function c(e){e=r(e);"function"==typeof e.parent().fitVids&&e.parent().fitVids()}document.querySelectorAll(".cmplz-video.cmplz-activated").forEach(e=>{c(e)}),document.addEventListener("cmplz_enable_category",function(e){document.querySelectorAll(".cmplz-video.cmplz-activated").forEach(e=>{c(e)})})})
1286;jQuery(function($){$('.image-carousel-slider').each(function(){var desktopColumns=$(this).data('desktop-columns');var laptopColumns=$(this).data('laptop-columns');var tabletColumns=$(this).data('tablet-columns');var mobileColumns=$(this).data('mobile-columns');var showDotsString=$(this).data('show-dots');var showDots=Boolean(showDotsString);var showArrowsString=$(this).data('show-arrows');var showArrows=Boolean(showArrowsString);$(this).slick({slide:'.image-carousel-slide',dots:showDots,arrows:showArrows,infinite:!0,slidesToShow:desktopColumns,slidesToScroll:2,cssEase:'linear',swipe:!0,autoplay:!0,autoplaySpeed:2000,speed:1000,lazyLoad:'progressive',adaptiveHeight:!0,pauseOnFocus:!0,respondTo:'window',prevArrow:'<div class="slick-prev"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:serif="http://www.serif.com/" width="100%" height="100%" viewBox="0 0 34 12" version="1.1" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1,0,0,1,271,-428.992)"><g id="_--" serif:id="-&gt;"><path d="M263,428.992L270.008,434.499L263,440.006L263,435.999L237,435.999L237,432.999L263,432.999L263,428.992Z" style="fill:rgb(66,62,248);"/></g></g></svg></div>',nextArrow:'<div class="slick-next"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:serif="http://www.serif.com/" width="100%" height="100%" viewBox="0 0 34 12" version="1.1" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1,0,0,1,-237,-428.992)"><g id="_--" serif:id="-&gt;"><path d="M263,428.992L270.008,434.499L263,440.006L263,435.999L237,435.999L237,432.999L263,432.999L263,428.992Z" style="fill:rgb(66,62,248);"/></g></g></svg></div>',responsive:[{breakpoint:480,settings:{slidesToShow:mobileColumns,}},{breakpoint:1024,settings:{slidesToShow:tabletColumns,}},{breakpoint:1680,settings:{slidesToShow:laptopColumns,}}]})})})
1287;jQuery(function($){$('.testimonials-slider').each(function(){var $slider=$(this);$slider.slick({slide:'.testimonial-slide',dots:!1,arrows:!1,infinite:!0,slidesToShow:1,slidesToScroll:1,cssEase:'linear',swipe:!0,autoplay:!0,autoplaySpeed:3000,speed:1500,lazyLoad:'progressive',adaptiveHeight:!1,pauseOnFocus:!0,respondTo:'window',prevArrow:'<div class="slick-prev"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:serif="http://www.serif.com/" width="100%" height="100%" viewB
1287ox="0 0 34 12" version="1.1" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1,0,0,1,271,-428.992)"><g id="_--" serif:id="-&gt;"><path d="M263,428.992L270.008,434.499L263,440.006L263,435.999L237,435.999L237,432.999L263,432.999L263,428.992Z" style="fill:rgb(66,62,248);"/></g></g></svg></div>',nextArrow:'<div class="slick-next"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:serif="http://www.serif.com/" width="100%" height="100%" viewBox="0 0 34 12" version="1.1" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1,0,0,1,-237,-428.992)"><g id="_--" serif:id="-&gt;"><path d="M263,428.992L270.008,434.499L263,440.006L263,435.999L237,435.999L237,432.999L263,432.999L263,428.992Z" style="fill:rgb(66,62,248);"/></g></g></svg></div>',responsive:[{breakpoint:768,settings:{adaptiveHeight:!0,}}]});function setEqualHeight(){if($(window).width()>=768){$slider.find('.slick-slide').css('height','auto');var maxHeight=0;$slider.find('.slick-slide').each(function(){var slideHeight=$(this).outerHeight();if(slideHeight>maxHeight){maxHeight=slideHeight}});$slider.find('.slick-slide').css('height',maxHeight+'px')}else{$slider.find('.slick-slide').css('height','auto')}}
1288$slider.on('init',function(){setEqualHeight()});$slider.on('setPosition',function(){setEqualHeight()});$(window).on('resize',function(){setEqualHeight()});$slider.slick('setPosition')})})
1289;(function($){let responsivilleAccordionHeaders=$('.nvm-faq .responsiville-accordion-header');if(responsivilleAccordionHeaders){responsivilleAccordionHeaders.each((index)=>{$(responsivilleAccordionHeaders[index]).on('keydown',(event)=>{if(event.keyCode==13){event.target.click()}})});responsivilleAccordionHeaders.each((index)=>{$(responsivilleAccordionHeaders[index]).on('click',(event)=>{event.preventDefault();let isExpanded=event.target.attributes['aria-expanded'].value==='true';event.target.attributes['aria-expanded'].value=!isExpanded})})}})(jQuery)
1290;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.