From 7d47ae0d8252d30462c9f4670fb94db12ee3ae1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Je=CC=81re=CC=81my=20Minie=CC=81?= Date: Tue, 25 Jun 2019 14:21:03 -0400 Subject: [PATCH] Fix small warning in `app.js` + Add useful methods to `html.js` + Add `maths.js` to utils + Build --- assets/scripts/app.js | 2 +- assets/scripts/utils/html.js | 45 + assets/scripts/utils/maths.js | 3 + .../scripts/abortcontroller-polyfill-only.js | 2 +- www/assets/scripts/app.js | 642 +------------- www/assets/scripts/app.js.map | 2 +- www/assets/scripts/jquery-3.4.1.min.js | 3 +- www/assets/styles/main.css | 798 +----------------- 8 files changed, 54 insertions(+), 1443 deletions(-) create mode 100644 assets/scripts/utils/maths.js diff --git a/assets/scripts/app.js b/assets/scripts/app.js index 2961ffc..cf547a4 100644 --- a/assets/scripts/app.js +++ b/assets/scripts/app.js @@ -10,6 +10,6 @@ const app = new modular({ app.init(app); globals(); -html.classList.add('is-loaded is-ready'); +html.classList.add('is-loaded', 'is-ready'); html.classList.remove('is-loading'); diff --git a/assets/scripts/utils/html.js b/assets/scripts/utils/html.js index 870066d..72c9371 100644 --- a/assets/scripts/utils/html.js +++ b/assets/scripts/utils/html.js @@ -94,3 +94,48 @@ export function getData(data) { return data; } + +/** + * Returns an array containing all the parent nodes of the given node + * @param {object} node + * @return {array} parent nodes + */ +export function getParents(elem) { + // Set up a parent array + let parents = []; + + // Push each parent element to the array + for ( ; elem && elem !== document; elem = elem.parentNode ) { + parents.push(elem); + } + + // Return our parent array + return parents; +} + +// https://gomakethings.com/how-to-get-the-closest-parent-element-with-a-matching-selector-using-vanilla-javascript/ +export function queryClosestParent(elem, selector) { + + // Element.matches() polyfill + if (!Element.prototype.matches) { + Element.prototype.matches = + Element.prototype.matchesSelector || + Element.prototype.mozMatchesSelector || + Element.prototype.msMatchesSelector || + Element.prototype.oMatchesSelector || + Element.prototype.webkitMatchesSelector || + function(s) { + var matches = (this.document || this.ownerDocument).querySelectorAll(s), + i = matches.length; + while (--i >= 0 && matches.item(i) !== this) {} + return i > -1; + }; + } + + // Get the closest matching element + for ( ; elem && elem !== document; elem = elem.parentNode ) { + if ( elem.matches( selector ) ) return elem; + } + return null; + +}; diff --git a/assets/scripts/utils/maths.js b/assets/scripts/utils/maths.js new file mode 100644 index 0000000..8bc0430 --- /dev/null +++ b/assets/scripts/utils/maths.js @@ -0,0 +1,3 @@ +export function lerp(start, end, amt){ + return (1 - amt) * start + amt * end +} diff --git a/www/assets/scripts/abortcontroller-polyfill-only.js b/www/assets/scripts/abortcontroller-polyfill-only.js index f1ef098..09da616 100644 --- a/www/assets/scripts/abortcontroller-polyfill-only.js +++ b/www/assets/scripts/abortcontroller-polyfill-only.js @@ -1 +1 @@ -!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){for(var n=0;n collection - for (// get the cached index - var index = 0; index < uses.length; ) { - // get the current - var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute("xlink:href") || use.getAttribute("href"); - if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), - svg && src) { - if (polyfill) { - if (!opts.validate || opts.validate(src, svg, use)) { - // remove the element - parent.removeChild(use); - // parse the src and get the url and id - var srcSplit = src.split("#"), url = srcSplit.shift(), id = srcSplit.join("#"); - // if the link is external - if (url.length) { - // get the cached xhr request - var xhr = requests[url]; - // ensure the xhr request exists - xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open("GET", url), xhr.send(), - xhr._embeds = []), // add the svg and id as an item to the xhr embeds list - xhr._embeds.push({ - parent: parent, - svg: svg, - id: id - }), // prepare the xhr ready state change event - loadreadystatechange(xhr); - } else { - // embed the local id into the svg - embed(parent, svg, document.getElementById(id)); - } - } else { - // increase the index when the previous value was not "valid" - ++index, ++numberOfSvgUseElementsToBypass; - } - } - } else { - // increase the index when the previous value was not "valid" - ++index; - } - } - // continue the interval - (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67); - } - var polyfill, opts = Object(rawopts), newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/, webkitUA = /\bAppleWebKit\/(\d+)\b/, olderEdgeUA = /\bEdge\/12\.(\d+)\b/, edgeUA = /\bEdge\/.(\d+)\b/, inIframe = window.top !== window.self; - polyfill = "polyfill" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe; - // create xhr requests object - var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName("use"), numberOfSvgUseElementsToBypass = 0; - // conditionally start the interval if the polyfill is active - polyfill && oninterval(); - } - function getSVGAncestor(node) { - for (var svg = node; "svg" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {} - return svg; - } - return svg4everybody; - }); - }); - - function globals () { - svg4everybody(); - } - - var app = new _default$1({ - modules: modules - }); - app.init(app); - globals(); - -}()); -//# sourceMappingURL=app.js.map +!function(){"use strict";function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var i=0;i';else{var i=t.getAttribute("href");i&&(t.parentNode.innerHTML='')}})}}},{key:"setAttributes",value:function(){var s,t,a=this,e=this.data.getElementsByTagName("title")[0],i=this.data.head.querySelector('meta[name="description"]'),n=document.head.querySelector('meta[name="description"]');s=this.subContainer?(t=this.parentNewContainer,document.querySelector(this.transitionContainer).parentNode):(t=this.data.querySelector("html"),document.querySelector("html"));var o=Object.assign({},t.dataset);e&&(document.title=e.innerHTML),n&&i&&n.setAttribute("content",i.getAttribute("content")),o&&Object.entries(o).forEach(function(t){var e=g(t,2),i=e[0],n=e[1];s.setAttribute("data-"+a.toDash(i),n)})}},{key:"toDash",value:function(t){return t.split(/(?=[A-Z])/).join("-").toLowerCase()}},{key:"hideContainer",value:function(){this.newContainer.style.visibility="hidden",this.newContainer.style.height=0,this.newContainer.style.overflow="hidden"}},{key:"showContainer",value:function(){this.newContainer.style.visibility="",this.newContainer.style.height="",this.newContainer.style.overflow=""}},{key:"loadEls",value:function(e){var i=this,a=[];this.loadAttributes.forEach(function(n){var s="data-"+i.name+"-"+n,t=e.querySelectorAll("["+s+"]");t.length&&t.forEach(function(e){var t=e.getAttribute(s);if(e.setAttribute(n,t),"src"==n||"srcset"==n){var i=new Promise(function(t){e.onload=function(){return t(e)}});a.push(i)}})}),Promise.all(a).then(function(t){var e=new Event(i.namespace+"images");window.dispatchEvent(e)})}},{key:"setLoaded",value:function(){var t=this;this.classContainer.classList.remove(this.loadingClass),setTimeout(function(){t.classContainer.classList.add(t.loadedClass)},this.loadedDelay);var e=new Event(this.namespace+"loaded");window.dispatchEvent(e)}},{key:"removeContainer",value:function(){this.parentContainer.removeChild(this.oldContainer),this.newContainer.classList.remove("is-new"),this.isInserted=!1}},{key:"setReady",value:function(){this.classContainer.classList.add(this.readyClass);var t=new Event(this.namespace+"ready");window.dispatchEvent(t)}},{key:"on",value:function(t,e){var i=this;window.addEventListener(this.namespace+t,function(){switch(t){case"loading":return e(i.transition,i.oldContainer);case"loaded":return e(i.transition,i.oldContainer,i.newContainer);case"ready":return e(i.transition,i.newContainer);default:return e()}},!1)}}])&&y(t.prototype,i),n&&y(t,n),e}(),b=function(t){function e(t){return o(this,e),m(this,f(e).call(this,t))}return d(e,a),u(e,[{key:"init",value:function(){var n=this;new w({enterDelay:0,transitions:{customTransition:{}}}).on("loaded",function(t,e,i){n.call("destroy",e,"app"),n.call("update",i,"app")})}}]),e}(),k=$(document),C=$(window),E=document.documentElement,S=$(document.documentElement).removeClass("has-no-js").addClass("has-js"),T=$(document.body);$("#js-pjax-wrapper"),S.data("debug");function O(t){return!isNaN(parseFloat(t))&&isFinite(t)}var M="LocomotiveScroll",x={CLICK:"click.".concat(M),ISREADY:"isReady.".concat(M),REBUILD:"rebuild.".concat(M),RENDER:"render.".concat(M),RESIZE:"resize.".concat(M),SCROLL:"scroll.".concat(M),SCROLLTO:"scrollTo.".concat(M),UPDATE:"update.".concat(M),STOP:"stop.".concat(M),START:"start.".concat(M)},D={container:k,mobileContainer:k,onScroll:function(){},selector:".js-animate",smooth:!1,smoothMobile:!1,reversed:!1,getDirection:!1,getSpeed:!1,scrollBarClassName:"o-scrollbar",isScrollingClassName:"is-scrolling"},L=function(){function e(t){o(this,e),this.$container=t.container?t.container:D.container,this.selector=t.selector?t.selector:D.selector,this.callbacks={onScroll:"function"==typeof t.onScroll?t.onScroll:D.onScroll},this.instance={scroll:{x:0,y:0,direction:""}},this.windowHeight=C.height(),this.windowMiddle=this.windowHeight/2,this.animatedElements=[],this.requestId=void 0}return u(e,[{key:"init",value:function(){var n,s,a,o,r=this;this.addElements(),this.render(),this.$container.on(x.SCROLL,function(){r.render()}),this.$container.on(x.REBUILD,function(){r.scrollTo({targetOffset:0}),r.update()}),this.$container.on(x.UPDATE,function(t,e){return r.update(e)}),this.$container.on(x.RENDER,function(){return r.render()}),this.$container.on(x.CLICK,".js-scrollto",function(t){t.preventDefault();var e=$(t.currentTarget),i=e.data("offset");r.scrollTo({sourceElem:e,offsetElem:i})}),this.$container.on(x.SCROLLTO,function(t){return r.scrollTo(t.options)}),k.triggerHandler({type:x.ISREADY}),C.on(x.RESIZE,(n=function(){r.update()},s=20,function(){var t=this,e=arguments,i=a&&!o;clearTimeout(o),o=setTimeout(function(){o=null,a||n.apply(t,e)},s),i&&n.apply(t,e)}))}},{key:"addElements",value:function(){this.animatedElements=[];for(var t=$(this.selector),e=t.length,i=0;i=t.offset&&n<=t.limit;else if("below"===t.position)a=n>t.limit;else if(t.sticky)a=n>=t.offset&&n<=t.limit;else if(null!=t.viewportOffset)if(1t.offset&&ot.offset&&r=t.offset&&n<=t.limit;if(t.sticky&&(n>t.limit?t.$element.addClass("is-unstuck"):t.$element.removeClass("is-unstuck"),nDate.now()&&e[0]===e[2*this.stability-1])&&(n=e.slice(0,this.stability),i=e.slice(this.stability,2*this.stability),r=n.reduce(function(t,e){return t+e}),a=i.reduce(function(t,e){return t+e}),o=r/n.length,s=a/i.length,Math.abs(o)e.instance.limit&&(e.instance.delta.y=e.instance.limit)}),e.isTicking=!0),e.isTicking=!1)}),this.setScrollLimit(),this.initScrollBar(),this.addElements(),this.events(),this.preloadImages(),this.timestamp=Date.now(),this.render()}},{key:"events",value:function(){var n=this;this.$container.on(A.REBUILD,function(){n.update()}),this.$container.on(A.UPDATE,function(t,e){return n.update(e)}),this.$container.on(A.CLICK,".js-scrollto",function(t){t.preventDefault();var e=$(t.currentTarget),i=e.data("offset");n.scrollTo({sourceElem:e,offsetElem:i})}),this.$container.on(A.SCROLLTO,function(t){return n.scrollTo(t.options)}),k.triggerHandler({type:A.ISREADY}),C.on(A.RESIZE,function(){n.update()}),this.$container.on(A.STOP,function(){n.stop=!0}),this.$container.on(A.START,function(){n.stop=!1})}},{key:"initScrollBar",value:function(){var e=this;this.scrollbarWrapper=document.createElement("span"),this.scrollbar=document.createElement("span"),this.scrollbarWrapper.classList.add("".concat(this.scrollBarClassName,"_wrapper")),this.scrollbar.classList.add("".concat(this.scrollBarClassName)),this.scrollbarWrapper.append(this.scrollbar),document.body.append(this.scrollbarWrapper),this.scrollbar.style.height="".concat(window.innerHeight*window.innerHeight/this.instance.limit,"px"),this.scrollBarLimit=window.innerHeight-this.scrollbar.getBoundingClientRect().height,this.scrollbar.addEventListener("mousedown",function(t){return e.getScrollBar(t)}),window.addEventListener("mouseup",function(t){return e.releaseScrollBar(t)}),window.addEventListener("mousemove",function(t){return e.moveScrollBar(t)})}},{key:"reinitScrollBar",value:function(){this.scrollbar.style.height="".concat(window.innerHeight*window.innerHeight/this.instance.limit,"px"),this.scrollBarLimit=window.innerHeight-this.scrollbar.getBoundingClientRect().height}},{key:"destroyScrollBar",value:function(){var e=this;this.scrollbar.removeEventListener("mousedown",function(t){return e.getScrollBar(t)}),window.removeEventListener("mouseup",function(t){return e.releaseScrollBar(t)}),window.removeEventListener("mousemove",function(t){return e.moveScrollBar(t)})}},{key:"getScrollBar",value:function(t){this.isDraggingScrollBar=!0,this.checkScroll(),E.classList.add(this.isScrollingClassName)}},{key:"releaseScrollBar",value:function(t){this.isDraggingScrollBar=!1,E.classList.remove(this.isScrollingClassName)}},{key:"moveScrollBar",value:function(e){var i=this;!this.isTicking&&this.isDraggingScrollBar&&(requestAnimationFrame(function(){var t=100*e.pageY/window.innerHeight*i.instance.limit/100;0this.instance.scroll.y?"down"!==this.instance.scroll.direction&&(this.instance.scroll.direction="down"):this.instance.delta.y=a.offset&&this.instance.scroll.y<=a.limit;if(this.toggleElement(a,n),t&&!r&&a.speed&&"top"!==a.position&&(o=(a.offset-this.windowMiddle-a.middle)*-a.speed),r&&a.speed)switch(a.position){case"top":o=this.instance.scroll.y*-a.speed;break;case"bottom":o=(this.instance.limit-e+this.windowHeight)*a.speed;break;default:o=(i-a.middle)*-a.speed}O(o)&&(a.horizontal?this.transformElement(a.$element,o,0,0,a.delay):this.transformElement(a.$element,0,o,0,a.delay))}}},{key:"update",value:function(t){this.windowHeight=C.height(),this.windowMiddle=this.windowHeight/2,this.setScrollLimit(),this.addElements(),this.transformElements(!0),this.reinitScrollBar()}},{key:"setWheelDirection",value:function(t){this.scrollbar.reverseWheel(t)}},{key:"preloadImages",value:function(){var i=this,n=Array.from(document.querySelectorAll("img"));n.forEach(function(t){var e=document.createElement("img");e.addEventListener("load",function(){n.splice(n.indexOf(t),1),0===n.length&&i.update()}),e.src=t.getAttribute("src")})}},{key:"destroy",value:function(){v(f(i.prototype),"destroy",this).call(this),S.removeClass("has-smooth-scroll"),this.parallaxElements=[],this.instance.destroy(),cancelAnimationFrame(this.raf)}}]),i}(),st=function(t){function e(t){return o(this,e),m(this,f(e).call(this,t))}return d(e,nt),e}(),at=function(){function e(t){o(this,e),this.options=t,this.smooth=t.smooth||_.smooth,this.smoothMobile=t.smoothMobile||_.smoothMobile,this.mobileContainer=t.mobileContainer||_.mobileContainer,this.isMobile=!1,this.init()}return u(e,[{key:"init",value:function(){var t=this;S[0].scrollTop=0,T[0].scrollTop=0,this.smoothMobile||(this.isMobile=/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)),this.instance=!0!==t.smooth||t.isMobile?(t.mobileContainer&&(t.options.container=t.mobileContainer),new j(t.options)):new st(t.options),this.instance.init();var e=$(".js-scrollto-on-load").first();1===e.length&&k.triggerHandler({type:"Event.SCROLLTO",options:{targetElem:e}})}},{key:"destroy",value:function(){this.instance.destroy()}}]),e}(),ot=function(t){function e(t){return o(this,e),m(this,f(e).call(this,t))}return d(e,a),u(e,[{key:"init",value:function(){this.scroll=new at({container:$(this.el),smooth:!0,inertia:1})}},{key:"destroy",value:function(){this.scroll.destroy()}}]),e}(),rt=Object.freeze({Load:b,Scroll:ot}),lt=W(function(t){var e,i;e=R,i=function(){function v(t,e,i){if(i){var n=document.createDocumentFragment(),s=!e.hasAttribute("viewBox")&&i.getAttribute("viewBox");s&&e.setAttribute("viewBox",s);for(var a=i.cloneNode(!0);a.childNodes.length;)n.appendChild(a.firstChild);t.appendChild(n)}}function y(n){n.onreadystatechange=function(){if(4===n.readyState){var i=n._cachedDocument;i||((i=n._cachedDocument=document.implementation.createHTMLDocument("")).body.innerHTML=n.responseText,n._cachedTarget={}),n._embeds.splice(0).map(function(t){var e=n._cachedTarget[t.id];e||(e=n._cachedTarget[t.id]=i.getElementById(t.id)),v(t.parent,t.svg,e)})}},n.onreadystatechange()}function g(t){for(var e=t;"svg"!==e.nodeName.toLowerCase()&&(e=e.parentNode););return e}return function(t){var h,u=Object(t),e=window.top!==window.self;h="polyfill"in u?u.polyfill:/\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/.test(navigator.userAgent)||(navigator.userAgent.match(/\bEdge\/12\.(\d+)\b/)||[])[1]<10547||(navigator.userAgent.match(/\bAppleWebKit\/(\d+)\b/)||[])[1]<537||/\bEdge\/.(\d+)\b/.test(navigator.userAgent)&&e;var d={},f=window.requestAnimationFrame||setTimeout,p=document.getElementsByTagName("use"),m=0;h&&function t(){for(var e=0;e collection\n for (// get the cached index\n var index = 0; index < uses.length; ) {\n // get the current \n var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(\"xlink:href\") || use.getAttribute(\"href\");\n if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), \n svg && src) {\n if (polyfill) {\n if (!opts.validate || opts.validate(src, svg, use)) {\n // remove the element\n parent.removeChild(use);\n // parse the src and get the url and id\n var srcSplit = src.split(\"#\"), url = srcSplit.shift(), id = srcSplit.join(\"#\");\n // if the link is external\n if (url.length) {\n // get the cached xhr request\n var xhr = requests[url];\n // ensure the xhr request exists\n xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(\"GET\", url), xhr.send(), \n xhr._embeds = []), // add the svg and id as an item to the xhr embeds list\n xhr._embeds.push({\n parent: parent,\n svg: svg,\n id: id\n }), // prepare the xhr ready state change event\n loadreadystatechange(xhr);\n } else {\n // embed the local id into the svg\n embed(parent, svg, document.getElementById(id));\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index, ++numberOfSvgUseElementsToBypass;\n }\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index;\n }\n }\n // continue the interval\n (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);\n }\n var polyfill, opts = Object(rawopts), newerIEUA = /\\bTrident\\/[567]\\b|\\bMSIE (?:9|10)\\.0\\b/, webkitUA = /\\bAppleWebKit\\/(\\d+)\\b/, olderEdgeUA = /\\bEdge\\/12\\.(\\d+)\\b/, edgeUA = /\\bEdge\\/.(\\d+)\\b/, inIframe = window.top !== window.self;\n polyfill = \"polyfill\" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;\n // create xhr requests object\n var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(\"use\"), numberOfSvgUseElementsToBypass = 0;\n // conditionally start the interval if the polyfill is active\n polyfill && oninterval();\n }\n function getSVGAncestor(node) {\n for (var svg = node; \"svg\" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}\n return svg;\n }\n return svg4everybody;\n});","import svg4everybody from 'svg4everybody';\n\nexport default function() {\n svg4everybody();\n}\n","import modular from 'modujs';\nimport * as modules from './modules';\nimport globals from './globals';\n\nconst app = new modular({\n modules: modules\n});\n\napp.init(app);\nglobals();\n"],"names":["m","console","log","module","this","svg4everybody","app","modular","modules","init","globals"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sources":["../../../node_modules/modujs/dist/main.esm.js","../../../node_modules/modularload/dist/main.esm.js","../../../assets/scripts/modules/Load.js","../../../assets/scripts/utils/environment.js","../../../assets/scripts/utils/debounce.js","../../../assets/scripts/utils/is.js","../../../assets/scripts/scroll/vendors/Scroll.js","../../../assets/scripts/scroll/Scroll.js","../../../node_modules/object-assign/index.js","../../../node_modules/tiny-emitter/index.js","../../../node_modules/lethargy/lethargy.js","../../../node_modules/virtual-scroll/src/support.js","../../../node_modules/bindall-standalone/index.js","../../../node_modules/virtual-scroll/src/index.js","../../../assets/scripts/scroll/vendors/SmoothScroll.js","../../../assets/scripts/scroll/SmoothScroll.js","../../../assets/scripts/scroll/vendors/ScrollManager.js","../../../assets/scripts/modules/Scroll.js","../../../node_modules/svg4everybody/dist/svg4everybody.js","../../../assets/scripts/globals.js","../../../assets/scripts/app.js"],"sourcesContent":["function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar _default =\n/*#__PURE__*/\nfunction () {\n function _default(options) {\n _classCallCheck(this, _default);\n\n this.mAttr = 'data-' + options.name;\n this.el = options.el;\n }\n\n _createClass(_default, [{\n key: \"mInit\",\n value: function mInit(modules) {\n var _this = this;\n\n this.modules = modules;\n this.mCheckEventTarget = this.mCheckEventTarget.bind(this);\n\n if (this.events) {\n Object.keys(this.events).forEach(function (event) {\n return _this.mAddEvent(event);\n });\n }\n }\n }, {\n key: \"mUpdate\",\n value: function mUpdate(modules) {\n this.modules = modules;\n }\n }, {\n key: \"mDestroy\",\n value: function mDestroy() {\n var _this2 = this;\n\n if (this.events) {\n Object.keys(this.events).forEach(function (event) {\n return _this2.mRemoveEvent(event);\n });\n }\n }\n }, {\n key: \"mAddEvent\",\n value: function mAddEvent(event) {\n this.el.addEventListener(event, this.mCheckEventTarget);\n }\n }, {\n key: \"mRemoveEvent\",\n value: function mRemoveEvent(event) {\n this.el.removeEventListener(event, this.mCheckEventTarget);\n }\n }, {\n key: \"mCheckEventTarget\",\n value: function mCheckEventTarget(e) {\n var event = this.events[e.type];\n\n if (typeof event === \"string\") {\n this[event](e);\n } else {\n var data = '[' + this.mAttr + ']';\n var target = e.target;\n\n while (target && target !== document) {\n if (target.matches(data)) {\n var name = target.getAttribute(this.mAttr);\n\n if (event.hasOwnProperty(name)) {\n var method = event[name];\n Object.defineProperty(e, 'currentTarget', {\n value: target\n });\n this[method](e);\n break;\n }\n }\n\n target = target.parentNode;\n }\n }\n }\n }, {\n key: \"$\",\n value: function $(query, context) {\n var classIndex = query.indexOf('.');\n var idIndex = query.indexOf('#');\n var attrIndex = query.indexOf('[');\n var indexes = [classIndex, idIndex, attrIndex].filter(function (index) {\n return index != -1;\n });\n var index = false;\n var name = query;\n var more = '';\n var parent = this.el;\n\n if (indexes.length) {\n index = Math.min.apply(Math, _toConsumableArray(indexes));\n name = query.slice(0, index);\n more = query.slice(index);\n }\n\n if (_typeof(context) == 'object') {\n parent = context;\n }\n\n var els = parent.querySelectorAll('[' + this.mAttr + '=' + name + ']' + more);\n\n if (els.length == 1) {\n return els[0];\n } else {\n return els;\n }\n }\n }, {\n key: \"parent\",\n value: function parent(query, context) {\n var data = '[' + this.mAttr + '=' + query + ']';\n var parent = context;\n\n while (parent && parent !== document) {\n if (parent.matches(data)) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n }\n }, {\n key: \"data\",\n value: function data(name, context) {\n var target = context || this.el;\n return target.getAttribute(this.mAttr + '-' + name);\n }\n }, {\n key: \"call\",\n value: function call(func, args, mod, id) {\n var _this3 = this;\n\n if (args && !mod) {\n mod = args;\n args = false;\n }\n\n if (id) {\n this.modules[mod][id][func](args);\n } else {\n Object.keys(this.modules[mod]).forEach(function (id) {\n _this3.modules[mod][id][func](args);\n });\n }\n }\n }, {\n key: \"init\",\n value: function init() {}\n }, {\n key: \"destroy\",\n value: function destroy() {}\n }]);\n\n return _default;\n}();\n\nvar _default$1 =\n/*#__PURE__*/\nfunction () {\n function _default(options) {\n _classCallCheck(this, _default);\n\n this.app;\n this.modules = options.modules;\n this.currentModules = {};\n this.activeModules = {};\n this.newModules = {};\n this.moduleId = 0;\n }\n\n _createClass(_default, [{\n key: \"init\",\n value: function init(app, scope) {\n var _this = this;\n\n var container = scope || document;\n var elements = container.querySelectorAll('*');\n\n if (app && !this.app) {\n this.app = app;\n }\n\n this.activeModules['app'] = {\n 'app': this.app\n };\n elements.forEach(function (el) {\n Array.from(el.attributes).forEach(function (i) {\n if (i.name.startsWith('data-module')) {\n var moduleExists = false;\n\n var moduleName = _this.toCamel(i.name.split('-').splice(2));\n\n if (_this.modules[moduleName]) {\n moduleExists = true;\n } else if (_this.modules[_this.toUpper(moduleName)]) {\n moduleName = _this.toUpper(moduleName);\n moduleExists = true;\n }\n\n if (moduleExists) {\n var options = {\n el: el,\n name: moduleName\n };\n var module = new _this.modules[moduleName](options);\n var id = i.value;\n\n if (!id) {\n _this.moduleId++;\n id = 'm' + _this.moduleId;\n el.setAttribute(i.name, id);\n }\n\n _this.addActiveModule(moduleName, id, module);\n\n var moduleId = moduleName + '-' + id;\n\n if (scope) {\n _this.newModules[moduleId] = module;\n } else {\n _this.currentModules[moduleId] = module;\n }\n }\n }\n });\n });\n Object.entries(this.currentModules).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n id = _ref2[0],\n module = _ref2[1];\n\n if (scope) {\n var split = id.split('-');\n var moduleName = split.shift();\n var moduleId = split.pop();\n\n _this.addActiveModule(moduleName, moduleId, module);\n } else {\n _this.initModule(module);\n }\n });\n }\n }, {\n key: \"initModule\",\n value: function initModule(module) {\n module.mInit(this.activeModules);\n module.init();\n }\n }, {\n key: \"addActiveModule\",\n value: function addActiveModule(name, id, module) {\n if (this.activeModules[name]) {\n Object.assign(this.activeModules[name], _defineProperty({}, id, module));\n } else {\n this.activeModules[name] = _defineProperty({}, id, module);\n }\n }\n }, {\n key: \"update\",\n value: function update(scope) {\n var _this2 = this;\n\n this.init(this.app, scope);\n Object.entries(this.currentModules).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n id = _ref4[0],\n module = _ref4[1];\n\n module.mUpdate(_this2.activeModules);\n });\n Object.entries(this.newModules).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n id = _ref6[0],\n module = _ref6[1];\n\n _this2.initModule(module);\n });\n Object.assign(this.currentModules, this.newModules);\n }\n }, {\n key: \"destroy\",\n value: function destroy(scope) {\n if (scope) {\n this.destroyScope(scope);\n } else {\n this.destroyModules();\n }\n }\n }, {\n key: \"destroyScope\",\n value: function destroyScope(scope) {\n var _this3 = this;\n\n var elements = scope.querySelectorAll('*');\n elements.forEach(function (el) {\n Array.from(el.attributes).forEach(function (i) {\n if (i.name.startsWith('data-module')) {\n var name = i.name.split('-').pop();\n var id = i.value;\n var moduleName = _this3.toUpper(name) + '-' + id;\n var module = _this3.currentModules[moduleName];\n\n if (module) {\n _this3.destroyModule(module);\n\n delete _this3.currentModules[moduleName];\n }\n }\n });\n });\n this.activeModules = {};\n this.newModules = {};\n }\n }, {\n key: \"destroyModules\",\n value: function destroyModules() {\n var _this4 = this;\n\n Object.entries(this.currentModules).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n id = _ref8[0],\n module = _ref8[1];\n\n _this4.destroyModule(module);\n });\n this.currentModules = [];\n }\n }, {\n key: \"destroyModule\",\n value: function destroyModule(module) {\n module.mDestroy();\n module.destroy();\n }\n }, {\n key: \"toCamel\",\n value: function toCamel(arr) {\n var _this5 = this;\n\n return arr.reduce(function (a, b) {\n return a + _this5.toUpper(b);\n });\n }\n }, {\n key: \"toUpper\",\n value: function toUpper(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n }]);\n\n return _default;\n}();\n\nexport default _default$1;\nexport { _default as module };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar _default =\n/*#__PURE__*/\nfunction () {\n function _default(options) {\n _classCallCheck(this, _default);\n\n this.defaults = {\n name: 'load',\n loadingClass: 'is-loading',\n loadedClass: 'is-loaded',\n readyClass: 'is-ready',\n transitionsPrefix: 'is-',\n enterDelay: 0,\n exitDelay: 0,\n loadedDelay: 0,\n isLoaded: false,\n isEntered: false,\n isUrl: false,\n transitionContainer: null\n };\n Object.assign(this, this.defaults, options);\n this.options = options;\n this.namespace = 'modular';\n this.html = document.documentElement;\n this.href = window.location.href;\n this.container = 'data-' + this.name + '-container';\n this.subContainer = false;\n this.prevTransition = null;\n this.loadAttributes = ['src', 'srcset', 'style', 'href'];\n this.isInserted = false;\n this.isLoading = false;\n this.enterTimeout = false;\n this.controller = new AbortController();\n this.classContainer = this.html;\n this.isChrome = navigator.userAgent.indexOf(\"Chrome\") != -1 ? true : false;\n this.init();\n }\n\n _createClass(_default, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n window.addEventListener('popstate', function (e) {\n return _this.checkState(e);\n }, false);\n this.html.addEventListener('click', function (e) {\n return _this.checkClick(e);\n }, false);\n this.loadEls(document);\n }\n }, {\n key: \"checkClick\",\n value: function checkClick(e) {\n if (!e.ctrlKey && !e.metaKey) {\n var target = e.target;\n\n while (target && target !== document) {\n if (target.matches('a')) {\n var href = target.getAttribute('href');\n\n if (!href.startsWith('#') && !href.startsWith('mailto:') && !href.startsWith('tel:')) {\n e.preventDefault();\n this.reset();\n this.getClickOptions(target);\n }\n\n break;\n }\n\n target = target.parentNode;\n }\n }\n }\n }, {\n key: \"checkState\",\n value: function checkState() {\n this.reset();\n this.getStateOptions();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.isLoading) {\n this.controller.abort();\n this.isLoading = false;\n this.controller = new AbortController();\n }\n\n window.clearTimeout(this.enterTimeout);\n\n if (this.isInserted) {\n this.removeContainer();\n }\n\n this.classContainer = this.html;\n Object.assign(this, this.defaults, this.options);\n }\n }, {\n key: \"getClickOptions\",\n value: function getClickOptions(link) {\n this.transition = link.getAttribute('data-' + this.name);\n this.isUrl = link.getAttribute('data-' + this.name + '-url');\n var href = link.getAttribute('href');\n var target = link.getAttribute('target');\n\n if (target == '_blank') {\n window.open(href, '_blank');\n return;\n }\n\n if (this.transition == 'false') {\n window.location = href;\n return;\n }\n\n this.setOptions(href, true);\n }\n }, {\n key: \"getStateOptions\",\n value: function getStateOptions() {\n this.transition = history.state;\n var href = window.location.href;\n this.setOptions(href);\n }\n }, {\n key: \"goTo\",\n value: function goTo(href, transition, isUrl) {\n this.reset();\n this.transition = transition;\n this.isUrl = isUrl;\n this.setOptions(href, true);\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(href, push) {\n var container = '[' + this.container + ']';\n var oldContainer;\n\n if (this.transition && this.transition != 'true') {\n this.transitionContainer = '[' + this.container + '=\"' + this.transition + '\"]';\n this.loadingClass = this.transitions[this.transition].loadingClass || this.loadingClass;\n this.loadedClass = this.transitions[this.transition].loadedClass || this.loadedClass;\n this.readyClass = this.transitions[this.transition].readyClass || this.readyClass;\n this.transitionsPrefix = this.transitions[this.transition].transitionsPrefix || this.transitionsPrefix;\n this.enterDelay = this.transitions[this.transition].enterDelay || this.enterDelay;\n this.exitDelay = this.transitions[this.transition].exitDelay || this.exitDelay;\n this.loadedDelay = this.transitions[this.transition].loadedDelay || this.loadedDelay;\n oldContainer = document.querySelector(this.transitionContainer);\n }\n\n if (oldContainer) {\n container = this.transitionContainer;\n this.oldContainer = oldContainer;\n this.classContainer = this.oldContainer.parentNode;\n\n if (!this.subContainer) {\n history.replaceState(this.transition, null, this.href);\n }\n\n this.subContainer = true;\n } else {\n this.oldContainer = document.querySelector(container);\n\n if (this.subContainer) {\n history.replaceState(this.prevTransition, null, this.href);\n }\n\n this.subContainer = false;\n }\n\n this.href = href;\n this.parentContainer = this.oldContainer.parentNode;\n\n if (this.isUrl === '' || this.isUrl != null && this.isUrl != 'false' && this.isUrl != false) {\n history.pushState(this.transition, null, href);\n } else {\n this.oldContainer.classList.add('is-old');\n this.setLoading();\n this.startEnterDelay();\n this.loadHref(href, container, push);\n }\n }\n }, {\n key: \"setLoading\",\n value: function setLoading() {\n this.classContainer.classList.remove(this.loadedClass, this.readyClass);\n this.classContainer.classList.add(this.loadingClass);\n this.classContainer.classList.remove(this.transitionsPrefix + this.prevTransition);\n\n if (this.transition) {\n this.classContainer.classList.add(this.transitionsPrefix + this.transition);\n }\n\n if (!this.subContainer) {\n this.prevTransition = this.transition;\n }\n\n var loadingEvent = new Event(this.namespace + 'loading');\n window.dispatchEvent(loadingEvent);\n }\n }, {\n key: \"startEnterDelay\",\n value: function startEnterDelay() {\n var _this2 = this;\n\n this.enterTimeout = window.setTimeout(function () {\n _this2.isEntered = true;\n\n if (_this2.isLoaded) {\n _this2.transitionContainers();\n }\n }, this.enterDelay);\n }\n }, {\n key: \"loadHref\",\n value: function loadHref(href, container, push) {\n var _this3 = this;\n\n this.isLoading = true;\n var signal = this.controller.signal;\n fetch(href, {\n signal: signal\n }).then(function (response) {\n return response.text();\n }).then(function (data) {\n var parser = new DOMParser();\n _this3.data = parser.parseFromString(data, 'text/html');\n _this3.newContainer = _this3.data.querySelector(container);\n\n _this3.newContainer.classList.add('is-new');\n\n _this3.parentNewContainer = _this3.newContainer.parentNode;\n\n _this3.hideContainer();\n\n _this3.parentContainer.insertBefore(_this3.newContainer, _this3.oldContainer);\n\n _this3.isInserted = true;\n\n _this3.setSvgs();\n\n _this3.isLoaded = true;\n\n if (_this3.isEntered) {\n _this3.transitionContainers();\n }\n\n _this3.loadEls(_this3.newContainer);\n\n _this3.isLoading = false;\n }).catch(function (err) {\n console.log(err);\n });\n\n if (push) {\n history.pushState(this.transition, null, href);\n }\n }\n }, {\n key: \"transitionContainers\",\n value: function transitionContainers() {\n var _this4 = this;\n\n this.setAttributes();\n this.showContainer();\n this.setLoaded();\n setTimeout(function () {\n _this4.removeContainer();\n\n _this4.setReady();\n }, this.exitDelay);\n }\n }, {\n key: \"setSvgs\",\n value: function setSvgs() {\n if (this.isChrome) {\n var svgs = this.newContainer.querySelectorAll('use');\n\n if (svgs.length) {\n svgs.forEach(function (svg) {\n var xhref = svg.getAttribute('xlink:href');\n\n if (xhref) {\n svg.parentNode.innerHTML = '';\n } else {\n var href = svg.getAttribute('href');\n if (href) svg.parentNode.innerHTML = '';\n }\n });\n }\n }\n }\n }, {\n key: \"setAttributes\",\n value: function setAttributes() {\n var _this5 = this;\n\n var title = this.data.getElementsByTagName('title')[0];\n var newDesc = this.data.head.querySelector('meta[name=\"description\"]');\n var oldDesc = document.head.querySelector('meta[name=\"description\"]');\n var container;\n var newContainer;\n\n if (this.subContainer) {\n newContainer = this.parentNewContainer;\n container = document.querySelector(this.transitionContainer).parentNode;\n } else {\n newContainer = this.data.querySelector('html');\n container = document.querySelector('html');\n }\n\n var datas = Object.assign({}, newContainer.dataset);\n if (title) document.title = title.innerHTML;\n if (oldDesc && newDesc) oldDesc.setAttribute('content', newDesc.getAttribute('content'));\n\n if (datas) {\n Object.entries(datas).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n val = _ref2[1];\n\n container.setAttribute('data-' + _this5.toDash(key), val);\n });\n }\n }\n }, {\n key: \"toDash\",\n value: function toDash(str) {\n return str.split(/(?=[A-Z])/).join('-').toLowerCase();\n }\n }, {\n key: \"hideContainer\",\n value: function hideContainer() {\n this.newContainer.style.visibility = 'hidden';\n this.newContainer.style.height = 0;\n this.newContainer.style.overflow = 'hidden';\n }\n }, {\n key: \"showContainer\",\n value: function showContainer() {\n this.newContainer.style.visibility = '';\n this.newContainer.style.height = '';\n this.newContainer.style.overflow = '';\n }\n }, {\n key: \"loadEls\",\n value: function loadEls(container) {\n var _this6 = this;\n\n var promises = [];\n this.loadAttributes.forEach(function (attr) {\n var data = 'data-' + _this6.name + '-' + attr;\n var els = container.querySelectorAll('[' + data + ']');\n\n if (els.length) {\n els.forEach(function (el) {\n var elData = el.getAttribute(data);\n el.setAttribute(attr, elData);\n\n if (attr == 'src' || attr == 'srcset') {\n var promise = new Promise(function (resolve) {\n el.onload = function () {\n return resolve(el);\n };\n });\n promises.push(promise);\n }\n });\n }\n });\n Promise.all(promises).then(function (val) {\n var imagesEvent = new Event(_this6.namespace + 'images');\n window.dispatchEvent(imagesEvent);\n });\n }\n }, {\n key: \"setLoaded\",\n value: function setLoaded() {\n var _this7 = this;\n\n this.classContainer.classList.remove(this.loadingClass);\n setTimeout(function () {\n _this7.classContainer.classList.add(_this7.loadedClass);\n }, this.loadedDelay);\n var loadedEvent = new Event(this.namespace + 'loaded');\n window.dispatchEvent(loadedEvent);\n }\n }, {\n key: \"removeContainer\",\n value: function removeContainer() {\n this.parentContainer.removeChild(this.oldContainer);\n this.newContainer.classList.remove('is-new');\n this.isInserted = false;\n }\n }, {\n key: \"setReady\",\n value: function setReady() {\n this.classContainer.classList.add(this.readyClass);\n var readyEvent = new Event(this.namespace + 'ready');\n window.dispatchEvent(readyEvent);\n }\n }, {\n key: \"on\",\n value: function on(event, func) {\n var _this8 = this;\n\n window.addEventListener(this.namespace + event, function () {\n switch (event) {\n case 'loading':\n return func(_this8.transition, _this8.oldContainer);\n\n case 'loaded':\n return func(_this8.transition, _this8.oldContainer, _this8.newContainer);\n\n case 'ready':\n return func(_this8.transition, _this8.newContainer);\n\n default:\n return func();\n }\n }, false);\n }\n }]);\n\n return _default;\n}();\n\nexport default _default;\n","import { module } from 'modujs';\nimport modularLoad from 'modularload';\n\nexport default class extends module {\n constructor(m) {\n super(m);\n }\n\n init() {\n const load = new modularLoad({\n enterDelay: 0,\n transitions: {\n customTransition: {}\n }\n });\n\n load.on('loaded', (transition, oldContainer, newContainer) => {\n this.call('destroy', oldContainer, 'app');\n this.call('update', newContainer, 'app');\n });\n }\n}\n","const APP_NAME = 'Boilerplate';\nconst DATA_API_KEY = '.data-api';\n\nconst $document = $(document);\nconst $window = $(window);\nconst html = document.documentElement;\nconst $html = $(document.documentElement).removeClass('has-no-js').addClass('has-js');\nconst $body = $(document.body);\nconst $pjaxWrapper = $('#js-pjax-wrapper');\n\nconst isDebug = !!$html.data('debug');\n\nexport { APP_NAME, DATA_API_KEY, $document, $window, html, $html, $body, isDebug, $pjaxWrapper };\n","export default function(func, wait, immediate) {\n let timeout;\n return function() {\n const context = this;\n const args = arguments;\n const later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","const toString = Object.prototype.toString;\nconst arrayLikePattern = /^\\[object (?:Array|FileList)\\]$/;\n\n// thanks, http://perfectionkills.com/instanceof-considered-harmful-or-how-to-write-a-robust-isarray/\nexport function isArray ( thing ) {\n return toString.call( thing ) === '[object Array]';\n}\n\nexport function isArrayLike ( obj ) {\n return arrayLikePattern.test( toString.call( obj ) );\n}\n\nexport function isEqual ( a, b ) {\n if ( a === null && b === null ) {\n return true;\n }\n\n if ( typeof a === 'object' || typeof b === 'object' ) {\n return false;\n }\n\n return a === b;\n}\n\n// http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric\nexport function isNumeric ( thing ) {\n return !isNaN( parseFloat( thing ) ) && isFinite( thing );\n}\n\nexport function isObject ( thing ) {\n return ( thing && toString.call( thing ) === '[object Object]' );\n}\n\nexport function isFunction( thing ) {\n const getType = {};\n return thing && getType.toString.call(thing) === '[object Function]';\n}\n","// ==========================================================================\n// Locomotive Scroll\n// ==========================================================================\n/* jshint esnext: true */\nimport { $window, $document } from '../../utils/environment';\n\nimport debounce from '../../utils/debounce';\nimport { isNumeric } from '../../utils/is';\n\nexport const EVENT_KEY = `LocomotiveScroll`;\n\nexport const EVENT = {\n CLICK: `click.${EVENT_KEY}`,\n ISREADY: `isReady.${EVENT_KEY}`,\n REBUILD: `rebuild.${EVENT_KEY}`,\n RENDER: `render.${EVENT_KEY}`,\n RESIZE: `resize.${EVENT_KEY}`,\n SCROLL: `scroll.${EVENT_KEY}`,\n SCROLLTO: `scrollTo.${EVENT_KEY}`,\n UPDATE: `update.${EVENT_KEY}`,\n STOP: `stop.${EVENT_KEY}`,\n START: `start.${EVENT_KEY}`\n};\n\nexport const DEFAULTS = {\n container: $document,\n mobileContainer: $document,\n onScroll: function(){},\n selector: '.js-animate',\n smooth: false,\n smoothMobile: false,\n reversed: false,\n getDirection: false,\n getSpeed: false,\n scrollBarClassName: 'o-scrollbar',\n isScrollingClassName: 'is-scrolling'\n};\n\n/**\n * Manage animation of elements on the page according to scroll position.\n *\n * @todo Manage some options (normally from data attributes) with constructor options (ex.: set repeat for all)\n * @todo Method to get the distance (as percentage) of an element in the viewport\n */\nexport default class {\n constructor(options) {\n\n this.$container = (options.container) ? options.container : DEFAULTS.container;\n this.selector = (options.selector) ? options.selector : DEFAULTS.selector;\n\n this.callbacks = {\n onScroll: typeof options.onScroll === 'function' ? options.onScroll : DEFAULTS.onScroll\n };\n\n this.instance = {\n scroll: {\n x: 0,\n y: 0,\n direction: ''\n }\n }\n\n this.windowHeight = $window.height();\n this.windowMiddle = this.windowHeight / 2;\n\n this.animatedElements = [];\n\n this.requestId = undefined;\n }\n\n /**\n * Initialize scrolling animations\n */\n init() {\n\n this.addElements();\n\n this.render();\n\n // On scroll\n this.$container.on(EVENT.SCROLL, () => {\n this.render();\n });\n\n // Rebuild event\n this.$container.on(EVENT.REBUILD, () => {\n this.scrollTo({\n targetOffset: 0\n });\n this.update();\n });\n\n // Update event\n this.$container.on(EVENT.UPDATE, (event, options) => this.update(options));\n\n // Render event\n this.$container.on(EVENT.RENDER, () => this.render());\n\n // Scrollto button event\n this.$container.on(EVENT.CLICK, '.js-scrollto', (event) => {\n event.preventDefault();\n\n let $target = $(event.currentTarget);\n let offset = $target.data('offset');\n\n this.scrollTo({\n sourceElem: $target,\n offsetElem: offset\n });\n });\n this.$container.on(EVENT.SCROLLTO, (event) => this.scrollTo(event.options));\n\n // Setup done\n $document.triggerHandler({\n type: EVENT.ISREADY\n });\n\n // Resize event\n $window.on(EVENT.RESIZE, debounce(() => {\n this.update()\n }, 20));\n }\n\n /**\n * Find all animatable elements.\n * Called on page load and any subsequent updates.\n */\n addElements() {\n this.animatedElements = [];\n\n const $elements = $(this.selector);\n const len = $elements.length;\n let i = 0;\n\n for (; i < len; i ++) {\n let $element = $elements.eq(i);\n let elementTarget = $element.attr('data-target');\n let elementPosition = $element.attr('data-position');\n let $target = (elementTarget && $(elementTarget).length) ? $(elementTarget) : $element;\n let elementOffset = $target.offset().top;\n let elementLimit = elementOffset + $target.outerHeight();\n let elementSticky = (typeof $element.attr('data-sticky') === 'string');\n let elementStickyTarget = $element.attr('data-sticky-target');\n\n let elementViewportOffset = null;\n if(typeof $element.attr('data-viewport-offset') === 'string') {\n elementViewportOffset = $element.attr('data-viewport-offset').split(',');\n }\n //Manage callback\n let elementCallbackString = (typeof $element.attr('data-callback') === 'string') ? $element.attr('data-callback') : null;\n let elementCallback = null;\n\n if(elementCallbackString != null){\n let event = elementCallbackString.substr(0, elementCallbackString.indexOf('('));\n let optionsString = elementCallbackString.substr(elementCallbackString.indexOf('('),elementCallbackString.length - event.length);\n\n optionsString = optionsString.replace('(','');\n optionsString = optionsString.replace(')','');\n\n let options = optionsString.split('|');\n\n let obj = {};\n\n for (var j = 0; j < options.length; j++) {\n\n let option = options[j].split(':');\n option[0] = option[0].replace(' ','');\n\n let val;\n //check if value is a boolean\n if(option[1] === \"true\") {\n val = true;\n }\n else if(option[1] === \"false\") {\n val = false;\n }\n //check if value is numeric\n else if(/^\\d+$/.test(option[1])) {\n val = parseInt(option[1]);\n }\n //check if value is a String\n else {\n val = option[1];\n }\n obj[option[0]] = val;\n }\n\n elementCallback = {event:event, options:obj};\n }\n\n // If elements loses its animation after scrolling past it\n let elementRepeat = (typeof $element.attr('data-repeat') === 'string');\n\n let elementInViewClass = $element.attr('data-inview-class');\n if (typeof elementInViewClass === 'undefined') {\n elementInViewClass = 'is-show';\n }\n\n if (elementSticky) {\n if (typeof elementStickyTarget === 'undefined') {\n elementLimit = this.$container.height();\n } else {\n elementLimit = $(elementStickyTarget).offset().top - $element.height();\n }\n\n // Reset offset\n $element.removeClass(elementInViewClass);\n $element.removeClass('is-unstuck');\n\n $element.css({\n '-webkit-transform': 'translate3d(0, 0, 0)',\n '-ms-transform': 'translate3d(0, 0, 0)',\n 'transform': 'translate3d(0, 0, 0)'\n });\n }\n\n // Don't add element if it already has its inview class and doesn't repeat\n if (elementRepeat || !$element.hasClass(elementInViewClass)) {\n this.animatedElements[i] = {\n $element: $element,\n offset: Math.round(elementOffset),\n repeat: elementRepeat,\n position: elementPosition,\n limit: elementLimit,\n inViewClass: elementInViewClass,\n sticky: elementSticky,\n callback: elementCallback,\n viewportOffset: elementViewportOffset\n }\n }\n };\n }\n\n /**\n * Loop through all animatable elements and apply animation method(s).\n */\n animateElements() {\n const len = this.animatedElements.length;\n const removeIndexes = [];\n let i = 0;\n for (; i < len; i++) {\n let element = this.animatedElements[i];\n\n // If the element's visibility must not be manipulated any further, remove it from the list\n if (this.toggleElement(element, i)) {\n removeIndexes.push(i);\n }\n }\n\n // Remove animated elements after looping through elements\n i = removeIndexes.length;\n while (i--) {\n this.animatedElements.splice(removeIndexes[i], 1);\n }\n }\n\n /**\n * Render the class animations, and update the global scroll positionning.\n */\n render() {\n // if (window.pageYOffset > this.instance.scroll.y) {\n // if (this.instance.scroll.direction !== 'down') {\n // this.instance.scroll.direction = 'down';\n // }\n // } else if (window.pageYOffset < this.instance.scroll.y) {\n // if (this.instance.scroll.direction !== 'up') {\n // this.instance.scroll.direction = 'up';\n // }\n // }\n\n if (this.instance.scroll.y !== window.pageYOffset) {\n this.instance.scroll.y = window.pageYOffset;\n }\n if (this.instance.scroll.x !== window.pageXOffset) {\n this.instance.scroll.x = window.pageXOffset;\n }\n\n this.callbacks.onScroll(this.scroll)\n\n this.animateElements();\n }\n\n /**\n * Toggle classes on an element if it's visible.\n *\n * @param {object} element Current element to test\n * @param {int} index Index of the element within it's container\n * @return {boolean} Wether the item must be removed from its container\n */\n toggleElement(element, index) {\n let removeFromContainer = false;\n\n if (typeof element !== 'undefined') {\n // Find the bottom edge of the scroll container\n const scrollTop = this.instance.scroll.y;\n const scrollBottom = scrollTop + this.windowHeight;\n\n // Define if the element is inView\n let inView = false;\n\n if (element.position === 'top') {\n inView = (scrollTop >= element.offset && scrollTop <= element.limit);\n } else if (element.position === 'below') {\n inView = (scrollTop > element.limit);\n } else if (element.sticky) {\n inView = (scrollTop >= element.offset && scrollTop <= element.limit);\n }else if(element.viewportOffset != undefined) {\n if(element.viewportOffset.length > 1) {\n let scrollViewportOffsetTop = scrollTop + (this.windowHeight * element.viewportOffset[1]);\n let scrollViewportOffsetBottom = scrollBottom - (this.windowHeight * element.viewportOffset[0]);\n inView = (scrollViewportOffsetBottom > element.offset && scrollViewportOffsetTop < element.limit);\n\n } else {\n let scrollViewportOffset = scrollBottom - (this.windowHeight * element.viewportOffset[0]);\n inView = (scrollViewportOffset > element.offset && scrollViewportOffset < element.limit);\n }\n }else {\n inView = (scrollBottom >= element.offset && scrollTop <= element.limit);\n }\n\n if (element.sticky) {\n if (scrollTop > element.limit) {\n element.$element.addClass('is-unstuck');\n } else {\n element.$element.removeClass('is-unstuck');\n }\n\n if (scrollTop < element.offset) {\n element.$element.removeClass(element.inViewClass);\n }\n }\n\n // Add class if inView, remove if not\n if (inView) {\n if(!element.$element.hasClass(element.inViewClass)){\n element.$element.addClass(element.inViewClass);\n this.triggerCallback(element,'enter');\n }\n\n if (!element.repeat && !element.sticky) {\n removeFromContainer = true;\n }\n\n if (element.sticky) {\n let y = this.instance.scroll.y - element.offset;\n\n element.$element.css({\n '-webkit-transform': `translate3d(0, ${y}px, 0)`,\n '-ms-transform': `translate3d(0, ${y}px, 0)`,\n 'transform': `translate3d(0, ${y}px, 0)`\n });\n }\n } else {\n if (element.repeat) {\n if(element.$element.hasClass(element.inViewClass)){\n element.$element.removeClass(element.inViewClass);\n this.triggerCallback(element,'leave');\n }\n }\n }\n }\n\n return removeFromContainer;\n }\n\n /**\n * check if the element have a callback, and trigger the event set in the data-callback\n *\n * @param {object} element Current element to test\n * @return void\n */\n triggerCallback(element,way){\n\n if(element.callback != undefined){\n element.$element.trigger({\n type: element.callback.event,\n options: element.callback.options,\n way: way\n });\n //add this where you want dude (in your module btw)\n // $document.on(event.Namespace,(e)=>{\n // console.log(e.options, e.way);\n // });\n /////////////////////////////////////////////\n }\n }\n\n /**\n * Scroll to a desired target.\n *\n * @param {object} options\n * @return {void}\n */\n scrollTo(options) {\n const $targetElem = options.targetElem;\n const $sourceElem = options.sourceElem;\n const offsetElem = options.offsetElem;\n let targetOffset = isNumeric(options.targetOffset) ? parseInt(options.targetOffset) : 0;\n const speed = isNumeric(options.speed) ? parseInt(options.speed) : 800;\n const delay = isNumeric(options.delay) ? parseInt(options.delay) : 0;\n const toTop = options.toTop;\n const toBottom = options.toBottom;\n let offset = 0;\n\n if (typeof $targetElem === 'undefined' && typeof $sourceElem === 'undefined' && typeof targetOffset === 'undefined') {\n console.warn('You must specify at least one parameter.')\n return false;\n }\n\n if (typeof $targetElem !== 'undefined' && $targetElem instanceof jQuery && $targetElem.length > 0) {\n targetOffset = $targetElem.offset().top + targetOffset;\n }\n\n if (typeof $sourceElem !== 'undefined' && $sourceElem instanceof jQuery && $sourceElem.length > 0) {\n let targetData = '';\n\n if ($sourceElem.attr('data-target')) {\n targetData = $sourceElem.attr('data-target');\n } else {\n targetData = $sourceElem.attr('href');\n }\n\n targetOffset = $(targetData).offset().top + targetOffset;\n }\n\n if (typeof offsetElem !== 'undefined') {\n offset = $(offsetElem).outerHeight();\n targetOffset = targetOffset - offset;\n }\n\n if (toTop === true) {\n targetOffset = 0;\n } else if (toBottom === true) {\n targetOffset = $document.height();\n }\n\n setTimeout(() => {\n $('html, body').animate({\n scrollTop: targetOffset\n }, speed);\n }, delay);\n }\n\n /**\n * Update elements and recalculate all the positions on the page\n */\n update() {\n this.addElements();\n this.animateElements();\n\n this.windowHeight = $window.height();\n this.windowMiddle = this.windowHeight / 2;\n }\n\n /**\n * Destroy\n */\n destroy() {\n $window.off(`.${EVENT_KEY}`);\n this.$container.off(`.${EVENT_KEY}`);\n window.cancelAnimationFrame(this.requestId);\n this.requestId = undefined;\n this.animatedElements = undefined;\n }\n}\n","// ==========================================================================\n// Extended Locomotive Scroll\n// ==========================================================================\n/* jshint esnext: true */\nimport Scroll, { EVENT_KEY as VENDOR_EVENT_KEY, EVENT as VENDOR_EVENTS, DEFAULTS as VENDOR_DEFAULTS } from './vendors/Scroll'\n\n/**\n * UNCOMMENT ONLY THE LINES YOU NEED\n */\n// import { $window, $document } from '../../utils/environment';\n// import debounce from '../../utils/debounce';\n// import { isNumeric } from '../../utils/is';\n\nexport const EVENT_KEY = VENDOR_EVENT_KEY;\n\nexport const EVENT = Object.assign(VENDOR_EVENTS, {\n // TEST: `test.${EVENT_KEY}`\n});\n\nexport const DEFAULTS = Object.assign(VENDOR_DEFAULTS, { });\n\nexport default class extends Scroll {\n constructor(options) {\n super(options)\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n","// Generated by CoffeeScript 1.9.2\n(function() {\n var root;\n\n root = typeof exports !== \"undefined\" && exports !== null ? exports : this;\n\n root.Lethargy = (function() {\n function Lethargy(stability, sensitivity, tolerance, delay) {\n this.stability = stability != null ? Math.abs(stability) : 8;\n this.sensitivity = sensitivity != null ? 1 + Math.abs(sensitivity) : 100;\n this.tolerance = tolerance != null ? 1 + Math.abs(tolerance) : 1.1;\n this.delay = delay != null ? delay : 150;\n this.lastUpDeltas = (function() {\n var i, ref, results;\n results = [];\n for (i = 1, ref = this.stability * 2; 1 <= ref ? i <= ref : i >= ref; 1 <= ref ? i++ : i--) {\n results.push(null);\n }\n return results;\n }).call(this);\n this.lastDownDeltas = (function() {\n var i, ref, results;\n results = [];\n for (i = 1, ref = this.stability * 2; 1 <= ref ? i <= ref : i >= ref; 1 <= ref ? i++ : i--) {\n results.push(null);\n }\n return results;\n }).call(this);\n this.deltasTimestamp = (function() {\n var i, ref, results;\n results = [];\n for (i = 1, ref = this.stability * 2; 1 <= ref ? i <= ref : i >= ref; 1 <= ref ? i++ : i--) {\n results.push(null);\n }\n return results;\n }).call(this);\n }\n\n Lethargy.prototype.check = function(e) {\n var lastDelta;\n e = e.originalEvent || e;\n if (e.wheelDelta != null) {\n lastDelta = e.wheelDelta;\n } else if (e.deltaY != null) {\n lastDelta = e.deltaY * -40;\n } else if ((e.detail != null) || e.detail === 0) {\n lastDelta = e.detail * -40;\n }\n this.deltasTimestamp.push(Date.now());\n this.deltasTimestamp.shift();\n if (lastDelta > 0) {\n this.lastUpDeltas.push(lastDelta);\n this.lastUpDeltas.shift();\n return this.isInertia(1);\n } else {\n this.lastDownDeltas.push(lastDelta);\n this.lastDownDeltas.shift();\n return this.isInertia(-1);\n }\n return false;\n };\n\n Lethargy.prototype.isInertia = function(direction) {\n var lastDeltas, lastDeltasNew, lastDeltasOld, newAverage, newSum, oldAverage, oldSum;\n lastDeltas = direction === -1 ? this.lastDownDeltas : this.lastUpDeltas;\n if (lastDeltas[0] === null) {\n return direction;\n }\n if (this.deltasTimestamp[(this.stability * 2) - 2] + this.delay > Date.now() && lastDeltas[0] === lastDeltas[(this.stability * 2) - 1]) {\n return false;\n }\n lastDeltasOld = lastDeltas.slice(0, this.stability);\n lastDeltasNew = lastDeltas.slice(this.stability, this.stability * 2);\n oldSum = lastDeltasOld.reduce(function(t, s) {\n return t + s;\n });\n newSum = lastDeltasNew.reduce(function(t, s) {\n return t + s;\n });\n oldAverage = oldSum / lastDeltasOld.length;\n newAverage = newSum / lastDeltasNew.length;\n if (Math.abs(oldAverage) < Math.abs(newAverage * this.tolerance) && (this.sensitivity < Math.abs(newAverage))) {\n return direction;\n } else {\n return false;\n }\n };\n\n Lethargy.prototype.showLastUpDeltas = function() {\n return this.lastUpDeltas;\n };\n\n Lethargy.prototype.showLastDownDeltas = function() {\n return this.lastDownDeltas;\n };\n\n return Lethargy;\n\n })();\n\n}).call(this);\n","'use strict';\n\nmodule.exports = (function getSupport() {\n return {\n hasWheelEvent: 'onwheel' in document,\n hasMouseWheelEvent: 'onmousewheel' in document,\n hasTouch: 'ontouchstart' in document,\n hasTouchWin: navigator.msMaxTouchPoints && navigator.msMaxTouchPoints > 1,\n hasPointer: !!window.navigator.msPointerEnabled,\n hasKeyDown: 'onkeydown' in document,\n isFirefox: navigator.userAgent.indexOf('Firefox') > -1\n };\n})();\n","'use strict';\n\nvar toString = Object.prototype.toString,\n hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = function(object) {\n if(!object) return console.warn('bindAll requires at least one argument.');\n\n var functions = Array.prototype.slice.call(arguments, 1);\n\n if (functions.length === 0) {\n\n for (var method in object) {\n if(hasOwnProperty.call(object, method)) {\n if(typeof object[method] == 'function' && toString.call(object[method]) == \"[object Function]\") {\n functions.push(method);\n }\n }\n }\n }\n\n for(var i = 0; i < functions.length; i++) {\n var f = functions[i];\n object[f] = bind(object[f], object);\n }\n};\n\n/*\n Faster bind without specific-case checking. (see https://coderwall.com/p/oi3j3w).\n bindAll is only needed for events binding so no need to make slow fixes for constructor\n or partial application.\n*/\nfunction bind(func, context) {\n return function() {\n return func.apply(context, arguments);\n };\n}","'use strict';\n\nvar objectAssign = require('object-assign');\nvar Emitter = require('tiny-emitter');\nvar Lethargy = require('lethargy').Lethargy;\nvar support = require('./support');\nvar clone = require('./clone');\nvar bindAll = require('bindall-standalone');\nvar EVT_ID = 'virtualscroll';\n\nmodule.exports = VirtualScroll;\n\nvar keyCodes = {\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SPACE: 32\n};\n\nfunction VirtualScroll(options) {\n bindAll(this, '_onWheel', '_onMouseWheel', '_onTouchStart', '_onTouchMove', '_onKeyDown');\n\n this.el = window;\n if (options && options.el) {\n this.el = options.el;\n delete options.el;\n }\n this.options = objectAssign({\n mouseMultiplier: 1,\n touchMultiplier: 2,\n firefoxMultiplier: 15,\n keyStep: 120,\n preventTouch: false,\n unpreventTouchClass: 'vs-touchmove-allowed',\n limitInertia: false,\n useKeyboard: true\n }, options);\n\n if (this.options.limitInertia) this._lethargy = new Lethargy();\n\n this._emitter = new Emitter();\n this._event = {\n y: 0,\n x: 0,\n deltaX: 0,\n deltaY: 0\n };\n this.touchStartX = null;\n this.touchStartY = null;\n this.bodyTouchAction = null;\n\n if (this.options.passive !== undefined) {\n this.listenerOptions = {passive: this.options.passive};\n }\n}\n\nVirtualScroll.prototype._notify = function(e) {\n var evt = this._event;\n evt.x += evt.deltaX;\n evt.y += evt.deltaY;\n\n this._emitter.emit(EVT_ID, {\n x: evt.x,\n y: evt.y,\n deltaX: evt.deltaX,\n deltaY: evt.deltaY,\n originalEvent: e\n });\n};\n\nVirtualScroll.prototype._onWheel = function(e) {\n var options = this.options;\n if (this._lethargy && this._lethargy.check(e) === false) return;\n var evt = this._event;\n\n // In Chrome and in Firefox (at least the new one)\n evt.deltaX = e.wheelDeltaX || e.deltaX * -1;\n evt.deltaY = e.wheelDeltaY || e.deltaY * -1;\n\n // for our purpose deltamode = 1 means user is on a wheel mouse, not touch pad\n // real meaning: https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent#Delta_modes\n if(support.isFirefox && e.deltaMode == 1) {\n evt.deltaX *= options.firefoxMultiplier;\n evt.deltaY *= options.firefoxMultiplier;\n }\n\n evt.deltaX *= options.mouseMultiplier;\n evt.deltaY *= options.mouseMultiplier;\n\n this._notify(e);\n};\n\nVirtualScroll.prototype._onMouseWheel = function(e) {\n if (this.options.limitInertia && this._lethargy.check(e) === false) return;\n\n var evt = this._event;\n\n // In Safari, IE and in Chrome if 'wheel' isn't defined\n evt.deltaX = (e.wheelDeltaX) ? e.wheelDeltaX : 0;\n evt.deltaY = (e.wheelDeltaY) ? e.wheelDeltaY : e.wheelDelta;\n\n this._notify(e);\n};\n\nVirtualScroll.prototype._onTouchStart = function(e) {\n var t = (e.targetTouches) ? e.targetTouches[0] : e;\n this.touchStartX = t.pageX;\n this.touchStartY = t.pageY;\n};\n\nVirtualScroll.prototype._onTouchMove = function(e) {\n var options = this.options;\n if(options.preventTouch\n && !e.target.classList.contains(options.unpreventTouchClass)) {\n e.preventDefault();\n }\n\n var evt = this._event;\n\n var t = (e.targetTouches) ? e.targetTouches[0] : e;\n\n evt.deltaX = (t.pageX - this.touchStartX) * options.touchMultiplier;\n evt.deltaY = (t.pageY - this.touchStartY) * options.touchMultiplier;\n\n this.touchStartX = t.pageX;\n this.touchStartY = t.pageY;\n\n this._notify(e);\n};\n\nVirtualScroll.prototype._onKeyDown = function(e) {\n var evt = this._event;\n evt.deltaX = evt.deltaY = 0;\n var windowHeight = window.innerHeight - 40\n\n switch(e.keyCode) {\n case keyCodes.LEFT:\n case keyCodes.UP:\n evt.deltaY = this.options.keyStep;\n break;\n\n case keyCodes.RIGHT:\n case keyCodes.DOWN:\n evt.deltaY = - this.options.keyStep;\n break;\n case keyCodes.SPACE && e.shiftKey:\n evt.deltaY = windowHeight;\n break;\n case keyCodes.SPACE:\n evt.deltaY = - windowHeight;\n break;\n default:\n return;\n }\n\n this._notify(e);\n};\n\nVirtualScroll.prototype._bind = function() {\n if(support.hasWheelEvent) this.el.addEventListener('wheel', this._onWheel, this.listenerOptions);\n if(support.hasMouseWheelEvent) this.el.addEventListener('mousewheel', this._onMouseWheel, this.listenerOptions);\n\n if(support.hasTouch) {\n this.el.addEventListener('touchstart', this._onTouchStart, this.listenerOptions);\n this.el.addEventListener('touchmove', this._onTouchMove, this.listenerOptions);\n }\n\n if(support.hasPointer && support.hasTouchWin) {\n this.bodyTouchAction = document.body.style.msTouchAction;\n document.body.style.msTouchAction = 'none';\n this.el.addEventListener('MSPointerDown', this._onTouchStart, true);\n this.el.addEventListener('MSPointerMove', this._onTouchMove, true);\n }\n\n if(support.hasKeyDown && this.options.useKeyboard) document.addEventListener('keydown', this._onKeyDown);\n};\n\nVirtualScroll.prototype._unbind = function() {\n if(support.hasWheelEvent) this.el.removeEventListener('wheel', this._onWheel);\n if(support.hasMouseWheelEvent) this.el.removeEventListener('mousewheel', this._onMouseWheel);\n\n if(support.hasTouch) {\n this.el.removeEventListener('touchstart', this._onTouchStart);\n this.el.removeEventListener('touchmove', this._onTouchMove);\n }\n\n if(support.hasPointer && support.hasTouchWin) {\n document.body.style.msTouchAction = this.bodyTouchAction;\n this.el.removeEventListener('MSPointerDown', this._onTouchStart, true);\n this.el.removeEventListener('MSPointerMove', this._onTouchMove, true);\n }\n\n if(support.hasKeyDown && this.options.useKeyboard) document.removeEventListener('keydown', this._onKeyDown);\n};\n\nVirtualScroll.prototype.on = function(cb, ctx) {\n this._emitter.on(EVT_ID, cb, ctx);\n\n var events = this._emitter.e;\n if (events && events[EVT_ID] && events[EVT_ID].length === 1) this._bind();\n};\n\nVirtualScroll.prototype.off = function(cb, ctx) {\n this._emitter.off(EVT_ID, cb, ctx);\n\n var events = this._emitter.e;\n if (!events[EVT_ID] || events[EVT_ID].length <= 0) this._unbind();\n};\n\nVirtualScroll.prototype.reset = function() {\n var evt = this._event;\n evt.x = 0;\n evt.y = 0;\n};\n\nVirtualScroll.prototype.destroy = function() {\n this._emitter.off();\n this._unbind();\n};\n","// ==========================================================================\n// Locomotive Smooth Scroll\n// ==========================================================================\n/* jshint esnext: true */\nimport { $window, $document, $html, html } from '../../utils/environment';\nimport Scroll, { DEFAULTS, EVENT } from '../Scroll';\n\nimport debounce from '../../utils/debounce';\nimport VirtualScroll from 'virtual-scroll';\nimport { isNumeric } from '../../utils/is';\n\n/**\n * Smooth scrolling using `smooth-scrollbar`.\n * Based on `Scroll` class, which allows animations of elements on the page\n * according to scroll position.\n *\n */\nexport default class extends Scroll {\n constructor(options) {\n super(options);\n\n this.isReversed = options.reversed || DEFAULTS.reversed;\n this.getDirection = options.getDirection || DEFAULTS.getDirection;\n this.getSpeed = options.getSpeed || DEFAULTS.getSpeed;\n this.inertia = options.inertia || DEFAULTS.inertia;\n this.scrollBarClassName = options.scrollBarClassName || DEFAULTS.scrollBarClassName;\n this.isScrollingClassName = options.isScrollingClassName || DEFAULTS.isScrollingClassName;\n\n this.parallaxElements = [];\n this.isDraggingScrollBar = false;\n this.isTicking = false;\n this.hasScrollTicking = false;\n this.isScrolling = false;\n }\n\n /**\n * Initialize scrolling animations\n */\n init() {\n // Add class to the document to know if SmoothScroll is initialized (to manage overflow on containers)\n $html.addClass('has-smooth-scroll');\n\n this.instance = new VirtualScroll({\n mouseMultiplier: (navigator.platform.indexOf('Win') > -1) ? 1 : 0.4,\n touchMultiplier: 4,\n firefoxMultiplier: 30\n });\n\n this.inertia = this.inertia * 0.1;\n\n this.instance.scroll = {\n x: 0,\n y: 0,\n direction: null\n }\n\n this.instance.delta = {\n x: 0,\n y: 0\n }\n\n if(this.getSpeed) {\n this.instance.scroll.speed = 0;\n }\n\n // @todo : to optimize\n this.instance.on((e) => {\n if (this.stop) {\n return;\n }\n\n if (!this.isTicking && !this.isDraggingScrollBar) {\n requestAnimationFrame(() => {\n if (!this.isScrolling) {\n this.isScrolling = true;\n this.checkScroll();\n html.classList.add(this.isScrollingClassName);\n }\n\n this.instance.delta.y -= e.deltaY;\n\n if(this.instance.delta.y < 0) this.instance.delta.y = 0;\n if(this.instance.delta.y > this.instance.limit) this.instance.delta.y = this.instance.limit;\n });\n this.isTicking = true;\n }\n this.isTicking = false;\n });\n\n this.setScrollLimit();\n this.initScrollBar();\n\n this.addElements();\n\n this.events();\n\n this.preloadImages();\n\n this.timestamp = Date.now();\n this.render();\n\n }\n\n /**\n * Listen/trigger events\n **/\n events() {\n // Rebuild event\n this.$container.on(EVENT.REBUILD, () => {\n this.update();\n });\n\n // Update event\n this.$container.on(EVENT.UPDATE, (event, options) => this.update(options));\n\n // Scrollto button event\n this.$container.on(EVENT.CLICK, '.js-scrollto', (event) => {\n event.preventDefault();\n\n let $target = $(event.currentTarget);\n let offset = $target.data('offset');\n\n this.scrollTo({\n sourceElem: $target,\n offsetElem: offset\n });\n });\n\n this.$container.on(EVENT.SCROLLTO, (event) => this.scrollTo(event.options));\n\n // Setup done\n $document.triggerHandler({\n type: EVENT.ISREADY\n });\n\n // Resize event\n $window.on(EVENT.RESIZE,() => {\n this.update()\n });\n\n // Stop event\n this.$container.on(EVENT.STOP, () => {\n this.stop = true;\n });\n\n // Start event\n this.$container.on(EVENT.START, () => {\n this.stop = false;\n });\n }\n\n initScrollBar() {\n this.scrollbarWrapper = document.createElement('span');\n this.scrollbar = document.createElement('span');\n this.scrollbarWrapper.classList.add(`${this.scrollBarClassName}_wrapper`);\n this.scrollbar.classList.add(`${this.scrollBarClassName}`);\n\n this.scrollbarWrapper.append(this.scrollbar);\n document.body.append(this.scrollbarWrapper);\n this.scrollbar.style.height = `${(window.innerHeight * window.innerHeight) / this.instance.limit}px`;\n this.scrollBarLimit = window.innerHeight - this.scrollbar.getBoundingClientRect().height;\n\n this.scrollbar.addEventListener('mousedown',(e) => this.getScrollBar(e));\n window.addEventListener('mouseup',(e) => this.releaseScrollBar(e));\n window.addEventListener('mousemove',(e) => this.moveScrollBar(e));\n\n }\n\n reinitScrollBar() {\n this.scrollbar.style.height = `${(window.innerHeight * window.innerHeight) / this.instance.limit}px`;\n this.scrollBarLimit = window.innerHeight - this.scrollbar.getBoundingClientRect().height;\n\n }\n\n destroyScrollBar() {\n this.scrollbar.removeEventListener('mousedown',(e) => this.getScrollBar(e));\n window.removeEventListener('mouseup',(e) => this.releaseScrollBar(e));\n window.removeEventListener('mousemove',(e) => this.moveScrollBar(e));\n }\n\n getScrollBar(e) {\n this.isDraggingScrollBar = true;\n this.checkScroll();\n html.classList.add(this.isScrollingClassName);\n }\n\n releaseScrollBar(e) {\n this.isDraggingScrollBar = false;\n html.classList.remove(this.isScrollingClassName);\n }\n\n moveScrollBar(e) {\n if (!this.isTicking && this.isDraggingScrollBar) {\n requestAnimationFrame(() => {\n let y = (e.pageY * 100 / (window.innerHeight)) * this.instance.limit / 100;\n\n if(y > 0 && y < this.instance.limit) {\n this.instance.delta.y = y;\n }\n });\n this.isTicking = true;\n }\n this.isTicking = false;\n }\n\n /**\n * Reset existing elements and find all animatable elements.\n * Called on page load and any subsequent updates.\n */\n addElements() {\n this.animatedElements = [];\n this.parallaxElements = [];\n\n const $elements = $(this.selector);\n const len = $elements.length;\n let i = 0;\n\n for (; i < len; i ++) {\n let $element = $elements.eq(i);\n let elementSpeed = $element.attr('data-speed') ? $element.attr('data-speed') / 10 : false;\n let elementPosition = $element.attr('data-position');\n let elementTarget = $element.attr('data-target');\n let elementHorizontal = (typeof $element.attr('data-horizontal') === 'string');\n let elementSticky = (typeof $element.attr('data-sticky') === 'string');\n let elementStickyTarget = $element.attr('data-sticky-target');\n let $target = (elementTarget && $(elementTarget).length) ? $(elementTarget) : $element;\n let elementOffset = $target.offset().top + this.instance.scroll.y;\n let elementLimit = elementOffset + $target.outerHeight();\n\n\n let elementViewportOffset = null;\n if(typeof $element.attr('data-viewport-offset') === 'string') {\n elementViewportOffset = $element.attr('data-viewport-offset').split(',');\n }\n\n //Manage callback\n let elementCallbackString = (typeof $element.attr('data-callback') === 'string') ? $element.attr('data-callback') : null;\n let elementCallback = null;\n\n if(elementCallbackString != null){\n let event = elementCallbackString.substr(0, elementCallbackString.indexOf('('));\n let optionsString = elementCallbackString.substr(elementCallbackString.indexOf('('),elementCallbackString.length - event.length);\n\n optionsString = optionsString.replace('(','');\n optionsString = optionsString.replace(')','');\n\n let options = optionsString.split('|');\n\n let obj = {};\n\n for (var j = 0; j < options.length; j++) {\n\n let option = options[j].split(':');\n option[0] = option[0].replace(' ','');\n\n let val;\n //check if value is a boolean\n if(option[1] === \"true\") {\n val = true;\n }\n else if(option[1] === \"false\") {\n val = false;\n }\n //check if value is numeric\n else if(/^\\d+$/.test(option[1])) {\n val = parseInt(option[1]);\n }\n //check if value is a String\n else {\n val = option[1];\n }\n obj[option[0]] = val;\n }\n\n elementCallback = {event:event, options:obj};\n }\n\n // If elements stays visible after scrolling past it\n let elementRepeat = (typeof $element.attr('data-repeat') === 'string');\n\n let elementInViewClass = $element.attr('data-inview-class');\n if (typeof elementInViewClass === 'undefined') {\n elementInViewClass = 'is-show';\n }\n\n if (!elementTarget && $element.attr('data-transform')) {\n elementOffset -= parseFloat($element.attr('data-transform').y);\n elementLimit = elementOffset + $target.outerHeight();\n }\n\n if (elementSticky) {\n if (typeof elementStickyTarget === 'undefined') {\n elementLimit = Infinity;\n } else {\n elementLimit = $(elementStickyTarget).offset().top - $element.height() + this.instance.scroll.y;\n }\n }\n\n const newElement = {\n $element: $element,\n inViewClass: elementInViewClass,\n limit: elementLimit,\n offset: Math.round(elementOffset),\n repeat: elementRepeat,\n callback: elementCallback,\n viewportOffset: elementViewportOffset\n };\n\n // For parallax animated elements\n if (elementSpeed !== false) {\n let elementPosition = $element.attr('data-position');\n let elementHorizontal = (typeof $element.attr('data-horizontal') === 'string');\n let elementMiddle = ((elementLimit - elementOffset) / 2) + elementOffset;\n let elementDelay = $element.attr('data-delay');\n\n newElement.horizontal = elementHorizontal;\n newElement.middle = elementMiddle;\n newElement.offset = elementOffset;\n newElement.position = elementPosition;\n newElement.speed = elementSpeed\n newElement.delay = elementDelay;\n\n this.parallaxElements.push(newElement);\n\n } else {\n newElement.sticky = elementSticky;\n\n this.animatedElements.push(newElement);\n\n if (elementSticky) {\n //launch the toggle function to set the position of the sticky element\n this.toggleElement(newElement);\n }\n }\n };\n }\n\n checkScroll() {\n if (this.isScrolling || this.isDraggingScrollBar) {\n if (!this.hasScrollTicking) {\n requestAnimationFrame(() => this.checkScroll());\n this.hasScrollTicking = true;\n }\n\n const distance = (Math.abs(this.instance.delta.y - this.instance.scroll.y));\n if ((distance < 1 && this.instance.delta.y != 0) || (distance < 0.5 && this.instance.delta.y == 0)) {\n this.isScrolling = false;\n this.instance.scroll.y = Math.round(this.instance.scroll.y);\n html.classList.remove(this.isScrollingClassName);\n }\n\n this.render();\n }\n }\n\n /**\n * Render the class/transform animations, and update the global scroll positionning.\n *\n * @param {boolean} isFirstCall Determines if this is the first occurence of method being called\n * @param {object} status Optional status object received when method is\n * called by smooth-scrollbar instance listener.\n * @return {void}\n */\n render(isFirstCall, e) {\n if(this.isScrolling) {\n this.instance.scroll.y = this.lerp(this.instance.scroll.y,this.instance.delta.y, this.inertia);\n } else if(this.isDraggingScrollBar) {\n this.instance.scroll.y = this.lerp(this.instance.scroll.y,this.instance.delta.y, 0.2);\n }\n\n // need to move the container\n this.$container.css({\n '-webkit-transform': `translate3d(0, ${-this.instance.scroll.y}px, 0)`,\n '-ms-transform': `translate3d(0, ${-this.instance.scroll.y}px, 0)`,\n 'transform': `translate3d(0, ${-this.instance.scroll.y}px, 0)`\n });\n\n if(this.getDirection){\n if (this.instance.delta.y > this.instance.scroll.y) {\n if (this.instance.scroll.direction !== 'down') {\n this.instance.scroll.direction = 'down';\n }\n } else if (this.instance.delta.y < this.instance.scroll.y) {\n if (this.instance.scroll.direction !== 'up') {\n this.instance.scroll.direction = 'up';\n }\n }\n }\n\n if(this.getSpeed) {\n\n if (this.instance.delta.y !== this.instance.scroll.y) {\n this.instance.scroll.speed = (this.instance.delta.y - this.instance.scroll.y) / (Date.now() - this.timestamp);\n this.instance.delta.y = this.instance.delta.y;\n }else {\n this.instance.scroll.speed = 0;\n }\n }\n\n this.transformElements(isFirstCall);\n this.animateElements();\n\n this.callbacks.onScroll(this.instance)\n this.timestamp = Date.now();\n\n // scrollbar translation\n let scrollBarTranslation = (this.instance.scroll.y / this.instance.limit) * this.scrollBarLimit\n this.scrollbar.style.transform = `translate3d(0,${scrollBarTranslation}px,0)`\n\n this.hasScrollTicking = false;\n }\n\n lerp (start, end, amt){\n return (1-amt)*start+amt*end\n }\n\n /**\n * Scroll to a desired target.\n *\n * @param {object} options\n * @return {void}\n */\n scrollTo(options) {\n const $targetElem = options.targetElem;\n const $sourceElem = options.sourceElem;\n const offsetElem = options.offsetElem;\n let targetOffset = isNumeric(options.targetOffset) ? parseInt(options.targetOffset) : 0;\n const delay = isNumeric(options.delay) ? parseInt(options.delay) : 0;\n const speed = isNumeric(options.speed) ? parseInt(options.speed) : 900;\n const toTop = options.toTop;\n const toBottom = options.toBottom;\n let offset = 0;\n\n if (typeof $targetElem === 'undefined' && typeof $sourceElem === 'undefined' && typeof targetOffset === 'undefined') {\n console.warn('You must specify at least one parameter.')\n return false;\n }\n\n if (typeof $targetElem !== 'undefined' && $targetElem instanceof jQuery && $targetElem.length > 0) {\n targetOffset = $targetElem.offset().top + this.instance.scroll.y + targetOffset;\n }\n\n if (typeof $sourceElem !== 'undefined' && $sourceElem instanceof jQuery && $sourceElem.length > 0) {\n let targetData = '';\n\n if ($sourceElem.attr('data-target')) {\n targetData = $sourceElem.attr('data-target');\n } else {\n targetData = $sourceElem.attr('href');\n }\n\n targetOffset = $(targetData).offset().top + this.instance.scroll.y + targetOffset;\n }\n\n if (typeof offsetElem !== 'undefined') {\n offset = $(offsetElem).outerHeight();\n targetOffset = targetOffset - offset;\n }\n\n if (toTop === true) {\n targetOffset = 0;\n } else if (toBottom === true) {\n targetOffset = this.instance.limit;\n }\n\n setTimeout(() => {\n this.isScrolling = false;\n this.instance.delta.y = targetOffset;\n html.classList.remove(this.isScrollingClassName);\n }, delay);\n }\n\n /**\n * Set the scroll bar limit\n */\n setScrollLimit() {\n this.instance.limit = this.$container[0].offsetHeight - this.windowHeight;\n }\n\n /**\n * Apply CSS transform properties on an element.\n *\n * @param {object} $element Targetted jQuery element\n * @param {int} x Translate value\n * @param {int} y Translate value\n * @param {int} z Translate value\n * @return {void}\n */\n transformElement($element, x, y, z, delay) {\n // Defaults\n x = x || 0;\n y = y || 0;\n z = z || 0;\n\n if(!delay) {\n // Translate and store the positionning as `data`\n $element.css({\n '-webkit-transform': `translate3d(${x}px, ${y}px, ${z}px)`,\n '-ms-transform': `translate3d(${x}px, ${y}px, ${z}px)`,\n 'transform': `translate3d(${x}px, ${y}px, ${z}px)`\n }).data('transform',{\n x : x,\n y : y,\n z : z\n });\n } else {\n\n let start = this.getTranslate($element[0]);\n let lerpY = this.lerp(start.y, y, delay);\n let lerpX = this.lerp(start.x, x, delay);\n\n $element.css({\n '-webkit-transform': `translate3d(${lerpX}px, ${lerpY}px, ${z}px)`,\n '-ms-transform': `translate3d(${lerpX}px, ${lerpY}px, ${z}px)`,\n 'transform': `translate3d(${lerpX}px, ${lerpY}px, ${z}px)`\n }).data('transform',{\n x : lerpX,\n y : lerpY,\n z : z\n });\n }\n\n }\n\n getTranslate(el){\n const translate = {}\n if(!window.getComputedStyle) return;\n\n const style = getComputedStyle(el);\n const transform = style.transform || style.webkitTransform || style.mozTransform;\n\n let mat = transform.match(/^matrix3d\\((.+)\\)$/);\n if(mat) return parseFloat(mat[1].split(', ')[13]);\n mat = transform.match(/^matrix\\((.+)\\)$/);\n translate.x = mat ? parseFloat(mat[1].split(', ')[4]) : 0;\n translate.y = mat ? parseFloat(mat[1].split(', ')[5]) : 0;\n\n return translate;\n }\n\n /**\n * Loop through all parallax-able elements and apply transform method(s).\n *\n * @param {boolean} isFirstCall Determines if this is the first occurence of method being called\n * @return {void}\n */\n transformElements(isFirstCall) {\n if (this.parallaxElements.length > 0) {\n const scrollBottom = this.instance.scroll.y + this.windowHeight;\n const scrollMiddle = this.instance.scroll.y + this.windowMiddle;\n\n let i = 0;\n const len = this.parallaxElements.length;\n const removeIndexes = [];\n\n for (; i < len; i++) {\n let curEl = this.parallaxElements[i];\n\n let transformDistance = false;\n\n // Define if the element is in view\n let inView = ((scrollBottom + this.windowHeight) >= curEl.offset && this.instance.scroll.y <= curEl.limit);\n\n this.toggleElement(curEl, i);\n\n if (isFirstCall && !inView && curEl.speed) {\n // Different calculations if it is the first call and the item is not in the view\n if (curEl.position !== 'top') {\n transformDistance = (curEl.offset - this.windowMiddle - curEl.middle) * -curEl.speed;\n }\n }\n\n // If element is in view\n if (inView && curEl.speed) {\n switch (curEl.position) {\n case 'top':\n transformDistance = this.instance.scroll.y * -curEl.speed;\n break;\n\n case 'bottom':\n transformDistance = (this.instance.limit - scrollBottom + this.windowHeight) * curEl.speed;\n break;\n\n default:\n transformDistance = (scrollMiddle - curEl.middle) * -curEl.speed;\n break;\n }\n }\n\n // Transform horizontal OR vertical. Defaults to vertical\n if (isNumeric(transformDistance)) {\n (curEl.horizontal) ?\n this.transformElement(curEl.$element, transformDistance,0,0, curEl.delay) :\n this.transformElement(curEl.$element, 0, transformDistance,0, curEl.delay);\n }\n }\n }\n }\n\n /**\n * Update elements and recalculate all the positions on the page\n *\n * @param {object} options\n */\n update(options) {\n options = options || {};\n\n // @todo\n // this.scrollbar.update();\n this.windowHeight = $window.height();\n this.windowMiddle = this.windowHeight / 2;\n this.setScrollLimit();\n\n // @todo\n // this.setWheelDirection(this.isReversed);\n this.addElements();\n this.transformElements(true);\n this.reinitScrollBar();\n\n }\n\n /**\n * Set smooth-scrollbar scrolling direction for wheel event\n * @param {Boolean} isReversed\n */\n setWheelDirection(isReversed){\n this.scrollbar.reverseWheel(isReversed);\n }\n\n preloadImages() {\n const images = Array.from(document.querySelectorAll('img'))\n\n images.forEach((image) => {\n const img = document.createElement('img');\n\n img.addEventListener('load', () => {\n images.splice(images.indexOf(image), 1)\n images.length === 0 && this.update()\n });\n\n img.src = image.getAttribute('src')\n })\n }\n\n /**\n * Destroy\n */\n destroy() {\n super.destroy();\n $html.removeClass('has-smooth-scroll');\n this.parallaxElements = [];\n this.instance.destroy();\n\n cancelAnimationFrame(this.raf);\n\n }\n}\n","// ==========================================================================\n// Extended Locomotive Smooth Scroll\n// ==========================================================================\n/* jshint esnext: true */\nimport SmoothScroll from './vendors/SmoothScroll'\n\n/**\n * UNCOMMENT ONLY THE LINES YOU NEED\n */\n// import { $window, $document, $html } from '../utils/environment';\n// import Scroll, { DEFAULTS, EVENT } from './Scroll';\n\n// import debounce from '../utils/debounce';\n// import Scrollbar from 'smooth-scrollbar';\n// import { isNumeric } from '../utils/is';\n\nexport default class extends SmoothScroll {\n constructor(options) {\n super(options)\n }\n}\n","// ==========================================================================\n// Locomotive Scroll Manager\n// ==========================================================================\n/* jshint esnext: true */\nimport { $document, $window, $html, $body } from '../../utils/environment';\nimport Scroll, { DEFAULTS, EVENT } from '../Scroll';\nimport SmoothScroll from '../SmoothScroll';\n\n/**\n * Basic module that detects which scrolling module we'll be using\n */\nexport default class {\n constructor(options) {\n this.options = options;\n this.smooth = options.smooth || DEFAULTS.smooth;\n this.smoothMobile = options.smoothMobile || DEFAULTS.smoothMobile;\n this.mobileContainer = options.mobileContainer || DEFAULTS.mobileContainer;\n this.isMobile = false;\n\n this.init();\n }\n\n init() {\n $html[0].scrollTop = 0;\n $body[0].scrollTop = 0;\n\n if (!this.smoothMobile) {\n this.isMobile = (/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\n }\n\n this.instance = (() => {\n if (this.smooth === true && !this.isMobile) {\n return new SmoothScroll(this.options);\n } else {\n if (this.mobileContainer) {\n this.options.container = this.mobileContainer\n }\n return new Scroll(this.options);\n }\n })();\n\n this.instance.init();\n\n const $scrollToOnLoadEl = $('.js-scrollto-on-load').first();\n\n if ($scrollToOnLoadEl.length === 1) {\n $document.triggerHandler({\n type: 'Event.SCROLLTO',\n options: {\n targetElem: $scrollToOnLoadEl\n }\n });\n }\n }\n\n destroy() {\n this.instance.destroy();\n }\n}\n","import { module } from 'modujs';\nimport { $document } from '../utils/environment'\nimport ScrollManager from '../scroll/vendors/ScrollManager';\n\nexport default class extends module {\n constructor(m) {\n super(m);\n }\n\n init() {\n this.scroll = new ScrollManager({\n container: $(this.el),\n smooth: true,\n inertia: 1\n });\n }\n\n destroy() {\n this.scroll.destroy();\n }\n}\n","!function(root, factory) {\n \"function\" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set\n define([], function() {\n return root.svg4everybody = factory();\n }) : \"object\" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory() : root.svg4everybody = factory();\n}(this, function() {\n /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */\n function embed(parent, svg, target) {\n // if the target exists\n if (target) {\n // create a document fragment to hold the contents of the target\n var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute(\"viewBox\") && target.getAttribute(\"viewBox\");\n // conditionally set the viewBox on the svg\n viewBox && svg.setAttribute(\"viewBox\", viewBox);\n // copy the contents of the clone into the fragment\n for (// clone the target\n var clone = target.cloneNode(!0); clone.childNodes.length; ) {\n fragment.appendChild(clone.firstChild);\n }\n // append the fragment into the svg\n parent.appendChild(fragment);\n }\n }\n function loadreadystatechange(xhr) {\n // listen to changes in the request\n xhr.onreadystatechange = function() {\n // if the request is ready\n if (4 === xhr.readyState) {\n // get the cached html document\n var cachedDocument = xhr._cachedDocument;\n // ensure the cached html document based on the xhr response\n cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(\"\"), \n cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item\n xhr._embeds.splice(0).map(function(item) {\n // get the cached target\n var target = xhr._cachedTarget[item.id];\n // ensure the cached target\n target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), \n // embed the target into the svg\n embed(item.parent, item.svg, target);\n });\n }\n }, // test the ready state change immediately\n xhr.onreadystatechange();\n }\n function svg4everybody(rawopts) {\n function oninterval() {\n // while the index exists in the live collection\n for (// get the cached index\n var index = 0; index < uses.length; ) {\n // get the current \n var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(\"xlink:href\") || use.getAttribute(\"href\");\n if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), \n svg && src) {\n if (polyfill) {\n if (!opts.validate || opts.validate(src, svg, use)) {\n // remove the element\n parent.removeChild(use);\n // parse the src and get the url and id\n var srcSplit = src.split(\"#\"), url = srcSplit.shift(), id = srcSplit.join(\"#\");\n // if the link is external\n if (url.length) {\n // get the cached xhr request\n var xhr = requests[url];\n // ensure the xhr request exists\n xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(\"GET\", url), xhr.send(), \n xhr._embeds = []), // add the svg and id as an item to the xhr embeds list\n xhr._embeds.push({\n parent: parent,\n svg: svg,\n id: id\n }), // prepare the xhr ready state change event\n loadreadystatechange(xhr);\n } else {\n // embed the local id into the svg\n embed(parent, svg, document.getElementById(id));\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index, ++numberOfSvgUseElementsToBypass;\n }\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index;\n }\n }\n // continue the interval\n (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);\n }\n var polyfill, opts = Object(rawopts), newerIEUA = /\\bTrident\\/[567]\\b|\\bMSIE (?:9|10)\\.0\\b/, webkitUA = /\\bAppleWebKit\\/(\\d+)\\b/, olderEdgeUA = /\\bEdge\\/12\\.(\\d+)\\b/, edgeUA = /\\bEdge\\/.(\\d+)\\b/, inIframe = window.top !== window.self;\n polyfill = \"polyfill\" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;\n // create xhr requests object\n var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(\"use\"), numberOfSvgUseElementsToBypass = 0;\n // conditionally start the interval if the polyfill is active\n polyfill && oninterval();\n }\n function getSVGAncestor(node) {\n for (var svg = node; \"svg\" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}\n return svg;\n }\n return svg4everybody;\n});","import svg4everybody from 'svg4everybody';\n\nexport default function() {\n svg4everybody();\n}\n","import modular from 'modujs';\nimport * as modules from './modules';\nimport globals from './globals';\nimport { html } from './utils/environment';\n\nconst app = new modular({\n modules: modules\n});\n\napp.init(app);\nglobals();\n\nhtml.classList.add('is-loaded', 'is-ready');\nhtml.classList.remove('is-loading');\n\n"],"names":["_classCallCheck","_defineProperties","_createClass","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_default","m","load","modularLoad","enterDelay","transitions","customTransition","on","transition","oldContainer","newContainer","call","module","$document","$","document","$window","window","html","documentElement","$html","removeClass","addClass","$body","body","$pjaxWrapper","isDebug","data","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","isNumeric","thing","isNaN","parseFloat","isFinite","EVENT_KEY","EVENT","CLICK","ISREADY","REBUILD","RENDER","RESIZE","SCROLL","SCROLLTO","UPDATE","STOP","START","DEFAULTS","container","mobileContainer","onScroll","selector","smooth","smoothMobile","reversed","getDirection","getSpeed","scrollBarClassName","isScrollingClassName","options","$container","callbacks","instance","scroll","x","y","direction","windowHeight","height","windowMiddle","animatedElements","requestId","undefined","addElements","render","scrollTo","targetOffset","update","event","preventDefault","$target","currentTarget","offset","sourceElem","offsetElem","triggerHandler","type","debounce","$elements","len","length","i","$element","eq","elementTarget","attr","elementPosition","elementOffset","top","elementLimit","outerHeight","elementSticky","elementStickyTarget","elementViewportOffset","split","elementCallbackString","elementCallback","substr","indexOf","optionsString","replace","obj","j","option","val","test","parseInt","elementRepeat","elementInViewClass","css","hasClass","Math","round","repeat","position","limit","inViewClass","sticky","callback","viewportOffset","removeIndexes","element","toggleElement","push","splice","pageYOffset","pageXOffset","animateElements","index","removeFromContainer","scrollTop","scrollBottom","inView","scrollViewportOffsetTop","scrollViewportOffsetBottom","scrollViewportOffset","triggerCallback","way","trigger","$targetElem","targetElem","$sourceElem","speed","delay","toTop","toBottom","console","warn","jQuery","targetData","animate","off","cancelAnimationFrame","Object","assign","VENDOR_EVENTS","VENDOR_DEFAULTS","Scroll","this","hasOwnProperty","require$$0","bindAll","Emitter","isReversed","inertia","parallaxElements","isDraggingScrollBar","isTicking","hasScrollTicking","isScrolling","VirtualScroll","mouseMultiplier","navigator","platform","touchMultiplier","firefoxMultiplier","delta","e","stop","requestAnimationFrame","checkScroll","classList","add","deltaY","setScrollLimit","initScrollBar","events","preloadImages","timestamp","Date","now","scrollbarWrapper","createElement","scrollbar","append","style","innerHeight","scrollBarLimit","getBoundingClientRect","addEventListener","getScrollBar","releaseScrollBar","moveScrollBar","removeEventListener","remove","pageY","elementSpeed","elementHorizontal","Infinity","newElement","elementMiddle","elementDelay","horizontal","middle","distance","abs","isFirstCall","lerp","transformElements","scrollBarTranslation","transform","start","end","amt","offsetHeight","z","getTranslate","lerpY","lerpX","el","translate","getComputedStyle","webkitTransform","mozTransform","mat","match","scrollMiddle","curEl","transformDistance","transformElement","reinitScrollBar","reverseWheel","images","Array","from","querySelectorAll","forEach","image","img","src","getAttribute","destroy","raf","SmoothScroll","isMobile","init","userAgent","$scrollToOnLoadEl","first","ScrollManager","svg4everybody","app","modular","modules","globals"],"mappings":"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"} \ No newline at end of file diff --git a/www/assets/scripts/jquery-3.4.1.min.js b/www/assets/scripts/jquery-3.4.1.min.js index a1c07fd..13325ec 100644 --- a/www/assets/scripts/jquery-3.4.1.min.js +++ b/www/assets/scripts/jquery-3.4.1.min.js @@ -1,2 +1 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.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,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,n,r){var i,o,a,s,u,l,c,f=t&&t.ownerDocument,p=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==p&&9!==p&&11!==p)return n;if(!r&&((t?t.ownerDocument||t:m)!==C&&T(t),t=t||C,E)){if(11!==p&&(u=Z.exec(e)))if(i=u[1]){if(9===p){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(t,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,t.getElementsByTagName(e)),n;if((i=u[3])&&d.getElementsByClassName&&t.getElementsByClassName)return H.apply(n,t.getElementsByClassName(i)),n}if(d.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==p||"object"!==t.nodeName.toLowerCase())){if(c=e,f=t,1===p&&U.test(e)){for((s=t.getAttribute("id"))?s=s.replace(re,ie):t.setAttribute("id",s=S),o=(l=h(e)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(e)&&ye(t.parentNode)||t}try{return H.apply(n,f.querySelectorAll(c)),n}catch(t){A(e,!0)}finally{s===S&&t.removeAttribute("id")}}}return g(e.replace(B,"$1"),t,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=S.fn,q=S(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function Se(){return!0}function ke(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&S.event.add(e,i,Se)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(ie,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=S.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=S.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||S.expando+"_"+St++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(kt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===S.css(e,"position");)e=e.offsetParent;return e||ie})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),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,n){S.fn[n]=function(e,t){return 0 abbr[title] { - text-decoration: none; } - -table { - border-spacing: 0; - border-collapse: collapse; } - -hr { - display: block; - margin: 1em 0; - padding: 0; - height: 1px; - border: 0; - border-top: 1px solid #CCCCCC; } - -audio, -canvas, -iframe, -img, -svg, -video { - vertical-align: middle; - /* [1] */ } - -audio:not([controls]) { - display: none; - height: 0; } - -img, -svg { - max-width: 100%; - /* [2] */ - height: auto; } - img[width], img[height], - svg[width], - svg[height] { - /* [4] */ - max-width: none; } - -img { - font-style: italic; - /* [4] */ } - -svg { - fill: currentColor; - /* [5] */ } - -input, -select, -textarea { - display: block; - margin: 0; - padding: 0; - width: 100%; - outline: 0; - border: 0; - border-radius: 0; - background: none transparent; - color: inherit; - font: inherit; - line-height: normal; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } - -select { - text-transform: none; } - select::-ms-expand { - display: none; } - select::-ms-value { - background: none; - color: inherit; } - -textarea { - overflow: auto; - resize: vertical; } - -button, -.o-button { - display: inline-block; - /* [1] */ - overflow: visible; - /* [2] */ - margin: 0; - /* [3] */ - padding: 0; - outline: 0; - border: 0; - background: none transparent; - color: inherit; - vertical-align: middle; - /* [4] */ - text-align: center; - /* [3] */ - text-decoration: none; - text-transform: none; - font: inherit; - /* [5] */ - line-height: normal; - cursor: pointer; - /* [6] */ - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - button:focus, button:hover, - .o-button:focus, - .o-button:hover { - text-decoration: none; } - -html { - overflow-y: scroll; - /* [2] */ - min-height: 100%; - /* [3] */ - color: #222222; - font-family: sans-serif; - line-height: 1.5; - /* [1] */ } - @media (max-width: 699px) { - html { - font-size: 12px; } } - @media (min-width: 700px) and (max-width: 999px) { - html { - font-size: 13px; } } - @media (min-width: 1000px) and (max-width: 1199px) { - html { - font-size: 14px; } } - @media (min-width: 1200px) and (max-width: 1599px) { - html { - font-size: 16px; - /* [1] */ } } - @media (min-width: 1600px) and (max-width: 1999px) { - html { - font-size: 18px; } } - @media (min-width: 2000px) and (max-width: 2399px) { - html { - font-size: 21px; } } - @media (min-width: 2400px) { - html { - font-size: 24px; } } - -::selection { - background-color: #FFFFFF; - color: #3297FD; - text-shadow: none; } - -a { - color: #1A0DAB; } - a:focus, a:hover { - color: #13097c; } - -.o-h, h1, .o-h1, h2, .o-h2, h3, .o-h3, h4, .o-h4, h5, .o-h5, h6, .o-h6 { - margin-top: 0; - line-height: 1.5; } - -h1, .o-h1 { - font-size: 2.25rem; } - -h2, .o-h2 { - font-size: 1.75rem; } - -h3, .o-h3 { - font-size: 1.5rem; } - -h4, .o-h4 { - font-size: 1.25rem; } - -h5, .o-h5 { - font-size: 1.125rem; } - -h6, .o-h6 { - font-size: 1rem; } - -/* stylelint-disable */ -/* stylelint-enable */ -.o-container { - margin-right: auto; - margin-left: auto; - padding-right: 60px; - padding-left: 60px; - max-width: 2000px; } - -.o-layout { - margin: 0; - padding: 0; - list-style: none; - font-size: 0; - margin-left: 0; } - .o-layout.-gutter { - margin-left: -3.75rem; } - .o-layout.-gutter-small { - margin-left: -1.875rem; } - .o-layout.-center { - text-align: center; } - .o-layout.-right { - text-align: right; } - .o-layout.-reverse { - direction: rtl; } - .o-layout.-reverse.-flex { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; } - .o-layout.-flex { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .o-layout.-flex.-top { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - .o-layout.-flex.-middle { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .o-layout.-flex.-bottom { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; } - .o-layout.-stretch { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; } - -.o-layout_item { - display: inline-block; - width: 100%; - vertical-align: top; - font-size: 1rem; - padding-left: 0; } - .o-layout.-gutter > .o-layout_item { - padding-left: 3.75rem; } - .o-layout.-gutter-small > .o-layout_item { - padding-left: 1.875rem; } - .o-layout.-middle > .o-layout_item { - vertical-align: middle; } - .o-layout.-bottom > .o-layout_item { - vertical-align: bottom; } - .o-layout.-center > .o-layout_item, - .o-layout.-right > .o-layout_item, - .o-layout.-reverse > .o-layout_item { - text-align: left; } - .o-layout.-reverse > .o-layout_item { - direction: ltr; } - -.o-label, .o-checkbox-label, .o-radio-label { - display: block; - margin-bottom: 0.9375rem; } - -.o-input, .o-select, .o-textarea { - padding: 0.625rem; - border-width: 1px; - border-style: solid; - border-color: lightgray; - background-color: white; } - .o-input:focus, .o-select:focus, .o-textarea:focus { - border-color: gray; } - .o-input::-webkit-input-placeholder, .o-select::-webkit-input-placeholder, .o-textarea::-webkit-input-placeholder { - color: gray; } - .o-input:-ms-input-placeholder, .o-select:-ms-input-placeholder, .o-textarea:-ms-input-placeholder { - color: gray; } - .o-input::-ms-input-placeholder, .o-select::-ms-input-placeholder, .o-textarea::-ms-input-placeholder { - color: gray; } - .o-input::placeholder, .o-select::placeholder, .o-textarea::placeholder { - color: gray; } - -.o-checkbox, .o-radio { - position: absolute; - width: 0; - opacity: 0; } - .o-checkbox:focus + .o-checkbox-label::before, .o-radio:focus + .o-checkbox-label::before, .o-checkbox:focus + .o-radio-label::before, .o-radio:focus + .o-radio-label::before { - border-color: gray; } - .o-checkbox:checked + .o-checkbox-label::after, .o-radio:checked + .o-checkbox-label::after, .o-checkbox:checked + .o-radio-label::after, .o-radio:checked + .o-radio-label::after { - opacity: 1; } - -.o-checkbox-label, .o-radio-label { - position: relative; - display: inline-block; - margin-right: 0.5em; - padding-left: 1.75rem; } - .o-checkbox-label::before, .o-radio-label::before, .o-checkbox-label::after, .o-radio-label::after { - position: absolute; - top: 50%; - left: 0; - display: inline-block; - margin-top: -0.5625rem; - padding: 0; - width: 1.125rem; - height: 1.125rem; - content: ""; } - .o-checkbox-label::before, .o-radio-label::before { - background-color: #FFFFFF; } - .o-checkbox-label::after, .o-radio-label::after { - border-color: transparent; - background-color: transparent; - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2213%22%20height%3D%2210.5%22%20viewBox%3D%220%200%2013%2010.5%22%20enable-background%3D%22new%200%200%2013%2010.5%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23424242%22%20d%3D%22M4.8%205.8L2.4%203.3%200%205.7l4.8%204.8L13%202.4c0%200-2.4-2.4-2.4-2.4L4.8%205.8z%22%2F%3E%3C%2Fsvg%3E"); - background-position: center; - background-size: 0.8125rem; - background-repeat: no-repeat; - opacity: 0; } - -.o-radio-label::before, .o-radio-label::after { - border-radius: 50%; } - -.o-radio-label::after { - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20enable-background%3D%22new%200%200%2013%2013%22%20xml%3Aspace%3D%22preserve%22%3E%3Ccircle%20fill%3D%22%23424242%22%20cx%3D%226.5%22%20cy%3D%226.5%22%20r%3D%226.5%22%2F%3E%3C%2Fsvg%3E"); - background-size: 0.5rem; } - -.o-select { - position: relative; - z-index: 1; - padding-right: 2.5rem; } - -.o-select-wrap { - position: relative; } - .o-select-wrap::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 2; - width: 2.5rem; - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2213%22%20height%3D%2211.3%22%20viewBox%3D%220%200%2013%2011.3%22%20enable-background%3D%22new%200%200%2013%2011.3%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23424242%22%20points%3D%226.5%2011.3%203.3%205.6%200%200%206.5%200%2013%200%209.8%205.6%20%22%2F%3E%3C%2Fsvg%3E"); - background-position: center; - background-size: 0.625rem; - background-repeat: no-repeat; - content: ""; - pointer-events: none; } - -.o-textarea { - min-height: 6.25rem; } - -.o-button { - padding: 0.625rem; - background-color: lightgray; } - .o-button:focus, .o-button:hover { - background-color: gray; } - -.o-pjax_wrapper { - height: 100%; - overflow: hidden; } - -.o-pjax_container { - height: 100%; - overflow: hidden; } - -html.has-smooth-scroll { - overflow: hidden; } - -html.has-smooth-scroll .o-scroll { - height: 100vh; - position: relative; - overflow: hidden; } - -.scroll-content { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - margin: 0; - overflow: visible; - height: 100%; } - -[data-scrollbar], [scrollbar], scrollbar { - display: block; - position: relative; } - -[data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content { - -webkit-transform: translateZ(0); - transform: translateZ(0); - will-change: transform; } - -[data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track { - background: rgba(222, 222, 222, 0.75); } - -[data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track { - position: absolute; - opacity: 0; - z-index: 1; - -webkit-transition: opacity .5s ease-out,background .5s ease-out; - transition: opacity .5s ease-out,background .5s ease-out; - background: none; } - -[data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover { - opacity: 1; } - -[data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover { - background: rgba(222, 222, 222, 0.75); } - -[data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x { - bottom: 0; - left: 0; - width: 100%; - height: 8px; } - -[data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y { - top: 0; - right: 0; - width: 8px; - height: 100%; } - -[data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb { - position: absolute; - top: 0; - left: 0; - width: 8px; - height: 8px; - background: rgba(0, 0, 0, 0.5); - border-radius: 4px; } - -[data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.scrollbar-track { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent !important; - width: 14px !important; - opacity: 0 !important; - z-index: 99999 !important; } - .scrolling .scrollbar-track { - opacity: 0.75 !important; } - .scrollbar-track:hover { - opacity: 1 !important; - background-color: #fafafa !important; } - -.scrollbar-thumb { - position: relative; - width: 14px !important; - background-color: transparent !important; } - .scrollbar-thumb::after { - content: ""; - position: absolute; - top: 3px; - right: 3px; - bottom: 3px; - left: 3px; - background-color: #c1c1c1; - border-radius: 4px; - -webkit-transition: background-color 0.3s linear; - transition: background-color 0.3s linear; } - .scrollbar-thumb:hover::after { - background-color: #7d7d7d; } +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}html{box-sizing:border-box}[hidden],template{display:none}*,:after,:before{box-sizing:inherit}address{font-style:inherit}cite,dfn,em,i{font-style:italic}b,strong{font-weight:700}a{text-decoration:none}a svg{pointer-events:none}[tabindex],a,area,button,input,label,select,textarea{touch-action:manipulation}[hreflang]>abbr[title]{text-decoration:none}table{border-spacing:0;border-collapse:collapse}hr{display:block;margin:1em 0;padding:0;height:1px;border:0;border-top:1px solid #ccc}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio:not([controls]){display:none;height:0}img,svg{max-width:100%;height:auto}img[height],img[width],svg[height],svg[width]{max-width:none}img{font-style:italic}svg{fill:currentColor}input,select,textarea{display:block;margin:0;padding:0;width:100%;outline:0;border:0;border-radius:0;background:none transparent;color:inherit;font:inherit;line-height:normal;-webkit-appearance:none;-moz-appearance:none;appearance:none}select{text-transform:none}select::-ms-expand{display:none}select::-ms-value{background:none;color:inherit}textarea{overflow:auto;resize:vertical}.o-button,button{display:inline-block;overflow:visible;margin:0;padding:0;outline:0;border:0;background:none transparent;color:inherit;vertical-align:middle;text-align:center;text-transform:none;font:inherit;line-height:normal;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-button,.o-button:focus,.o-button:hover,button,button:focus,button:hover{text-decoration:none}html{overflow-y:scroll;min-height:100%;color:#222;font-family:sans-serif;line-height:1.5}@media (max-width:699px){html{font-size:12px}}@media (min-width:700px) and (max-width:999px){html{font-size:13px}}@media (min-width:1000px) and (max-width:1199px){html{font-size:14px}}@media (min-width:1200px) and (max-width:1599px){html{font-size:16px}}@media (min-width:1600px) and (max-width:1999px){html{font-size:18px}}@media (min-width:2000px) and (max-width:2399px){html{font-size:21px}}@media (min-width:2400px){html{font-size:24px}}::-moz-selection{background-color:#fff;color:#3297fd;text-shadow:none}::selection{background-color:#fff;color:#3297fd;text-shadow:none}a{color:#1a0dab}a:focus,a:hover{color:#13097c}.o-h,.o-h1,.o-h2,.o-h3,.o-h4,.o-h5,.o-h6,h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.5}.o-h1,h1{font-size:2.25rem}.o-h2,h2{font-size:1.75rem}.o-h3,h3{font-size:1.5rem}.o-h4,h4{font-size:1.25rem}.o-h5,h5{font-size:1.125rem}.o-h6,h6{font-size:1rem}.o-container{margin-right:auto;margin-left:auto;padding-right:60px;padding-left:60px;max-width:2000px}.o-ratio{position:relative;display:block;overflow:hidden}.o-ratio:before{display:block;padding-bottom:100%;width:100%;content:""}.o-ratio>embed,.o-ratio>iframe,.o-ratio>img,.o-ratio>object,.o-ratio_content{position:absolute;top:0;bottom:0;left:0;width:100%}.o-layout{padding:0;list-style:none;font-size:0;margin:0}.o-layout.-gutter{margin-left:-3.75rem}.o-layout.-gutter-small{margin-left:-1.875rem}.o-layout.-center{text-align:center}.o-layout.-right{text-align:right}.o-layout.-reverse{direction:rtl}.o-layout.-reverse.-flex{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.o-layout.-flex{display:-webkit-box;display:flex}.o-layout.-flex.-top{-webkit-box-align:start;align-items:flex-start}.o-layout.-flex.-middle{-webkit-box-align:center;align-items:center}.o-layout.-flex.-bottom{-webkit-box-align:end;align-items:flex-end}.o-layout.-stretch{-webkit-box-align:stretch;align-items:stretch}.o-layout_item{display:inline-block;width:100%;vertical-align:top;font-size:1rem;padding-left:0}.o-layout.-gutter>.o-layout_item{padding-left:3.75rem}.o-layout.-gutter-small>.o-layout_item{padding-left:1.875rem}.o-layout.-middle>.o-layout_item{vertical-align:middle}.o-layout.-bottom>.o-layout_item{vertical-align:bottom}.o-layout.-center>.o-layout_item,.o-layout.-reverse>.o-layout_item,.o-layout.-right>.o-layout_item{text-align:left}.o-layout.-reverse>.o-layout_item{direction:ltr}.o-checkbox-label,.o-label,.o-radio-label{display:block;margin-bottom:.9375rem}.o-input,.o-select,.o-textarea{padding:.625rem;border:1px solid #d3d3d3;background-color:#fff}.o-input:focus,.o-select:focus,.o-textarea:focus{border-color:grey}.o-input::-webkit-input-placeholder,.o-select::-webkit-input-placeholder,.o-textarea::-webkit-input-placeholder{color:grey}.o-input::-moz-placeholder,.o-select::-moz-placeholder,.o-textarea::-moz-placeholder{color:grey}.o-input:-ms-input-placeholder,.o-select:-ms-input-placeholder,.o-textarea:-ms-input-placeholder{color:grey}.o-input::-ms-input-placeholder,.o-select::-ms-input-placeholder,.o-textarea::-ms-input-placeholder{color:grey}.o-input::placeholder,.o-select::placeholder,.o-textarea::placeholder{color:grey}.o-checkbox,.o-radio{position:absolute;width:0;opacity:0}.o-checkbox:focus+.o-checkbox-label:before,.o-checkbox:focus+.o-radio-label:before,.o-radio:focus+.o-checkbox-label:before,.o-radio:focus+.o-radio-label:before{border-color:grey}.o-checkbox:checked+.o-checkbox-label:after,.o-checkbox:checked+.o-radio-label:after,.o-radio:checked+.o-checkbox-label:after,.o-radio:checked+.o-radio-label:after{opacity:1}.o-checkbox-label,.o-radio-label{position:relative;display:inline-block;margin-right:.5em;padding-left:1.75rem}.o-checkbox-label:after,.o-checkbox-label:before,.o-radio-label:after,.o-radio-label:before{position:absolute;top:50%;left:0;display:inline-block;margin-top:-.5625rem;padding:0;width:1.125rem;height:1.125rem;content:""}.o-checkbox-label:before,.o-radio-label:before{background-color:#fff}.o-checkbox-label:after,.o-radio-label:after{border-color:transparent;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='10.5'%3E%3Cpath fill='%23424242' d='M4.8 5.8L2.4 3.3 0 5.7l4.8 4.8L13 2.4 10.6 0 4.8 5.8z'/%3E%3C/svg%3E");background-position:50%;background-size:.8125rem;background-repeat:no-repeat;opacity:0}.o-radio-label:after,.o-radio-label:before{border-radius:50%}.o-radio-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13'%3E%3Ccircle fill='%23424242' cx='6.5' cy='6.5' r='6.5'/%3E%3C/svg%3E");background-size:.5rem}.o-select{z-index:1;padding-right:2.5rem}.o-select,.o-select-wrap{position:relative}.o-select-wrap:after{position:absolute;top:0;right:0;bottom:0;z-index:2;width:2.5rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='11.3'%3E%3Cpath fill='%23424242' d='M6.5 11.3L3.3 5.6 0 0h13L9.8 5.6z'/%3E%3C/svg%3E");background-position:50%;background-size:.625rem;background-repeat:no-repeat;content:"";pointer-events:none}.o-textarea{min-height:6.25rem}.o-button{padding:.625rem;background-color:#d3d3d3}.o-button:focus,.o-button:hover{background-color:grey}.o-pjax_container,.o-pjax_wrapper{height:100%;overflow:hidden}html.has-smooth-scroll{overflow:hidden}html.has-smooth-scroll .o-scroll{height:100vh;position:relative;overflow:hidden}.scroll-content{-webkit-transform:translateZ(0);transform:translateZ(0);margin:0;overflow:visible;height:100%}[data-scrollbar],[scrollbar],scrollbar{display:block;position:relative}[data-scrollbar] .scroll-content,[scrollbar] .scroll-content,scrollbar .scroll-content{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}[data-scrollbar].sticky .scrollbar-track,[scrollbar].sticky .scrollbar-track,scrollbar.sticky .scrollbar-track{background:hsla(0,0%,87.1%,.75)}[data-scrollbar] .scrollbar-track,[scrollbar] .scrollbar-track,scrollbar .scrollbar-track{position:absolute;opacity:0;z-index:1;-webkit-transition:opacity .5s ease-out,background .5s ease-out;transition:opacity .5s ease-out,background .5s ease-out;background:none}[data-scrollbar] .scrollbar-track.show,[data-scrollbar] .scrollbar-track:hover,[scrollbar] .scrollbar-track.show,[scrollbar] .scrollbar-track:hover,scrollbar .scrollbar-track.show,scrollbar .scrollbar-track:hover{opacity:1}[data-scrollbar] .scrollbar-track:hover,[scrollbar] .scrollbar-track:hover,scrollbar .scrollbar-track:hover{background:hsla(0,0%,87.1%,.75)}[data-scrollbar] .scrollbar-track-x,[scrollbar] .scrollbar-track-x,scrollbar .scrollbar-track-x{bottom:0;left:0;width:100%;height:8px}[data-scrollbar] .scrollbar-track-y,[scrollbar] .scrollbar-track-y,scrollbar .scrollbar-track-y{top:0;right:0;width:8px;height:100%}[data-scrollbar] .scrollbar-thumb,[scrollbar] .scrollbar-thumb,scrollbar .scrollbar-thumb{position:absolute;top:0;left:0;width:8px;height:8px;background:rgba(0,0,0,.5);border-radius:4px}[data-scrollbar] .overscroll-glow,[scrollbar] .overscroll-glow,scrollbar .overscroll-glow{position:absolute;top:0;left:0;width:100%;height:100%}.scrollbar-track{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent!important;width:14px!important;opacity:0!important;z-index:99999!important}.scrolling .scrollbar-track{opacity:.75!important}.scrollbar-track:hover{opacity:1!important;background-color:#fafafa!important}.scrollbar-thumb{position:relative;width:14px!important;background-color:transparent!important}.scrollbar-thumb:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background-color:#c1c1c1;border-radius:4px;-webkit-transition:background-color .3s linear;transition:background-color .3s linear}.scrollbar-thumb:hover:after{background-color:#7d7d7d}.u-2\:1:before{padding-bottom:50%}.u-4\:3:before{padding-bottom:75%}.u-16\:9:before{padding-bottom:56.25%}.u-1\/1{width:100%!important}.u-1\/2{width:50%!important}.u-2\/2{width:100%!important}.u-1\/3{width:33.33333%!important}.u-2\/3{width:66.66667%!important}.u-3\/3{width:100%!important}.u-1\/4{width:25%!important}.u-2\/4{width:50%!important}.u-3\/4{width:75%!important}.u-4\/4{width:100%!important}.u-1\/5{width:20%!important}.u-2\/5{width:40%!important}.u-3\/5{width:60%!important}.u-4\/5{width:80%!important}.u-5\/5{width:100%!important} \ No newline at end of file