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…]</p>'+'</section>'+'<section class="responsiville-debug-control responsiville-debug-performance">'+'<p>[timings, please wait…]</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"><row></p>').append('<p class="responsiville-class-info end"></row></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"><'+classString+'></p>').append('<p class="responsiville-class-info end"></'+classString+'></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>—>'+'</td><td>'+'0.00'+'</td><td>'+'—'+'</td>'+'</tr>'+'<tr title="Time to first byte - browser received the first byte of the response">'+'<td>TtFB</td><td>—>'+'</td><td>'+responseStart+'</td><td>'+responseStartDiff+'</td>'+'</tr>'+'<tr title="Synchronous scripts run, DOM & CSSOM ready, render tree formed">'+'<td>DOMContentLoaded</td><td>—>'+'</td><td>'+domContentLoaded+'</td><td>'+domContentLoadedDiff+'</td>'+'</tr>'+'<tr title="Page is fully loaded and rendered, images are loaded">'+'<td>Load</td><td>—>'+'</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)&<.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="->"><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="->"><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="->"><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="->"><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.