{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///aos.js","webpack:///webpack/bootstrap 49cc9c62c99c281566d0","webpack:///./src/js/aos.js","webpack:///./~/lodash.throttle/index.js","webpack:///./~/lodash.debounce/index.js","webpack:///./src/js/libs/observer.js","webpack:///./src/js/helpers/detector.js","webpack:///./src/js/helpers/handleScroll.js","webpack:///./src/js/helpers/prepare.js","webpack:///./src/js/helpers/calculateOffset.js","webpack:///./src/js/libs/offset.js","webpack:///./src/js/helpers/elements.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","_aos","_lodash","_lodash2","_lodash3","_lodash4","_observer","_observer2","_detector","_detector2","_handleScroll","_handleScroll2","_prepare","_prepare2","_elements","_elements2","$aosElements","initialized","browserNotSupported","document","all","window","atob","options","offset","delay","easing","duration","disable","once","startEvent","refresh","initialize","undefined","refreshHard","forEach","el","node","removeAttribute","isDisabled","optionDisable","mobile","phone","tablet","init","settings","querySelector","setAttribute","indexOf","readyState","addEventListener","global","debounce","func","wait","invokeFunc","time","args","lastArgs","thisArg","lastThis","lastInvokeTime","result","apply","leadingEdge","timerId","setTimeout","timerExpired","leading","remainingWait","timeSinceLastCall","lastCallTime","timeSinceLastInvoke","maxing","nativeMin","maxWait","shouldInvoke","now","trailingEdge","trailing","cancel","clearTimeout","flush","debounced","isInvoking","TypeError","FUNC_ERROR_TEXT","toNumber","isObject","nativeMax","throttle","value","type","_typeof","isObjectLike","isSymbol","objectToString","symbolTag","NAN","other","valueOf","replace","reTrim","isBinary","reIsBinary","test","reIsOctal","freeParseInt","slice","reIsBadHex","Symbol","iterator","constructor","parseInt","freeGlobal","freeSelf","self","Function","objectProto","toString","Math","max","min","Date","ready","selector","fn","observer","MutationObserver","check","callback","observe","doc","documentElement","childList","subtree","removedNodes","mutations","mutation","addedNodes","Array","anyAOSElementAdded","concat","filter","hasAttribute","defineProperty","WebKitMutationObserver","_classCallCheck","instance","Constructor","ua","navigator","userAgent","vendor","opera","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","fullNameRe","prefixRe","fullNameMobileRe","prefixMobileRe","Detector","a","substr","setState","top","attrOnce","getAttribute","position","classList","add","remove","handleScroll","$elements","scrollTop","pageYOffset","windowHeight","innerHeight","_calculateOffset","_calculateOffset2","prepare","_offset","_offset2","calculateOffset","optionalOffset","elementOffsetTop","additionalOffset","attrs","anchor","anchorPlacement","isNaN","querySelectorAll","offsetHeight","_x","_y","offsetLeft","offsetTop","tagName","scrollLeft","offsetParent","left","createArrayWithElements","elements","finalElements","push"],"mappings":"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","file":"aos.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"AOS\"] = factory();\n\telse\n\t\troot[\"AOS\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"AOS\"] = factory();\n\telse\n\t\troot[\"AOS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n\t * *******************************************************\n\t * AOS (Animate on scroll) - wowjs alternative\n\t * made to animate elements on scroll in both directions\n\t * *******************************************************\n\t */\n\t\n\t// Modules & helpers\n\t\n\t\n\tvar _aos = __webpack_require__(1);\n\t\n\tvar _aos2 = _interopRequireDefault(_aos);\n\t\n\tvar _lodash = __webpack_require__(6);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _lodash3 = __webpack_require__(7);\n\t\n\tvar _lodash4 = _interopRequireDefault(_lodash3);\n\t\n\tvar _observer = __webpack_require__(8);\n\t\n\tvar _observer2 = _interopRequireDefault(_observer);\n\t\n\tvar _detector = __webpack_require__(9);\n\t\n\tvar _detector2 = _interopRequireDefault(_detector);\n\t\n\tvar _handleScroll = __webpack_require__(10);\n\t\n\tvar _handleScroll2 = _interopRequireDefault(_handleScroll);\n\t\n\tvar _prepare = __webpack_require__(11);\n\t\n\tvar _prepare2 = _interopRequireDefault(_prepare);\n\t\n\tvar _elements = __webpack_require__(14);\n\t\n\tvar _elements2 = _interopRequireDefault(_elements);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * Private variables\n\t */\n\tvar $aosElements = [];\n\tvar initialized = false;\n\t\n\t// Detect not supported browsers (<=IE9)\n\t// http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\tvar browserNotSupported = document.all && !window.atob;\n\t\n\t/**\n\t * Default options\n\t */\n\tvar options = {\n\t offset: 120,\n\t delay: 0,\n\t easing: 'ease',\n\t duration: 400,\n\t disable: false,\n\t once: false,\n\t startEvent: 'DOMContentLoaded'\n\t};\n\t\n\t/**\n\t * Refresh AOS\n\t */\n\tvar refresh = function refresh() {\n\t var initialize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\t\n\t // Allow refresh only when it was first initialized on startEvent\n\t if (initialize) initialized = true;\n\t\n\t if (initialized) {\n\t // Extend elements objects in $aosElements with their positions\n\t $aosElements = (0, _prepare2.default)($aosElements, options);\n\t // Perform scroll event, to refresh view and show/hide elements\n\t (0, _handleScroll2.default)($aosElements, options.once);\n\t\n\t return $aosElements;\n\t }\n\t};\n\t\n\t/**\n\t * Hard refresh\n\t * create array with new elements and trigger refresh\n\t */\n\tvar refreshHard = function refreshHard() {\n\t $aosElements = (0, _elements2.default)();\n\t refresh();\n\t};\n\t\n\t/**\n\t * Disable AOS\n\t * Remove all attributes to reset applied styles\n\t */\n\tvar disable = function disable() {\n\t $aosElements.forEach(function (el, i) {\n\t el.node.removeAttribute('data-aos');\n\t el.node.removeAttribute('data-aos-easing');\n\t el.node.removeAttribute('data-aos-duration');\n\t el.node.removeAttribute('data-aos-delay');\n\t });\n\t};\n\t\n\t/**\n\t * Check if AOS should be disabled based on provided setting\n\t */\n\tvar isDisabled = function isDisabled(optionDisable) {\n\t return optionDisable === true || optionDisable === 'mobile' && _detector2.default.mobile() || optionDisable === 'phone' && _detector2.default.phone() || optionDisable === 'tablet' && _detector2.default.tablet() || typeof optionDisable === 'function' && optionDisable() === true;\n\t};\n\t\n\t/**\n\t * Initializing AOS\n\t * - Create options merging defaults with user defined options\n\t * - Set attributes on as global setting - css relies on it\n\t * - Attach preparing elements to options.startEvent,\n\t * window resize and orientation change\n\t * - Attach function that handle scroll and everything connected to it\n\t * to window scroll event and fire once document is ready to set initial state\n\t */\n\tvar init = function init(settings) {\n\t options = _extends(options, settings);\n\t\n\t // Create initial array with elements -> to be fullfilled later with prepare()\n\t $aosElements = (0, _elements2.default)();\n\t\n\t /**\n\t * Don't init plugin if option `disable` is set\n\t * or when browser is not supported\n\t */\n\t if (isDisabled(options.disable) || browserNotSupported) {\n\t return disable();\n\t }\n\t\n\t /**\n\t * Set global settings on body, based on options\n\t * so CSS can use it\n\t */\n\t document.querySelector('body').setAttribute('data-aos-easing', options.easing);\n\t document.querySelector('body').setAttribute('data-aos-duration', options.duration);\n\t document.querySelector('body').setAttribute('data-aos-delay', options.delay);\n\t\n\t /**\n\t * Handle initializing\n\t */\n\t if (options.startEvent === 'DOMContentLoaded' && ['complete', 'interactive'].indexOf(document.readyState) > -1) {\n\t // Initialize AOS if default startEvent was already fired\n\t refresh(true);\n\t } else if (options.startEvent === 'load') {\n\t // If start event is 'Load' - attach listener to window\n\t window.addEventListener(options.startEvent, function () {\n\t refresh(true);\n\t });\n\t } else {\n\t // Listen to options.startEvent and initialize AOS\n\t document.addEventListener(options.startEvent, function () {\n\t refresh(true);\n\t });\n\t }\n\t\n\t /**\n\t * Refresh plugin on window resize or orientation change\n\t */\n\t window.addEventListener('resize', (0, _lodash4.default)(refresh, 50, true));\n\t window.addEventListener('orientationchange', (0, _lodash4.default)(refresh, 50, true));\n\t\n\t /**\n\t * Handle scroll event to animate elements on scroll\n\t */\n\t window.addEventListener('scroll', (0, _lodash2.default)(function () {\n\t (0, _handleScroll2.default)($aosElements, options.once);\n\t }, 99));\n\t\n\t /**\n\t * Observe [aos] elements\n\t * If something is loaded by AJAX\n\t * it'll refresh plugin automatically\n\t */\n\t (0, _observer2.default)('[data-aos]', refreshHard);\n\t\n\t return $aosElements;\n\t};\n\t\n\t/**\n\t * Export Public API\n\t */\n\t\n\tmodule.exports = {\n\t init: init,\n\t refresh: refresh,\n\t refreshHard: refreshHard\n\t};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 2 */,\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * lodash (Custom Build) \n\t * Build: `lodash modularize exports=\"npm\" -o ./`\n\t * Copyright jQuery Foundation and other contributors \n\t * Released under MIT license \n\t * Based on Underscore.js 1.8.3 \n\t * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t */\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global;\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max,\n\t nativeMin = Math.min;\n\t\n\t/**\n\t * Gets the timestamp of the number of milliseconds that have elapsed since\n\t * the Unix epoch (1 January 1970 00:00:00 UTC).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Date\n\t * @returns {number} Returns the timestamp.\n\t * @example\n\t *\n\t * _.defer(function(stamp) {\n\t * console.log(_.now() - stamp);\n\t * }, _.now());\n\t * // => Logs the number of milliseconds it took for the deferred invocation.\n\t */\n\tvar now = function now() {\n\t return root.Date.now();\n\t};\n\t\n\t/**\n\t * Creates a debounced function that delays invoking `func` until after `wait`\n\t * milliseconds have elapsed since the last time the debounced function was\n\t * invoked. The debounced function comes with a `cancel` method to cancel\n\t * delayed `func` invocations and a `flush` method to immediately invoke them.\n\t * Provide `options` to indicate whether `func` should be invoked on the\n\t * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n\t * with the last arguments provided to the debounced function. Subsequent\n\t * calls to the debounced function return the result of the last `func`\n\t * invocation.\n\t *\n\t * **Note:** If `leading` and `trailing` options are `true`, `func` is\n\t * invoked on the trailing edge of the timeout only if the debounced function\n\t * is invoked more than once during the `wait` timeout.\n\t *\n\t * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n\t * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n\t *\n\t * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n\t * for details over the differences between `_.debounce` and `_.throttle`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to debounce.\n\t * @param {number} [wait=0] The number of milliseconds to delay.\n\t * @param {Object} [options={}] The options object.\n\t * @param {boolean} [options.leading=false]\n\t * Specify invoking on the leading edge of the timeout.\n\t * @param {number} [options.maxWait]\n\t * The maximum time `func` is allowed to be delayed before it's invoked.\n\t * @param {boolean} [options.trailing=true]\n\t * Specify invoking on the trailing edge of the timeout.\n\t * @returns {Function} Returns the new debounced function.\n\t * @example\n\t *\n\t * // Avoid costly calculations while the window size is in flux.\n\t * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n\t *\n\t * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n\t * jQuery(element).on('click', _.debounce(sendMail, 300, {\n\t * 'leading': true,\n\t * 'trailing': false\n\t * }));\n\t *\n\t * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n\t * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n\t * var source = new EventSource('/stream');\n\t * jQuery(source).on('message', debounced);\n\t *\n\t * // Cancel the trailing debounced invocation.\n\t * jQuery(window).on('popstate', debounced.cancel);\n\t */\n\tfunction debounce(func, wait, options) {\n\t var lastArgs,\n\t lastThis,\n\t maxWait,\n\t result,\n\t timerId,\n\t lastCallTime,\n\t lastInvokeTime = 0,\n\t leading = false,\n\t maxing = false,\n\t trailing = true;\n\t\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t wait = toNumber(wait) || 0;\n\t if (isObject(options)) {\n\t leading = !!options.leading;\n\t maxing = 'maxWait' in options;\n\t maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n\t trailing = 'trailing' in options ? !!options.trailing : trailing;\n\t }\n\t\n\t function invokeFunc(time) {\n\t var args = lastArgs,\n\t thisArg = lastThis;\n\t\n\t lastArgs = lastThis = undefined;\n\t lastInvokeTime = time;\n\t result = func.apply(thisArg, args);\n\t return result;\n\t }\n\t\n\t function leadingEdge(time) {\n\t // Reset any `maxWait` timer.\n\t lastInvokeTime = time;\n\t // Start the timer for the trailing edge.\n\t timerId = setTimeout(timerExpired, wait);\n\t // Invoke the leading edge.\n\t return leading ? invokeFunc(time) : result;\n\t }\n\t\n\t function remainingWait(time) {\n\t var timeSinceLastCall = time - lastCallTime,\n\t timeSinceLastInvoke = time - lastInvokeTime,\n\t result = wait - timeSinceLastCall;\n\t\n\t return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n\t }\n\t\n\t function shouldInvoke(time) {\n\t var timeSinceLastCall = time - lastCallTime,\n\t timeSinceLastInvoke = time - lastInvokeTime;\n\t\n\t // Either this is the first call, activity has stopped and we're at the\n\t // trailing edge, the system time has gone backwards and we're treating\n\t // it as the trailing edge, or we've hit the `maxWait` limit.\n\t return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n\t }\n\t\n\t function timerExpired() {\n\t var time = now();\n\t if (shouldInvoke(time)) {\n\t return trailingEdge(time);\n\t }\n\t // Restart the timer.\n\t timerId = setTimeout(timerExpired, remainingWait(time));\n\t }\n\t\n\t function trailingEdge(time) {\n\t timerId = undefined;\n\t\n\t // Only invoke if we have `lastArgs` which means `func` has been\n\t // debounced at least once.\n\t if (trailing && lastArgs) {\n\t return invokeFunc(time);\n\t }\n\t lastArgs = lastThis = undefined;\n\t return result;\n\t }\n\t\n\t function cancel() {\n\t if (timerId !== undefined) {\n\t clearTimeout(timerId);\n\t }\n\t lastInvokeTime = 0;\n\t lastArgs = lastCallTime = lastThis = timerId = undefined;\n\t }\n\t\n\t function flush() {\n\t return timerId === undefined ? result : trailingEdge(now());\n\t }\n\t\n\t function debounced() {\n\t var time = now(),\n\t isInvoking = shouldInvoke(time);\n\t\n\t lastArgs = arguments;\n\t lastThis = this;\n\t lastCallTime = time;\n\t\n\t if (isInvoking) {\n\t if (timerId === undefined) {\n\t return leadingEdge(lastCallTime);\n\t }\n\t if (maxing) {\n\t // Handle invocations in a tight loop.\n\t timerId = setTimeout(timerExpired, wait);\n\t return invokeFunc(lastCallTime);\n\t }\n\t }\n\t if (timerId === undefined) {\n\t timerId = setTimeout(timerExpired, wait);\n\t }\n\t return result;\n\t }\n\t debounced.cancel = cancel;\n\t debounced.flush = flush;\n\t return debounced;\n\t}\n\t\n\t/**\n\t * Creates a throttled function that only invokes `func` at most once per\n\t * every `wait` milliseconds. The throttled function comes with a `cancel`\n\t * method to cancel delayed `func` invocations and a `flush` method to\n\t * immediately invoke them. Provide `options` to indicate whether `func`\n\t * should be invoked on the leading and/or trailing edge of the `wait`\n\t * timeout. The `func` is invoked with the last arguments provided to the\n\t * throttled function. Subsequent calls to the throttled function return the\n\t * result of the last `func` invocation.\n\t *\n\t * **Note:** If `leading` and `trailing` options are `true`, `func` is\n\t * invoked on the trailing edge of the timeout only if the throttled function\n\t * is invoked more than once during the `wait` timeout.\n\t *\n\t * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n\t * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n\t *\n\t * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n\t * for details over the differences between `_.throttle` and `_.debounce`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to throttle.\n\t * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n\t * @param {Object} [options={}] The options object.\n\t * @param {boolean} [options.leading=true]\n\t * Specify invoking on the leading edge of the timeout.\n\t * @param {boolean} [options.trailing=true]\n\t * Specify invoking on the trailing edge of the timeout.\n\t * @returns {Function} Returns the new throttled function.\n\t * @example\n\t *\n\t * // Avoid excessively updating the position while scrolling.\n\t * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n\t *\n\t * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n\t * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n\t * jQuery(element).on('click', throttled);\n\t *\n\t * // Cancel the trailing throttled invocation.\n\t * jQuery(window).on('popstate', throttled.cancel);\n\t */\n\tfunction throttle(func, wait, options) {\n\t var leading = true,\n\t trailing = true;\n\t\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t if (isObject(options)) {\n\t leading = 'leading' in options ? !!options.leading : leading;\n\t trailing = 'trailing' in options ? !!options.trailing : trailing;\n\t }\n\t return debounce(func, wait, {\n\t 'leading': leading,\n\t 'maxWait': wait,\n\t 'trailing': trailing\n\t });\n\t}\n\t\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object';\n\t}\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n\t}\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3.2);\n\t * // => 3.2\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3.2');\n\t * // => 3.2\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n\t value = isObject(other) ? other + '' : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n\t}\n\t\n\tmodule.exports = throttle;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * lodash (Custom Build) \n\t * Build: `lodash modularize exports=\"npm\" -o ./`\n\t * Copyright jQuery Foundation and other contributors \n\t * Released under MIT license \n\t * Based on Underscore.js 1.8.3 \n\t * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t */\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global;\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max,\n\t nativeMin = Math.min;\n\t\n\t/**\n\t * Gets the timestamp of the number of milliseconds that have elapsed since\n\t * the Unix epoch (1 January 1970 00:00:00 UTC).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Date\n\t * @returns {number} Returns the timestamp.\n\t * @example\n\t *\n\t * _.defer(function(stamp) {\n\t * console.log(_.now() - stamp);\n\t * }, _.now());\n\t * // => Logs the number of milliseconds it took for the deferred invocation.\n\t */\n\tvar now = function now() {\n\t return root.Date.now();\n\t};\n\t\n\t/**\n\t * Creates a debounced function that delays invoking `func` until after `wait`\n\t * milliseconds have elapsed since the last time the debounced function was\n\t * invoked. The debounced function comes with a `cancel` method to cancel\n\t * delayed `func` invocations and a `flush` method to immediately invoke them.\n\t * Provide `options` to indicate whether `func` should be invoked on the\n\t * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n\t * with the last arguments provided to the debounced function. Subsequent\n\t * calls to the debounced function return the result of the last `func`\n\t * invocation.\n\t *\n\t * **Note:** If `leading` and `trailing` options are `true`, `func` is\n\t * invoked on the trailing edge of the timeout only if the debounced function\n\t * is invoked more than once during the `wait` timeout.\n\t *\n\t * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n\t * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n\t *\n\t * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n\t * for details over the differences between `_.debounce` and `_.throttle`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to debounce.\n\t * @param {number} [wait=0] The number of milliseconds to delay.\n\t * @param {Object} [options={}] The options object.\n\t * @param {boolean} [options.leading=false]\n\t * Specify invoking on the leading edge of the timeout.\n\t * @param {number} [options.maxWait]\n\t * The maximum time `func` is allowed to be delayed before it's invoked.\n\t * @param {boolean} [options.trailing=true]\n\t * Specify invoking on the trailing edge of the timeout.\n\t * @returns {Function} Returns the new debounced function.\n\t * @example\n\t *\n\t * // Avoid costly calculations while the window size is in flux.\n\t * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n\t *\n\t * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n\t * jQuery(element).on('click', _.debounce(sendMail, 300, {\n\t * 'leading': true,\n\t * 'trailing': false\n\t * }));\n\t *\n\t * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n\t * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n\t * var source = new EventSource('/stream');\n\t * jQuery(source).on('message', debounced);\n\t *\n\t * // Cancel the trailing debounced invocation.\n\t * jQuery(window).on('popstate', debounced.cancel);\n\t */\n\tfunction debounce(func, wait, options) {\n\t var lastArgs,\n\t lastThis,\n\t maxWait,\n\t result,\n\t timerId,\n\t lastCallTime,\n\t lastInvokeTime = 0,\n\t leading = false,\n\t maxing = false,\n\t trailing = true;\n\t\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t wait = toNumber(wait) || 0;\n\t if (isObject(options)) {\n\t leading = !!options.leading;\n\t maxing = 'maxWait' in options;\n\t maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n\t trailing = 'trailing' in options ? !!options.trailing : trailing;\n\t }\n\t\n\t function invokeFunc(time) {\n\t var args = lastArgs,\n\t thisArg = lastThis;\n\t\n\t lastArgs = lastThis = undefined;\n\t lastInvokeTime = time;\n\t result = func.apply(thisArg, args);\n\t return result;\n\t }\n\t\n\t function leadingEdge(time) {\n\t // Reset any `maxWait` timer.\n\t lastInvokeTime = time;\n\t // Start the timer for the trailing edge.\n\t timerId = setTimeout(timerExpired, wait);\n\t // Invoke the leading edge.\n\t return leading ? invokeFunc(time) : result;\n\t }\n\t\n\t function remainingWait(time) {\n\t var timeSinceLastCall = time - lastCallTime,\n\t timeSinceLastInvoke = time - lastInvokeTime,\n\t result = wait - timeSinceLastCall;\n\t\n\t return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n\t }\n\t\n\t function shouldInvoke(time) {\n\t var timeSinceLastCall = time - lastCallTime,\n\t timeSinceLastInvoke = time - lastInvokeTime;\n\t\n\t // Either this is the first call, activity has stopped and we're at the\n\t // trailing edge, the system time has gone backwards and we're treating\n\t // it as the trailing edge, or we've hit the `maxWait` limit.\n\t return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n\t }\n\t\n\t function timerExpired() {\n\t var time = now();\n\t if (shouldInvoke(time)) {\n\t return trailingEdge(time);\n\t }\n\t // Restart the timer.\n\t timerId = setTimeout(timerExpired, remainingWait(time));\n\t }\n\t\n\t function trailingEdge(time) {\n\t timerId = undefined;\n\t\n\t // Only invoke if we have `lastArgs` which means `func` has been\n\t // debounced at least once.\n\t if (trailing && lastArgs) {\n\t return invokeFunc(time);\n\t }\n\t lastArgs = lastThis = undefined;\n\t return result;\n\t }\n\t\n\t function cancel() {\n\t if (timerId !== undefined) {\n\t clearTimeout(timerId);\n\t }\n\t lastInvokeTime = 0;\n\t lastArgs = lastCallTime = lastThis = timerId = undefined;\n\t }\n\t\n\t function flush() {\n\t return timerId === undefined ? result : trailingEdge(now());\n\t }\n\t\n\t function debounced() {\n\t var time = now(),\n\t isInvoking = shouldInvoke(time);\n\t\n\t lastArgs = arguments;\n\t lastThis = this;\n\t lastCallTime = time;\n\t\n\t if (isInvoking) {\n\t if (timerId === undefined) {\n\t return leadingEdge(lastCallTime);\n\t }\n\t if (maxing) {\n\t // Handle invocations in a tight loop.\n\t timerId = setTimeout(timerExpired, wait);\n\t return invokeFunc(lastCallTime);\n\t }\n\t }\n\t if (timerId === undefined) {\n\t timerId = setTimeout(timerExpired, wait);\n\t }\n\t return result;\n\t }\n\t debounced.cancel = cancel;\n\t debounced.flush = flush;\n\t return debounced;\n\t}\n\t\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object';\n\t}\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n\t}\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3.2);\n\t * // => 3.2\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3.2');\n\t * // => 3.2\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n\t value = isObject(other) ? other + '' : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n\t}\n\t\n\tmodule.exports = debounce;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar doc = window.document;\n\tvar MutationObserver = window.MutationObserver || window.WebKitMutationObserver;\n\t\n\tvar callback = function callback() {};\n\t\n\tfunction ready(selector, fn) {\n\t var observer = new MutationObserver(check);\n\t callback = fn;\n\t\n\t observer.observe(doc.documentElement, {\n\t childList: true,\n\t subtree: true,\n\t removedNodes: true\n\t });\n\t}\n\t\n\tfunction check(mutations) {\n\t if (!mutations) return;\n\t\n\t mutations.forEach(function (mutation) {\n\t var addedNodes = Array.prototype.slice.call(mutation.addedNodes);\n\t var removedNodes = Array.prototype.slice.call(mutation.removedNodes);\n\t\n\t var anyAOSElementAdded = addedNodes.concat(removedNodes).filter(function (el) {\n\t return el.hasAttribute && el.hasAttribute('data-aos');\n\t }).length;\n\t\n\t if (anyAOSElementAdded) {\n\t callback();\n\t }\n\t });\n\t}\n\t\n\texports.default = ready;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t/**\n\t * Device detector\n\t */\n\t\n\tvar fullNameRe = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i;\n\tvar prefixRe = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i;\n\tvar fullNameMobileRe = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i;\n\tvar prefixMobileRe = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i;\n\t\n\tfunction ua() {\n\t return navigator.userAgent || navigator.vendor || window.opera || '';\n\t}\n\t\n\tvar Detector = function () {\n\t function Detector() {\n\t _classCallCheck(this, Detector);\n\t }\n\t\n\t _createClass(Detector, [{\n\t key: 'phone',\n\t value: function phone() {\n\t var a = ua();\n\t return !!(fullNameRe.test(a) || prefixRe.test(a.substr(0, 4)));\n\t }\n\t }, {\n\t key: 'mobile',\n\t value: function mobile() {\n\t var a = ua();\n\t return !!(fullNameMobileRe.test(a) || prefixMobileRe.test(a.substr(0, 4)));\n\t }\n\t }, {\n\t key: 'tablet',\n\t value: function tablet() {\n\t return this.mobile() && !this.phone();\n\t }\n\t }]);\n\t\n\t return Detector;\n\t}();\n\t\n\t;\n\t\n\texports.default = new Detector();\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t/**\n\t * Set or remove aos-animate class\n\t * @param {node} el element\n\t * @param {int} top scrolled distance\n\t * @param {void} once\n\t */\n\tvar setState = function setState(el, top, once) {\n\t var attrOnce = el.node.getAttribute('data-aos-once');\n\t\n\t if (top > el.position) {\n\t el.node.classList.add('aos-animate');\n\t } else if (typeof attrOnce !== 'undefined') {\n\t if (attrOnce === 'false' || !once && attrOnce !== 'true') {\n\t el.node.classList.remove('aos-animate');\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Scroll logic - add or remove 'aos-animate' class on scroll\n\t *\n\t * @param {array} $elements array of elements nodes\n\t * @param {bool} once plugin option\n\t * @return {void}\n\t */\n\tvar handleScroll = function handleScroll($elements, once) {\n\t var scrollTop = window.pageYOffset;\n\t var windowHeight = window.innerHeight;\n\t /**\n\t * Check all registered elements positions\n\t * and animate them on scroll\n\t */\n\t $elements.forEach(function (el, i) {\n\t setState(el, windowHeight + scrollTop, once);\n\t });\n\t};\n\t\n\texports.default = handleScroll;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _calculateOffset = __webpack_require__(12);\n\t\n\tvar _calculateOffset2 = _interopRequireDefault(_calculateOffset);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar prepare = function prepare($elements, options) {\n\t $elements.forEach(function (el, i) {\n\t el.node.classList.add('aos-init');\n\t el.position = (0, _calculateOffset2.default)(el.node, options.offset);\n\t });\n\t return $elements;\n\t}; /* Clearing variables */\n\t\n\texports.default = prepare;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _offset = __webpack_require__(13);\n\t\n\tvar _offset2 = _interopRequireDefault(_offset);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar calculateOffset = function calculateOffset(el, optionalOffset) {\n\t var elementOffsetTop = 0;\n\t var additionalOffset = 0;\n\t var windowHeight = window.innerHeight;\n\t var attrs = {\n\t offset: el.getAttribute('data-aos-offset'),\n\t anchor: el.getAttribute('data-aos-anchor'),\n\t anchorPlacement: el.getAttribute('data-aos-anchor-placement')\n\t };\n\t\n\t if (attrs.offset && !isNaN(attrs.offset)) {\n\t additionalOffset = parseInt(attrs.offset);\n\t }\n\t\n\t if (attrs.anchor && document.querySelectorAll(attrs.anchor)) {\n\t el = document.querySelectorAll(attrs.anchor)[0];\n\t }\n\t\n\t elementOffsetTop = (0, _offset2.default)(el).top;\n\t\n\t switch (attrs.anchorPlacement) {\n\t case 'top-bottom':\n\t // Default offset\n\t break;\n\t case 'center-bottom':\n\t elementOffsetTop += el.offsetHeight / 2;\n\t break;\n\t case 'bottom-bottom':\n\t elementOffsetTop += el.offsetHeight;\n\t break;\n\t case 'top-center':\n\t elementOffsetTop += windowHeight / 2;\n\t break;\n\t case 'bottom-center':\n\t elementOffsetTop += windowHeight / 2 + el.offsetHeight;\n\t break;\n\t case 'center-center':\n\t elementOffsetTop += windowHeight / 2 + el.offsetHeight / 2;\n\t break;\n\t case 'top-top':\n\t elementOffsetTop += windowHeight;\n\t break;\n\t case 'bottom-top':\n\t elementOffsetTop += el.offsetHeight + windowHeight;\n\t break;\n\t case 'center-top':\n\t elementOffsetTop += el.offsetHeight / 2 + windowHeight;\n\t break;\n\t }\n\t\n\t if (!attrs.anchorPlacement && !attrs.offset && !isNaN(optionalOffset)) {\n\t additionalOffset = optionalOffset;\n\t }\n\t\n\t return elementOffsetTop + additionalOffset;\n\t}; /**\n\t * Calculate offset\n\t * basing on element's settings like:\n\t * - anchor\n\t * - offset\n\t *\n\t * @param {Node} el [Dom element]\n\t * @return {Integer} [Final offset that will be used to trigger animation in good position]\n\t */\n\t\n\texports.default = calculateOffset;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t/**\n\t * Get offset of DOM element Helper\n\t * including these with translation\n\t *\n\t * @param {Node} el [DOM element]\n\t * @return {Object} [top and left offset]\n\t */\n\tvar offset = function offset(el) {\n\t var _x = 0;\n\t var _y = 0;\n\t\n\t while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {\n\t _x += el.offsetLeft - (el.tagName != 'BODY' ? el.scrollLeft : 0);\n\t _y += el.offsetTop - (el.tagName != 'BODY' ? el.scrollTop : 0);\n\t el = el.offsetParent;\n\t }\n\t\n\t return {\n\t top: _y,\n\t left: _x\n\t };\n\t};\n\t\n\texports.default = offset;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t/**\n\t * Generate initial array with elements as objects\n\t * This array will be extended later with elements attributes values\n\t * like 'position'\n\t */\n\tvar createArrayWithElements = function createArrayWithElements(elements) {\n\t elements = elements || document.querySelectorAll('[data-aos]');\n\t var finalElements = [];\n\t\n\t [].forEach.call(elements, function (el, i) {\n\t finalElements.push({\n\t node: el\n\t });\n\t });\n\t\n\t return finalElements;\n\t};\n\t\n\texports.default = createArrayWithElements;\n\n/***/ })\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// aos.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 49cc9c62c99c281566d0","/**\n * *******************************************************\n * AOS (Animate on scroll) - wowjs alternative\n * made to animate elements on scroll in both directions\n * *******************************************************\n */\n\nimport styles from './../sass/aos.scss';\n\n// Modules & helpers\nimport throttle from 'lodash.throttle';\nimport debounce from 'lodash.debounce';\n\nimport observe from './libs/observer';\n\nimport detect from './helpers/detector';\nimport handleScroll from './helpers/handleScroll';\nimport prepare from './helpers/prepare';\nimport elements from './helpers/elements';\n\n/**\n * Private variables\n */\nlet $aosElements = [];\nlet initialized = false;\n\n// Detect not supported browsers (<=IE9)\n// http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\nconst browserNotSupported = document.all && !window.atob;\n\n/**\n * Default options\n */\nlet options = {\n offset: 120,\n delay: 0,\n easing: 'ease',\n duration: 400,\n disable: false,\n once: false,\n startEvent: 'DOMContentLoaded'\n};\n\n/**\n * Refresh AOS\n */\nconst refresh = function refresh(initialize = false) {\n // Allow refresh only when it was first initialized on startEvent\n if (initialize) initialized = true;\n\n if (initialized) {\n // Extend elements objects in $aosElements with their positions\n $aosElements = prepare($aosElements, options);\n // Perform scroll event, to refresh view and show/hide elements\n handleScroll($aosElements, options.once);\n\n return $aosElements;\n }\n};\n\n/**\n * Hard refresh\n * create array with new elements and trigger refresh\n */\nconst refreshHard = function refreshHard() {\n $aosElements = elements();\n refresh();\n};\n\n/**\n * Disable AOS\n * Remove all attributes to reset applied styles\n */\nconst disable = function() {\n $aosElements.forEach(function(el, i) {\n el.node.removeAttribute('data-aos');\n el.node.removeAttribute('data-aos-easing');\n el.node.removeAttribute('data-aos-duration');\n el.node.removeAttribute('data-aos-delay');\n });\n};\n\n\n/**\n * Check if AOS should be disabled based on provided setting\n */\nconst isDisabled = function(optionDisable) {\n return optionDisable === true ||\n (optionDisable === 'mobile' && detect.mobile()) ||\n (optionDisable === 'phone' && detect.phone()) ||\n (optionDisable === 'tablet' && detect.tablet()) ||\n (typeof optionDisable === 'function' && optionDisable() === true);\n};\n\n/**\n * Initializing AOS\n * - Create options merging defaults with user defined options\n * - Set attributes on as global setting - css relies on it\n * - Attach preparing elements to options.startEvent,\n * window resize and orientation change\n * - Attach function that handle scroll and everything connected to it\n * to window scroll event and fire once document is ready to set initial state\n */\nconst init = function init(settings) {\n options = Object.assign(options, settings);\n\n // Create initial array with elements -> to be fullfilled later with prepare()\n $aosElements = elements();\n\n /**\n * Don't init plugin if option `disable` is set\n * or when browser is not supported\n */\n if (isDisabled(options.disable) || browserNotSupported) {\n return disable();\n }\n\n /**\n * Set global settings on body, based on options\n * so CSS can use it\n */\n document.querySelector('body').setAttribute('data-aos-easing', options.easing);\n document.querySelector('body').setAttribute('data-aos-duration', options.duration);\n document.querySelector('body').setAttribute('data-aos-delay', options.delay);\n\n /**\n * Handle initializing\n */\n if (options.startEvent === 'DOMContentLoaded' &&\n ['complete', 'interactive'].indexOf(document.readyState) > -1) {\n // Initialize AOS if default startEvent was already fired\n refresh(true);\n } else if (options.startEvent === 'load') {\n // If start event is 'Load' - attach listener to window\n window.addEventListener(options.startEvent, function() {\n refresh(true);\n });\n } else {\n // Listen to options.startEvent and initialize AOS\n document.addEventListener(options.startEvent, function() {\n refresh(true);\n });\n }\n\n /**\n * Refresh plugin on window resize or orientation change\n */\n window.addEventListener('resize', debounce(refresh, 50, true));\n window.addEventListener('orientationchange', debounce(refresh, 50, true));\n\n /**\n * Handle scroll event to animate elements on scroll\n */\n window.addEventListener('scroll', throttle(() => {\n handleScroll($aosElements, options.once);\n }, 99));\n\n /**\n * Observe [aos] elements\n * If something is loaded by AJAX\n * it'll refresh plugin automatically\n */\n observe('[data-aos]', refreshHard);\n\n return $aosElements;\n};\n\n/**\n * Export Public API\n */\n\nmodule.exports = {\n init,\n refresh,\n refreshHard\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/aos.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.throttle/index.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.debounce/index.js","const doc = window.document;\nconst MutationObserver = window.MutationObserver || window.WebKitMutationObserver;\n\nlet callback = () => {};\n\nfunction ready (selector, fn) {\n const observer = new MutationObserver(check);\n callback = fn;\n\n observer.observe(doc.documentElement, {\n childList: true,\n subtree: true,\n removedNodes: true\n });\n}\n\nfunction check(mutations) {\n if (!mutations) return;\n\n mutations.forEach(mutation => {\n const addedNodes = Array.prototype.slice.call(mutation.addedNodes)\n const removedNodes = Array.prototype.slice.call(mutation.removedNodes)\n\n const anyAOSElementAdded = addedNodes.concat(removedNodes)\n .filter(el => el.hasAttribute && el.hasAttribute('data-aos'))\n .length\n\n if(anyAOSElementAdded) {\n callback()\n }\n });\n}\n\nexport default ready;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/libs/observer.js","/**\n * Device detector\n */\n\nconst fullNameRe = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i;\nconst prefixRe = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i;\nconst fullNameMobileRe = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i;\nconst prefixMobileRe = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i;\n\n\nfunction ua() {\n return navigator.userAgent || navigator.vendor || window.opera || '';\n}\n\n\nclass Detector {\n\n phone() {\n const a = ua();\n return !!(fullNameRe.test(a) || prefixRe.test(a.substr(0, 4)));\n }\n\n mobile() {\n const a = ua();\n return !!(fullNameMobileRe.test(a) || prefixMobileRe.test(a.substr(0, 4)));\n }\n\n tablet() {\n return this.mobile() && !this.phone();\n }\n};\n\nexport default new Detector;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/helpers/detector.js","/**\n * Set or remove aos-animate class\n * @param {node} el element\n * @param {int} top scrolled distance\n * @param {void} once\n */\nconst setState = function (el, top, once) {\n const attrOnce = el.node.getAttribute('data-aos-once');\n\n if (top > el.position) {\n el.node.classList.add('aos-animate');\n } else if (typeof attrOnce !== 'undefined') {\n if (attrOnce === 'false' || (!once && attrOnce !== 'true')) {\n el.node.classList.remove('aos-animate');\n }\n }\n};\n\n\n/**\n * Scroll logic - add or remove 'aos-animate' class on scroll\n *\n * @param {array} $elements array of elements nodes\n * @param {bool} once plugin option\n * @return {void}\n */\nconst handleScroll = function ($elements, once) {\n const scrollTop = window.pageYOffset;\n const windowHeight = window.innerHeight;\n /**\n * Check all registered elements positions\n * and animate them on scroll\n */\n $elements.forEach((el, i) => {\n setState(el, windowHeight + scrollTop, once);\n });\n};\n\nexport default handleScroll;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/helpers/handleScroll.js","/* Clearing variables */\n\nimport calculateOffset from './calculateOffset';\n\nconst prepare = function ($elements, options) {\n $elements.forEach((el, i) => {\n el.node.classList.add('aos-init');\n el.position = calculateOffset(el.node, options.offset);\n });\n return $elements;\n};\n\nexport default prepare;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/helpers/prepare.js","/**\n * Calculate offset\n * basing on element's settings like:\n * - anchor\n * - offset\n *\n * @param {Node} el [Dom element]\n * @return {Integer} [Final offset that will be used to trigger animation in good position]\n */\n\nimport getOffset from './../libs/offset';\n\nconst calculateOffset = function (el, optionalOffset) {\n let elementOffsetTop = 0;\n let additionalOffset = 0;\n const windowHeight = window.innerHeight;\n const attrs = {\n offset: el.getAttribute('data-aos-offset'),\n anchor: el.getAttribute('data-aos-anchor'),\n anchorPlacement: el.getAttribute('data-aos-anchor-placement')\n };\n\n if (attrs.offset && !isNaN(attrs.offset)) {\n additionalOffset = parseInt(attrs.offset);\n }\n\n if (attrs.anchor && document.querySelectorAll(attrs.anchor)) {\n el = document.querySelectorAll(attrs.anchor)[0];\n }\n\n elementOffsetTop = getOffset(el).top;\n\n switch (attrs.anchorPlacement) {\n case 'top-bottom':\n // Default offset\n break;\n case 'center-bottom':\n elementOffsetTop += el.offsetHeight / 2;\n break;\n case 'bottom-bottom':\n elementOffsetTop += el.offsetHeight;\n break;\n case 'top-center':\n elementOffsetTop += windowHeight / 2;\n break;\n case 'bottom-center':\n elementOffsetTop += windowHeight / 2 + el.offsetHeight;\n break;\n case 'center-center':\n elementOffsetTop += windowHeight / 2 + el.offsetHeight / 2;\n break;\n case 'top-top':\n elementOffsetTop += windowHeight;\n break;\n case 'bottom-top':\n elementOffsetTop += el.offsetHeight + windowHeight;\n break;\n case 'center-top':\n elementOffsetTop += el.offsetHeight / 2 + windowHeight;\n break;\n }\n\n if (!attrs.anchorPlacement && !attrs.offset && !isNaN(optionalOffset)) {\n additionalOffset = optionalOffset;\n }\n\n return elementOffsetTop + additionalOffset;\n};\n\nexport default calculateOffset;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/helpers/calculateOffset.js","/**\n * Get offset of DOM element Helper\n * including these with translation\n *\n * @param {Node} el [DOM element]\n * @return {Object} [top and left offset]\n */\nconst offset = function (el) {\n let _x = 0;\n let _y = 0;\n\n while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {\n _x += el.offsetLeft - (el.tagName != 'BODY' ? el.scrollLeft : 0);\n _y += el.offsetTop - (el.tagName != 'BODY' ? el.scrollTop : 0);\n el = el.offsetParent;\n }\n\n return {\n top: _y,\n left: _x\n };\n};\n\nexport default offset;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/libs/offset.js","/**\n * Generate initial array with elements as objects\n * This array will be extended later with elements attributes values\n * like 'position'\n */\nconst createArrayWithElements = function (elements) {\n elements = elements || document.querySelectorAll('[data-aos]');\n let finalElements = [];\n\n [].forEach.call(elements, function(el, i) {\n finalElements.push({\n node: el\n });\n });\n\n return finalElements;\n};\n\nexport default createArrayWithElements;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/helpers/elements.js"],"sourceRoot":""}