! function t(e, n, o) { function r(i, c) { if (!n[i]) { if (!e[i]) { var s = "function" == typeof require && require; if (!c && s) return s(i, !0); if (a) return a(i, !0); var u = new error("cannot find module '" + i + "'"); throw u.code = "module_not_found", u } var l = n[i] = { exports: {} }; e[i][0].call(l.exports, function(t) { var n = e[i][1][t]; return r(n ? n : t) }, l, l.exports, t, e, n, o) } return n[i].exports } for (var a = "function" == typeof require && require, i = 0; i < o.length; i++) r(o[i]); return r }({ 1: [function(t, e) { function n(t, e) { return null == e ? t : o(e, r(e), t) } var o = t("lodash._basecopy"), r = t("lodash.keys"); e.exports = n }, { "lodash._basecopy": 2, "lodash.keys": 11 }], 2: [function(t, e) { function n(t, e, n) { n || (n = {}); for (var o = -1, r = e.length; ++o < r;) { var a = e[o]; n[a] = t[a] } return n } e.exports = n }, {}], 3: [function(t, e) { function n(t, e, n) { if ("function" != typeof t) return o; if (void 0 === e) return t; switch (n) { case 1: return function(n) { return t.call(e, n) }; case 3: return function(n, o, r) { return t.call(e, n, o, r) }; case 4: return function(n, o, r, a) { return t.call(e, n, o, r, a) }; case 5: return function(n, o, r, a, i) { return t.call(e, n, o, r, a, i) } } return function() { return t.apply(e, arguments) } } function o(t) { return t } e.exports = n }, {}], 4: [function(t, e) { function n(t) { return a(function(e, n) { var a = -1, i = null == e ? 0 : n.length, c = i> 2 ? n[i - 2] : void 0, s = i> 2 ? n[2] : void 0, u = i> 1 ? n[i - 1] : void 0; for ("function" == typeof c ? (c = o(c, u, 5), i -= 2) : (c = "function" == typeof u ? u : void 0, i -= c ? 1 : 0), s && r(n[0], n[1], s) && (c = 3> i ? void 0 : c, i = 1); ++a < i;) { var l = n[a]; l && t(e, l, c) } return e }) } var o = t("lodash._bindcallback"), r = t("lodash._isiterateecall"), a = t("lodash.restparam"); e.exports = n }, { "lodash._bindcallback": 3, "lodash._isiterateecall": 6, "lodash.restparam": 12 }], 5: [function(t, e) { function n(t) { return !!t && "object" == typeof t } function o(t, e) { var n = null == t ? void 0 : t[e]; return i(n) ? n : void 0 } function r(t) { return a(t) && p.call(t) == c } function a(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } function i(t) { return null == t ? !1 : r(t) ? d.test(l.call(t)) : n(t) && s.test(t) } var c = "[object function]", s = /^\[object .+?constructor\]$/, u = object.prototype, l = function.prototype.tostring, f = u.hasownproperty, p = u.tostring, d = regexp("^" + l.call(f).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasownproperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); e.exports = o }, {}], 6: [function(t, e) { function n(t) { return function(e) { return null == e ? void 0 : e[t] } } function o(t) { return null != t && i(l(t)) } function r(t, e) { return t = "number" == typeof t || s.test(t) ? +t : -1, e = null == e ? u : e, t> -1 && t % 1 == 0 && e> t } function a(t, e, n) { if (!c(n)) return !1; var a = typeof e; if ("number" == a ? o(n) && r(e, n.length) : "string" == a && e in n) { var i = n[e]; return t === t ? t === i : i !== i } return !1 } function i(t) { return "number" == typeof t && t> -1 && t % 1 == 0 && u>= t } function c(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } var s = /^\d+$/, u = 9007199254740991, l = n("length"); e.exports = a }, {}], 7: [function(t, e) { function n(t, e, n) { for (var o = -1, r = a(e), i = r.length; ++o < i;) { var c = r[o], s = t[c], u = n(s, e[c], c, t, e); (u === u ? u === s : s !== s) && (void 0 !== s || c in t) || (t[c] = u) } return t } var o = t("lodash._baseassign"), r = t("lodash._createassigner"), a = t("lodash.keys"), i = r(function(t, e, r) { return r ? n(t, e, r) : o(t, e) }); e.exports = i }, { "lodash._baseassign": 1, "lodash._createassigner": 4, "lodash.keys": 11 }], 8: [function(t, e) { function n(t, e, n) { function r() { v && cleartimeout(v), d && cleartimeout(d), y = 0, d = v = g = void 0 } function c(e, n) { n && cleartimeout(n), d = v = g = void 0, e && (y = s(), m = t.apply(h, p), v || d || (p = h = void 0)) } function u() { var t = e - (s() - b); 0>= t || t> e ? c(g, d) : v = settimeout(u, t) } function l() { c(k, v) } function f() { if (p = arguments, b = s(), h = this, g = k && (v || !x), w === !1) var n = x && !v; else { d || x || (y = b); var o = w - (b - y), r = 0>= o || o> w; r ? (d && (d = cleartimeout(d)), y = b, m = t.apply(h, p)) : d || (d = settimeout(l, o)) } return r && v ? v = cleartimeout(v) : v || e === w || (v = settimeout(u, e)), n && (r = !0, m = t.apply(h, p)), !r || v || d || (p = h = void 0), m } var p, d, m, b, h, v, g, y = 0, w = !1, k = !0; if ("function" != typeof t) throw new typeerror(a); if (e = 0> e ? 0 : +e || 0, n === !0) { var x = !0; k = !1 } else o(n) && (x = !! n.leading, w = "maxwait" in n && i(+n.maxwait || 0, e), k = "trailing" in n ? !! n.trailing : k); return f.cancel = r, f } function o(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } var r = t("lodash._getnative"), a = "expected a function", i = math.max, c = r(date, "now"), s = c || function() { return (new date).gettime() }; e.exports = n }, { "lodash._getnative": 5 }], 9: [function(t, e) { (function(t) { function n(t) { return function(e) { return null == e ? void 0 : e[t] } } function o(t) { return a(t) && b.call(t, "callee") && (!v.call(t, "callee") || h.call(t) == f) } function r(t) { return null != t && !("function" == typeof t && i(t)) && c(g(t)) } function a(t) { return u(t) && r(t) } function i(t) { var e = s(t) ? h.call(t) : ""; return e == p || e == d } function c(t) { return "number" == typeof t && t> -1 && t % 1 == 0 && l>= t } function s(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } function u(t) { return !!t && "object" == typeof t } var l = 9007199254740991, f = "[object arguments]", p = "[object function]", d = "[object generatorfunction]", m = t.object.prototype, b = m.hasownproperty, h = m.tostring, v = m.propertyisenumerable, g = n("length"); e.exports = o }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 10: [function(t, e) { function n(t) { return !!t && "object" == typeof t } function o(t, e) { var n = null == t ? void 0 : t[e]; return c(n) ? n : void 0 } function r(t) { return "number" == typeof t && t> -1 && t % 1 == 0 && v>= t } function a(t) { return i(t) && m.call(t) == u } function i(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } function c(t) { return null == t ? !1 : a(t) ? b.test(p.call(t)) : n(t) && l.test(t) } var s = "[object array]", u = "[object function]", l = /^\[object .+?constructor\]$/, f = object.prototype, p = function.prototype.tostring, d = f.hasownproperty, m = f.tostring, b = regexp("^" + p.call(d).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasownproperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), h = o(array, "isarray"), v = 9007199254740991, g = h || function(t) { return n(t) && r(t.length) && m.call(t) == s }; e.exports = g }, {}], 11: [function(t, e) { function n(t) { return function(e) { return null == e ? void 0 : e[t] } } function o(t) { return null != t && a(v(t)) } function r(t, e) { return t = "number" == typeof t || p.test(t) ? +t : -1, e = null == e ? h : e, t> -1 && t % 1 == 0 && e> t } function a(t) { return "number" == typeof t && t> -1 && t % 1 == 0 && h>= t } function i(t) { for (var e = s(t), n = e.length, o = n && t.length, i = !! o && a(o) && (f(t) || l(t)), c = -1, u = []; ++c < n;) { var p = e[c]; (i && r(p, o) || m.call(t, p)) && u.push(p) } return u } function c(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } function s(t) { if (null == t) return []; c(t) || (t = object(t)); var e = t.length; e = e && a(e) && (f(t) || l(t)) && e || 0; for (var n = t.constructor, o = -1, i = "function" == typeof n && n.prototype === t, s = array(e), u = e> 0; ++o < e;) s[o] = o + ""; for (var p in t) u && r(p, e) || "constructor" == p && (i || !m.call(t, p)) || s.push(p); return s } var u = t("lodash._getnative"), l = t("lodash.isarguments"), f = t("lodash.isarray"), p = /^\d+$/, d = object.prototype, m = d.hasownproperty, b = u(object, "keys"), h = 9007199254740991, v = n("length"), g = b ? function(t) { var e = null == t ? void 0 : t.constructor; return "function" == typeof e && e.prototype === t || "function" != typeof t && o(t) ? i(t) : c(t) ? b(t) : [] } : i; e.exports = g }, { "lodash._getnative": 5, "lodash.isarguments": 9, "lodash.isarray": 10 }], 12: [function(t, e) { function n(t, e) { if ("function" != typeof t) throw new typeerror(o); return e = r(void 0 === e ? t.length - 1 : +e || 0, 0), function() { for (var n = arguments, o = -1, a = r(n.length - e, 0), i = array(a); ++o < a;) i[o] = n[e + o]; switch (e) { case 0: return t.call(this, i); case 1: return t.call(this, n[0], i); case 2: return t.call(this, n[0], n[1], i) } var c = array(e + 1); for (o = -1; ++o < e;) c[o] = n[o]; return c[e] = i, t.apply(this, c) } } var o = "expected a function", r = math.max; e.exports = n }, {}], 13: [function(t, e) { function n(t, e, n) { var i = !0, c = !0; if ("function" != typeof t) throw new typeerror(a); return n === !1 ? i = !1 : o(n) && (i = "leading" in n ? !! n.leading : i, c = "trailing" in n ? !! n.trailing : c), r(t, e, { leading: i, maxwait: +e, trailing: c }) } function o(t) { var e = typeof t; return !!t && ("object" == e || "function" == e) } var r = t("lodash.debounce"), a = "expected a function"; e.exports = n }, { "lodash.debounce": 8 }], 14: [function(t) { var e = t("lodash.throttle"), n = t("lodash.debounce"), o = t("lodash.assign"), r = t("./libs/observer"), a = (t("./libs/classlist-shim"), t("./helpers/detector")), i = t("./helpers/handlescroll"), c = t("./helpers/prepare"), s = t("./helpers/elements"), u = t("./helpers/replacedataattr"); ! function(t, l) { var f = [], p = !1, d = { offset: 120, delay: 0, easing: "ease", duration: 400, disable: !1, once: !1, startevent: "domcontentloaded" }, m = function(t) { return t && t === !0 && (p = !0), p ? (f = c(f, d), i(f, d.once), f) : void 0 }, b = function(c) { return d = o(d, c), u(), f = s(), d.disable && (d.disable === !0 || "mobile" === d.disable && a.mobile() || "phone" === d.disable && a.phone() || "tablet" === d.disable && a.tablet() || "function" == typeof d.disable && d.disable() === !0) ? ([].foreach.call(f, function(t) { t.node.removeattribute("aos"), t.node.removeattribute("aos-easing"), t.node.removeattribute("aos-duration"), t.node.removeattribute("aos-delay") }), !1) : (l.queryselector("body").setattribute("aos-easing", d.easing), l.queryselector("body").setattribute("aos-duration", d.duration), l.queryselector("body").setattribute("aos-delay", d.delay), l.addeventlistener(d.startevent, function() { m(!0) }), t.addeventlistener("resize orientationchange", n(m, 50, !0)), t.addeventlistener("scroll", e(function() { i(f, d.once) }, 99)), l.addeventlistener("domnoderemoved", function(t) { var e = t.target; e && 1 === e.nodetype && e.hasattribute && t.target.hasattribute("aos") && n(m, 50, !0) }), r("[aos]", m), f) }, h = { init: b, refresh: m }; t.aos = h }(window, document) }, { "./helpers/detector": 16, "./helpers/elements": 17, "./helpers/handlescroll": 18, "./helpers/prepare": 19, "./helpers/replacedataattr": 20, "./libs/classlist-shim": 21, "./libs/observer": 22, "lodash.assign": 7, "lodash.debounce": 8, "lodash.throttle": 13 }], 15: [function(t, e) { var n = t("./../libs/offset"), o = function(t, e) { var o = 0, r = 0, a = window.innerheight, i = { offset: t.getattribute("aos-offset"), anchor: t.getattribute("aos-anchor"), anchorplacement: t.getattribute("aos-anchor-placement") }; switch (i.offset && !isnan(i.offset) && (r = parseint(i.offset)), i.anchor && document.queryselectorall(i.anchor) && (t = document.queryselectorall(i.anchor)[0]), o = n(t).top, i.anchorplacement) { case "top-bottom": break; case "center-bottom": o += t.offsetheight / 2; break; case "bottom-bottom": o += t.offsetheight; break; case "top-center": o += a / 2; break; case "bottom-center": o += a / 2 + t.offsetheight; break; case "center-center": o += a / 2 + t.offsetheight / 2; break; case "top-top": o += a; break; case "bottom-top": o += t.offsetheight + a; break; case "center-top": o += t.offsetheight / 2 + a } return i.anchorplacement || i.offset || isnan(e) || (r = e), o + r }; e.exports = o }, { "./../libs/offset": 23 }], 16: [function(t, e) { var n = { phone: function() { var t = !1; return function(e) { (/(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.test(e) || /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.test(e.substr(0, 4))) && (t = !0) }(navigator.useragent || navigator.vendor || window.opera), t }, mobile: function() { var t = !1; return function(e) { (/(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.test(e) || /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.test(e.substr(0, 4))) && (t = !0) }(navigator.useragent || navigator.vendor || window.opera), t }, tablet: function() { return _detect.mobile() && !_detect.phone() } }; e.exports = n }, {}], 17: [function(t, e) { var n = function(t) { var t = t || document.queryselectorall("[aos]"), e = []; return [].foreach.call(t, function(t) { e.push({ node: t }) }), e }; e.exports = n }, {}], 18: [function(t, e) { var n = function(t, e, n) { var o = t.node.getattribute("aos-once"); e> t.position ? t.node.classlist.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && t.node.classlist.remove("aos-animate") }, o = function(t, e) { var o = window.pageyoffset, r = window.innerheight; [].foreach.call(t, function(t) { n(t, r + o, e) }) }; e.exports = o }, {}], 19: [function(t, e) { var n = t("./calculateoffset"), o = function(t, e) { return [].foreach.call(t, function(t) { t.node.classlist.add("aos-init"), t.position = n(t.node, e.offset) }), t }; e.exports = o }, { "./calculateoffset": 15 }], 20: [function(t, e) { var n = function() { var t = ["[data-aos]", "[data-aos-offset]", "[data-aos-easing]", "[data-aos-delay]", "[data-aos-anchor]", "[data-aos-anchor-placement]", "[data-aos-once]"], e = t.join(", "), n = document.queryselectorall(e); [].foreach.call(n, function(e) { var n = /^data\-(.+)$/, o = []; [].foreach.call(e.attributes, function(r) { if (n.test(r.nodename)) { var a = r.nodename.match(n)[0], i = "[" + a + "]", c = r.nodename.match(n)[1]; e.getattribute(a).length && -1 !== t.indexof(i) && (e.setattribute(c, r.nodevalue), o.push(a)) } }); for (var r = 0; r < o.length; r++) e.removeattribute(o[r]) }) }; e.exports = n }, {}], 21: [function() { "classlist" in document.documentelement || !object.defineproperty || "undefined" == typeof htmlelement || object.defineproperty(htmlelement.prototype, "classlist", { get: function() { function t(t) { return function(n) { var o = e.classname.split(/\s+/), r = o.indexof(n); t(o, r, n), e.classname = o.join(" ") } } var e = this, n = { add: t(function(t, e, n) {~e || t.push(n) }), remove: t(function(t, e) {~e && t.splice(e, 1) }), toggle: t(function(t, e, n) {~e ? t.splice(e, 1) : t.push(n) }), contains: function(t) { return !!~e.classname.split(/\s+/).indexof(t) }, item: function(t) { return e.classname.split(/\s+/)[t] || null } }; return object.defineproperty(n, "length", { get: function() { return e.classname.split(/\s+/).length } }), n } }) }, {}], 22: [function(t, e) { function n(t, e) { a.push({ selector: t, fn: e }), !r && c && (r = new c(o), r.observe(i.documentelement, { childlist: !0, subtree: !0, removednodes: !0 })), o() } function o() { for (var t, e, n = 0, o = a.length; o> n; n++) { t = a[n], e = i.queryselectorall(t.selector); for (var r, c = 0, s = e.length; s> c; c++) r = e[c], r.ready || (r.ready = !0, t.fn.call(r, r)) } } var r, a = [], i = window.document, c = window.mutationobserver || window.webkitmutationobserver; e.exports = n }, {}], 23: [function(t, e) { var n = function(t) { for (var e = 0, n = 0; t && !isnan(t.offsetleft) && !isnan(t.offsettop);) e += t.offsetleft - ("body" != t.tagname ? t.scrollleft : 0), n += t.offsettop - ("body" != t.tagname ? t.scrolltop : 0), t = t.offsetparent; return { top: n, left: e } }; e.exports = n }, {}] }, {}, [14]); //# sourcemappingurl=aos.js.map aos.init({ easing: 'ease-out-back', duration: 600, }); // smoothscroll for websites v1.2.1 // licensed under the terms of the mit license. // people involved // - balazs galambosi (maintainer) // - michael herf (pulse algorithm) (function($) { "use strict"; (function(){ // scroll variables (tweakable) var defaultoptions = { // scrolling core framerate : 150, // [hz] animationtime : 1800, // [px] stepsize : 85, // [px] // pulse (less tweakable) // ratio of "tail" to "acceleration" pulsealgorithm : true, pulsescale : 8, pulsenormalize : 1, // acceleration accelerationdelta : 20, // 20 accelerationmax : 1, // 1 // keyboard settings keyboardsupport : true, // option arrowscroll : 50, // [px] // other touchpadsupport : true, fixedbackground : true, excluded : "" }; var options = defaultoptions; // other variables var isexcluded = false; var isframe = false; var direction = { x: 0, y: 0 }; var initdone = false; var root = document.documentelement; var activeelement; var observer; var deltabuffer = [ 120, 120, 120 ]; var key = { left: 37, up: 38, right: 39, down: 40, spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36 }; /*********************************************** * settings ***********************************************/ var options = defaultoptions; /*********************************************** * initialize ***********************************************/ /** * tests if smooth scrolling is allowed. shuts down everything if not. */ function inittest() { var disablekeyboard = false; // disable keyboard support if anything above requested it if (disablekeyboard) { removeevent("keydown", keydown); } if (options.keyboardsupport && !disablekeyboard) { addevent("keydown", keydown); } } /** * sets up scrolls array, determines if frames are involved. */ function init() { if (!document.body) return; var body = document.body; var html = document.documentelement; var windowheight = window.innerheight; var scrollheight = body.scrollheight; // check compat mode for root element root = (document.compatmode.indexof('css')>= 0) ? html : body; activeelement = body; inittest(); initdone = true; // checks if this script is running in a frame if (top != self) { isframe = true; } /** * this fixes a bug where the areas left and right to * the content does not trigger the onmousewheel event * on some pages. e.g.: html, body { height: 100% } */ else if (scrollheight> windowheight && (body.offsetheight <= windowheight || html.offsetheight <= windowheight)) { html.style.height = 'auto'; //settimeout(refresh, 10); // clearfix if (root.offsetheight <= windowheight) { var underlay = document.createelement("div"); underlay.style.clear = "both"; body.appendchild(underlay); } } // disable fixed background if (!options.fixedbackground && !isexcluded) { body.style.backgroundattachment = "scroll"; html.style.backgroundattachment = "scroll"; } } /************************************************ * scrolling ************************************************/ var que = []; var pending = false; var lastscroll = +new date; /** * pushes scroll actions to the scrolling queue. */ function scrollarray(elem, left, top, delay) { delay || (delay = 1000); directioncheck(left, top); if (options.accelerationmax != 1) { var now = +new date; var elapsed = now - lastscroll; if (elapsed < options.accelerationdelta) { var factor = (1 + (30 / elapsed)) / 2; if (factor> 1) { factor = math.min(factor, options.accelerationmax); left *= factor; top *= factor; } } lastscroll = +new date; } // push a scroll command que.push({ x: left, y: top, lastx: (left < 0) ? 0.99 : -0.99, lasty: (top < 0) ? 0.99 : -0.99, start: +new date }); // don't act if there's a pending queue if (pending) { return; } var scrollwindow = (elem === document.body); var step = function (time) { var now = +new date; var scrollx = 0; var scrolly = 0; for (var i = 0; i < que.length; i++) { var item = que[i]; var elapsed = now - item.start; var finished = (elapsed>= options.animationtime); // scroll position: [0, 1] var position = (finished) ? 1 : elapsed / options.animationtime; // easing [optional] if (options.pulsealgorithm) { position = pulse(position); } // only need the difference var x = (item.x * position - item.lastx)>> 0; var y = (item.y * position - item.lasty)>> 0; // add this to the total scrolling scrollx += x; scrolly += y; // update last values item.lastx += x; item.lasty += y; // delete and step back if it's over if (finished) { que.splice(i, 1); i--; } } // scroll left and top if (scrollwindow) { window.scrollby(scrollx, scrolly); } else { if (scrollx) elem.scrollleft += scrollx; if (scrolly) elem.scrolltop += scrolly; } // clean up if there's nothing left to do if (!left && !top) { que = []; } if (que.length) { requestframe(step, elem, (delay / options.framerate + 1)); } else { pending = false; } }; // start a new queue of actions requestframe(step, elem, 0); pending = true; } /*********************************************** * events ***********************************************/ /** * mouse wheel handler. * @param {object} event */ function wheel(event) { if (!initdone) { init(); } var target = event.target; var overflowing = overflowingancestor(target); // use default if there's no overflowing // element or default action is prevented if (!overflowing || event.defaultprevented || isnodename(activeelement, "embed") || (isnodename(target, "embed") && /\.pdf/i.test(target.src))) { return true; } var deltax = event.wheeldeltax || 0; var deltay = event.wheeldeltay || 0; // use wheeldelta if deltax/y is not available if (!deltax && !deltay) { deltay = event.wheeldelta || 0; } // check if it's a touchpad scroll that should be ignored if (!options.touchpadsupport && istouchpad(deltay)) { return true; } // scale by step size // delta is 120 most of the time // synaptics seems to send 1 sometimes if (math.abs(deltax)> 1.2) { deltax *= options.stepsize / 120; } if (math.abs(deltay)> 1.2) { deltay *= options.stepsize / 120; } scrollarray(overflowing, -deltax, -deltay); //event.preventdefault(); } /** * keydown event handler. * @param {object} event */ function keydown(event) { var target = event.target; var modifier = event.ctrlkey || event.altkey || event.metakey || (event.shiftkey && event.keycode !== key.spacebar); // do nothing if user is editing text // or using a modifier key (except shift) // or in a dropdown if ( /input|textarea|select|embed/i.test(target.nodename) || target.iscontenteditable || event.defaultprevented || modifier ) { return true; } // spacebar should trigger button press if (isnodename(target, "button") && event.keycode === key.spacebar) { return true; } var shift, x = 0, y = 0; var elem = overflowingancestor(activeelement); var clientheight = elem.clientheight; if (elem == document.body) { clientheight = window.innerheight; } switch (event.keycode) { case key.up: y = -options.arrowscroll; break; case key.down: y = options.arrowscroll; break; case key.spacebar: // (+ shift) shift = event.shiftkey ? 1 : -1; y = -shift * clientheight * 0.9; break; case key.pageup: y = -clientheight * 0.9; break; case key.pagedown: y = clientheight * 0.9; break; case key.home: y = -elem.scrolltop; break; case key.end: var damt = elem.scrollheight - elem.scrolltop - clientheight; y = (damt> 0) ? damt+10 : 0; break; case key.left: x = -options.arrowscroll; break; case key.right: x = options.arrowscroll; break; default: return true; // a key we don't care about } scrollarray(elem, x, y); event.preventdefault(); } /** * mousedown event only for updating activeelement */ function mousedown(event) { activeelement = event.target; } /*********************************************** * overflow ***********************************************/ var cache = {}; // cleared out every once in while setinterval(function () { cache = {}; }, 10 * 1000); var uniqueid = (function () { var i = 0; return function (el) { return el.uniqueid || (el.uniqueid = i++); }; })(); function setcache(elems, overflowing) { for (var i = elems.length; i--;) cache[uniqueid(elems[i])] = overflowing; return overflowing; } function overflowingancestor(el) { var elems = [], overflow = null; var rootscrollheight = root.scrollheight; do { var cached = cache[uniqueid(el)]; if (cached) { return setcache(elems, cached); } elems.push(el); if (rootscrollheight === el.scrollheight) { if (!isframe || root.clientheight + 10 < rootscrollheight) { return setcache(elems, document.body); // scrolling root in webkit } } else if (el.clientheight + 10 < el.scrollheight) { if( getcomputedstyle(el, "").getpropertyvalue("overflow-y") ){ overflow = getcomputedstyle(el, "").getpropertyvalue("overflow-y") if (overflow === "scroll" || overflow === "auto") { return setcache(elems, el); } } } } while (el = el.parentnode); } /*********************************************** * helpers ***********************************************/ function addevent(type, fn, bubble) { window.addeventlistener(type, fn, (bubble||false)); } function removeevent(type, fn, bubble) { window.removeeventlistener(type, fn, (bubble||false)); } function isnodename(el, tag) { return (el.nodename||"").tolowercase() === tag.tolowercase(); } function directioncheck(x, y) { x = (x> 0) ? 1 : -1; y = (y> 0) ? 1 : -1; if (direction.x !== x || direction.y !== y) { direction.x = x; direction.y = y; que = []; lastscroll = 0; } } var deltabuffertimer; function istouchpad(deltay) { if (!deltay) return; deltay = math.abs(deltay) deltabuffer.push(deltay); deltabuffer.shift(); cleartimeout(deltabuffertimer); var allequals = (deltabuffer[0] == deltabuffer[1] && deltabuffer[1] == deltabuffer[2]); var alldivisable = (isdivisible(deltabuffer[0], 120) && isdivisible(deltabuffer[1], 120) && isdivisible(deltabuffer[2], 120)); return !(allequals || alldivisable); } function isdivisible(n, divisor) { return (math.floor(n / divisor) == n / divisor); } var requestframe = (function () { return window.requestanimationframe || window.webkitrequestanimationframe || function (callback, element, delay) { window.settimeout(callback, delay || (1000/60)); }; })(); /*********************************************** * pulse ***********************************************/ /** * viscous fluid with a pulse for part and decay for the rest. * - applies a fixed force over an interval (a damped acceleration), and * - lets the exponential bleed away the velocity over a longer interval * - michael herf, http://stereopsis.com/stopping/ */ function pulse_(x) { var val, start, expx; // test x = x * options.pulsescale; if (x < 1) { // acceleartion val = x - (1 - math.exp(-x)); } else { // tail // the previous animation ended here: start = math.exp(-1); // simple viscous drag x -= 1; expx = 1 - math.exp(-x); val = start + (expx * (1 - start)); } return val * options.pulsenormalize; } function pulse(x) { if (x>= 1) return 1; if (x <= 0) return 0; if (options.pulsenormalize == 1) { options.pulsenormalize /= pulse_(1); } return pulse_(x); } var ischrome = /chrome/i.test(window.navigator.useragent); var ismousewheelsupported = 'onmousewheel' in document; if (ismousewheelsupported && ischrome) { addevent("mousedown", mousedown); addevent("mousewheel", wheel); addevent("load", init); }; })(); })(jquery);