{"version":3,"names":[],"mappings":"","sources":["libraries/scrollmagic/ScrollMagic.min.js"],"sourcesContent":["/*! ScrollMagic v2.0.8 | (c) 2020 Jan Paepke (@janpaepke) | license & info: http://scrollmagic.io */\n!(function(e, t) {\n 'function' == typeof define && define.amd\n ? define(t)\n : 'object' == typeof exports\n ? (module.exports = t())\n : (e.ScrollMagic = t());\n})(this, function() {\n 'use strict';\n function _() {}\n (_.version = '2.0.8'),\n 'undefined' != typeof window &&\n window.addEventListener('mousewheel', void 0);\n var P = 'data-scrollmagic-pin-spacer';\n _.Controller = function(e) {\n function t() {\n var e, t, n;\n v &&\n u &&\n ((e = R.type.Array(u) ? u : f.slice(0)),\n (u = !1),\n (t = d),\n 0 != (n = (d = l.scrollPos()) - t) && (h = 0 < n ? 'FORWARD' : i),\n h === i && e.reverse(),\n e.forEach(function(e, t) {\n e.update(!0);\n }));\n }\n function r() {\n n = R.rAF(t);\n }\n var n,\n o,\n i = 'REVERSE',\n s = 'PAUSED',\n a = z.defaults,\n l = this,\n c = R.extend({}, a, e),\n f = [],\n u = !1,\n d = 0,\n h = s,\n p = !0,\n g = 0,\n v = !0,\n m = function() {\n 0 < c.refreshInterval && (o = window.setTimeout(E, c.refreshInterval));\n },\n w = function() {\n return c.vertical\n ? R.get.scrollTop(c.container)\n : R.get.scrollLeft(c.container);\n },\n y = function() {\n return c.vertical\n ? R.get.height(c.container)\n : R.get.width(c.container);\n },\n S = (this._setScrollPos = function(e) {\n c.vertical\n ? p\n ? window.scrollTo(R.get.scrollLeft(), e)\n : (c.container.scrollTop = e)\n : p\n ? window.scrollTo(e, R.get.scrollTop())\n : (c.container.scrollLeft = e);\n }),\n b = function(e) {\n 'resize' == e.type && ((g = y()), (h = s)), !0 !== u && ((u = !0), r());\n },\n E = function() {\n if (!p && g != y()) {\n var t;\n try {\n t = new Event('resize', { bubbles: !1, cancelable: !1 });\n } catch (e) {\n (t = document.createEvent('Event')).initEvent('resize', !1, !1);\n }\n c.container.dispatchEvent(t);\n }\n f.forEach(function(e, t) {\n e.refresh();\n }),\n m();\n };\n this._options = c;\n function x(e) {\n if (e.length <= 1) return e;\n var t = e.slice(0);\n return (\n t.sort(function(e, t) {\n return e.scrollOffset() > t.scrollOffset() ? 1 : -1;\n }),\n t\n );\n }\n return (\n (this.addScene = function(e) {\n if (R.type.Array(e))\n e.forEach(function(e, t) {\n l.addScene(e);\n });\n else if (e instanceof _.Scene)\n if (e.controller() !== l) e.addTo(l);\n else if (!~f.indexOf(e))\n for (var t in (f.push(e),\n (f = x(f)),\n e.on('shift.controller_sort', function() {\n f = x(f);\n }),\n c.globalSceneOptions))\n e[t] && e[t].call(e, c.globalSceneOptions[t]);\n return l;\n }),\n (this.removeScene = function(e) {\n var t;\n return (\n R.type.Array(e)\n ? e.forEach(function(e, t) {\n l.removeScene(e);\n })\n : -1 < (t = f.indexOf(e)) &&\n (e.off('shift.controller_sort'), f.splice(t, 1), e.remove()),\n l\n );\n }),\n (this.updateScene = function(e, n) {\n return (\n R.type.Array(e)\n ? e.forEach(function(e, t) {\n l.updateScene(e, n);\n })\n : n\n ? e.update(!0)\n : !0 !== u &&\n e instanceof _.Scene &&\n (~(u = u || []).indexOf(e) || u.push(e), (u = x(u)), r()),\n l\n );\n }),\n (this.update = function(e) {\n return b({ type: 'resize' }), e && t(), l;\n }),\n (this.scrollTo = function(e, t) {\n if (R.type.Number(e)) S.call(c.container, e, t);\n else if (e instanceof _.Scene)\n e.controller() === l && l.scrollTo(e.scrollOffset(), t);\n else if (R.type.Function(e)) S = e;\n else {\n var n = R.get.elements(e)[0];\n if (n) {\n for (; n.parentNode.hasAttribute(P); ) n = n.parentNode;\n var r = c.vertical ? 'top' : 'left',\n o = R.get.offset(c.container),\n i = R.get.offset(n);\n p || (o[r] -= l.scrollPos()), l.scrollTo(i[r] - o[r], t);\n }\n }\n return l;\n }),\n (this.scrollPos = function(e) {\n return arguments.length\n ? (R.type.Function(e) && (w = e), l)\n : w.call(l);\n }),\n (this.info = function(e) {\n var t = {\n size: g,\n vertical: c.vertical,\n scrollPos: d,\n scrollDirection: h,\n container: c.container,\n isDocument: p,\n };\n return arguments.length ? (void 0 !== t[e] ? t[e] : void 0) : t;\n }),\n (this.loglevel = function(e) {\n return l;\n }),\n (this.enabled = function(e) {\n return arguments.length\n ? (v != e && ((v = !!e), l.updateScene(f, !0)), l)\n : v;\n }),\n (this.destroy = function(e) {\n window.clearTimeout(o);\n for (var t = f.length; t--; ) f[t].destroy(e);\n return (\n c.container.removeEventListener('resize', b),\n c.container.removeEventListener('scroll', b),\n R.cAF(n),\n null\n );\n }),\n (function() {\n for (var e in c) a.hasOwnProperty(e) || delete c[e];\n if (((c.container = R.get.elements(c.container)[0]), !c.container))\n throw 'ScrollMagic.Controller init failed.';\n (p =\n c.container === window ||\n c.container === document.body ||\n !document.body.contains(c.container)) && (c.container = window),\n (g = y()),\n c.container.addEventListener('resize', b),\n c.container.addEventListener('scroll', b);\n var t = parseInt(c.refreshInterval, 10);\n (c.refreshInterval = R.type.Number(t) ? t : a.refreshInterval), m();\n })(),\n l\n );\n };\n var z = {\n defaults: {\n container: window,\n vertical: !0,\n globalSceneOptions: {},\n loglevel: 2,\n refreshInterval: 100,\n },\n };\n (_.Controller.addOption = function(e, t) {\n z.defaults[e] = t;\n }),\n (_.Controller.extend = function(e) {\n var t = this;\n (_.Controller = function() {\n return (\n t.apply(this, arguments),\n (this.$super = R.extend({}, this)),\n e.apply(this, arguments) || this\n );\n }),\n R.extend(_.Controller, t),\n (_.Controller.prototype = t.prototype),\n (_.Controller.prototype.constructor = _.Controller);\n }),\n (_.Scene = function(e) {\n var n,\n l,\n c = 'BEFORE',\n f = 'DURING',\n u = 'AFTER',\n r = D.defaults,\n d = this,\n h = R.extend({}, r, e),\n p = c,\n g = 0,\n a = { start: 0, end: 0 },\n v = 0,\n o = !0,\n s = {};\n (this.on = function(e, o) {\n return (\n R.type.Function(o) &&\n (e = e.trim().split(' ')).forEach(function(e) {\n var t = e.split('.'),\n n = t[0],\n r = t[1];\n '*' != n &&\n (s[n] || (s[n] = []),\n s[n].push({ namespace: r || '', callback: o }));\n }),\n d\n );\n }),\n (this.off = function(e, i) {\n return (\n e &&\n (e = e.trim().split(' ')).forEach(function(e, t) {\n var n = e.split('.'),\n r = n[0],\n o = n[1] || '';\n ('*' === r ? Object.keys(s) : [r]).forEach(function(e) {\n for (var t = s[e] || [], n = t.length; n--; ) {\n var r = t[n];\n !r ||\n (o !== r.namespace && '*' !== o) ||\n (i && i != r.callback) ||\n t.splice(n, 1);\n }\n t.length || delete s[e];\n });\n }),\n d\n );\n }),\n (this.trigger = function(e, n) {\n var t, r, o, i;\n return (\n e &&\n ((t = e.trim().split('.')),\n (r = t[0]),\n (o = t[1]),\n (i = s[r]) &&\n i.forEach(function(e, t) {\n (o && o !== e.namespace) ||\n e.callback.call(d, new _.Event(r, e.namespace, d, n));\n })),\n d\n );\n }),\n d\n .on('change.internal', function(e) {\n 'loglevel' !== e.what &&\n 'tweenChanges' !== e.what &&\n ('triggerElement' === e.what\n ? y()\n : 'reverse' === e.what && d.update());\n })\n .on('shift.internal', function(e) {\n t(), d.update();\n }),\n (this.addTo = function(e) {\n return (\n e instanceof _.Controller &&\n l != e &&\n (l && l.removeScene(d),\n (l = e),\n E(),\n i(!0),\n y(!0),\n t(),\n l.info('container').addEventListener('resize', S),\n e.addScene(d),\n d.trigger('add', { controller: l }),\n d.update()),\n d\n );\n }),\n (this.enabled = function(e) {\n return arguments.length\n ? (o != e && ((o = !!e), d.update(!0)), d)\n : o;\n }),\n (this.remove = function() {\n var e;\n return (\n l &&\n (l.info('container').removeEventListener('resize', S),\n (e = l),\n (l = void 0),\n e.removeScene(d),\n d.trigger('remove')),\n d\n );\n }),\n (this.destroy = function(e) {\n return (\n d.trigger('destroy', { reset: e }), d.remove(), d.off('*.*'), null\n );\n }),\n (this.update = function(e) {\n var t, n;\n return (\n l &&\n (e\n ? l.enabled() && o\n ? ((t = l.info('scrollPos')),\n (n =\n 0 < h.duration\n ? (t - a.start) / (a.end - a.start)\n : t >= a.start ? 1 : 0),\n d.trigger('update', {\n startPos: a.start,\n endPos: a.end,\n scrollPos: t,\n }),\n d.progress(n))\n : m && p === f && T(!0)\n : l.updateScene(d, !1)),\n d\n );\n }),\n (this.refresh = function() {\n return i(), y(), d;\n }),\n (this.progress = function(e) {\n if (arguments.length) {\n var t,\n n,\n r,\n o = !1,\n i = p,\n s = l ? l.info('scrollDirection') : 'PAUSED',\n a = h.reverse || g <= e;\n return (\n 0 === h.duration\n ? ((o = g != e), (p = 0 === (g = e < 1 && a ? 0 : 1) ? c : f))\n : e < 0 && p !== c && a\n ? ((p = c), (o = !(g = 0)))\n : 0 <= e && e < 1 && a\n ? ((g = e), (p = f), (o = !0))\n : 1 <= e && p !== u\n ? ((g = 1), (p = u), (o = !0))\n : p !== f || a || T(),\n o &&\n ((t = { progress: g, state: p, scrollDirection: s }),\n (r = function(e) {\n d.trigger(e, t);\n }),\n (n = p != i) &&\n i !== f &&\n (r('enter'), r(i === c ? 'start' : 'end')),\n r('progress'),\n n && p !== f && (r(p === c ? 'start' : 'end'), r('leave'))),\n d\n );\n }\n return g;\n });\n var m,\n w,\n t = function() {\n (a = { start: v + h.offset }),\n l &&\n h.triggerElement &&\n (a.start -= l.info('size') * h.triggerHook),\n (a.end = a.start + h.duration);\n },\n i = function(e) {\n var t;\n !n ||\n (x((t = 'duration'), n.call(d)) &&\n !e &&\n (d.trigger('change', { what: t, newval: h[t] }),\n d.trigger('shift', { reason: t })));\n },\n y = function(e) {\n var t = 0,\n n = h.triggerElement;\n if (l && (n || 0 < v)) {\n if (n)\n if (n.parentNode) {\n for (\n var r = l.info(),\n o = R.get.offset(r.container),\n i = r.vertical ? 'top' : 'left';\n n.parentNode.hasAttribute(P);\n\n )\n n = n.parentNode;\n var s = R.get.offset(n);\n r.isDocument || (o[i] -= l.scrollPos()), (t = s[i] - o[i]);\n } else d.triggerElement(void 0);\n var a = t != v;\n (v = t),\n a &&\n !e &&\n d.trigger('shift', { reason: 'triggerElementPosition' });\n }\n },\n S = function(e) {\n 0 < h.triggerHook &&\n d.trigger('shift', { reason: 'containerResize' });\n },\n b = R.extend(D.validate, {\n duration: function(t) {\n var e;\n if (\n (R.type.String(t) &&\n t.match(/^(\\.|\\d)*\\d+%$/) &&\n ((e = parseFloat(t) / 100),\n (t = function() {\n return l ? l.info('size') * e : 0;\n })),\n R.type.Function(t))\n ) {\n n = t;\n try {\n t = parseFloat(n.call(d));\n } catch (e) {\n t = -1;\n }\n }\n if (((t = parseFloat(t)), !R.type.Number(t) || t < 0))\n throw ((n = n && void 0), 0);\n return t;\n },\n }),\n E = function(e) {\n (e = arguments.length ? [e] : Object.keys(b)).forEach(function(t, e) {\n var n;\n if (b[t])\n try {\n n = b[t](h[t]);\n } catch (e) {\n n = r[t];\n } finally {\n h[t] = n;\n }\n });\n },\n x = function(e, t) {\n var n = !1,\n r = h[e];\n return h[e] != t && ((h[e] = t), E(e), (n = r != h[e])), n;\n },\n z = function(t) {\n d[t] ||\n (d[t] = function(e) {\n return arguments.length\n ? ('duration' === t && (n = void 0),\n x(t, e) &&\n (d.trigger('change', { what: t, newval: h[t] }),\n ~D.shifts.indexOf(t) && d.trigger('shift', { reason: t })),\n d)\n : h[t];\n });\n };\n (this.controller = function() {\n return l;\n }),\n (this.state = function() {\n return p;\n }),\n (this.scrollOffset = function() {\n return a.start;\n }),\n (this.triggerPosition = function() {\n var e = h.offset;\n return (\n l &&\n (h.triggerElement\n ? (e += v)\n : (e += l.info('size') * d.triggerHook())),\n e\n );\n }),\n d\n .on('shift.internal', function(e) {\n var t = 'duration' === e.reason;\n ((p === u && t) || (p === f && 0 === h.duration)) && T(), t && A();\n })\n .on('progress.internal', function(e) {\n T();\n })\n .on('add.internal', function(e) {\n A();\n })\n .on('destroy.internal', function(e) {\n d.removePin(e.reset);\n });\n function C() {\n l && m && p === f && !l.info('isDocument') && T();\n }\n function F() {\n l &&\n m &&\n p === f &&\n (((w.relSize.width || w.relSize.autoFullWidth) &&\n R.get.width(window) != R.get.width(w.spacer.parentNode)) ||\n (w.relSize.height &&\n R.get.height(window) != R.get.height(w.spacer.parentNode))) &&\n A();\n }\n function L(e) {\n l &&\n m &&\n p === f &&\n !l.info('isDocument') &&\n (e.preventDefault(),\n l._setScrollPos(\n l.info('scrollPos') -\n ((e.wheelDelta ||\n e[l.info('vertical') ? 'wheelDeltaY' : 'wheelDeltaX']) / 3 ||\n 30 * -e.detail)\n ));\n }\n var T = function(e) {\n var t, n, r, o, i, s;\n m &&\n l &&\n ((t = l.info()),\n (n = w.spacer.firstChild),\n e || p !== f\n ? ((r = {\n position: w.inFlow ? 'relative' : 'absolute',\n top: 0,\n left: 0,\n }),\n (o = R.css(n, 'position') != r.position),\n w.pushFollowers\n ? 0 < h.duration &&\n ((p === u &&\n 0 === parseFloat(R.css(w.spacer, 'padding-top'))) ||\n (p === c &&\n 0 === parseFloat(R.css(w.spacer, 'padding-bottom')))) &&\n (o = !0)\n : (r[t.vertical ? 'top' : 'left'] = h.duration * g),\n R.css(n, r),\n o && A())\n : ('fixed' != R.css(n, 'position') &&\n (R.css(n, { position: 'fixed' }), A()),\n (i = R.get.offset(w.spacer, !0)),\n (s =\n h.reverse || 0 === h.duration\n ? t.scrollPos - a.start\n : Math.round(g * h.duration * 10) / 10),\n (i[t.vertical ? 'top' : 'left'] += s),\n R.css(w.spacer.firstChild, { top: i.top, left: i.left })));\n },\n A = function() {\n var e, t, n, r, o;\n m &&\n l &&\n w.inFlow &&\n ((e = p === f),\n (t = l.info('vertical')),\n (n = w.spacer.firstChild),\n (r = R.isMarginCollapseType(R.css(w.spacer, 'display'))),\n (o = {}),\n w.relSize.width || w.relSize.autoFullWidth\n ? e\n ? R.css(m, { width: R.get.width(w.spacer) })\n : R.css(m, { width: '100%' })\n : ((o['min-width'] = R.get.width(t ? m : n, !0, !0)),\n (o.width = e ? o['min-width'] : 'auto')),\n w.relSize.height\n ? e\n ? R.css(m, {\n height:\n R.get.height(w.spacer) -\n (w.pushFollowers ? h.duration : 0),\n })\n : R.css(m, { height: '100%' })\n : ((o['min-height'] = R.get.height(t ? n : m, !0, !r)),\n (o.height = e ? o['min-height'] : 'auto')),\n w.pushFollowers &&\n ((o['padding' + (t ? 'Top' : 'Left')] = h.duration * g),\n (o['padding' + (t ? 'Bottom' : 'Right')] = h.duration * (1 - g))),\n R.css(w.spacer, o));\n };\n (this.setPin = function(e, t) {\n if (\n ((t = R.extend(\n {},\n { pushFollowers: !0, spacerClass: 'scrollmagic-pin-spacer' },\n t\n )),\n !(e = R.get.elements(e)[0]))\n )\n return d;\n if ('fixed' === R.css(e, 'position')) return d;\n if (m) {\n if (m === e) return d;\n d.removePin();\n }\n var n = (m = e).parentNode.style.display,\n r = [\n 'top',\n 'left',\n 'bottom',\n 'right',\n 'margin',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n ];\n m.parentNode.style.display = 'none';\n var o = 'absolute' != R.css(m, 'position'),\n i = R.css(m, r.concat(['display'])),\n s = R.css(m, ['width', 'height']);\n (m.parentNode.style.display = n),\n !o && t.pushFollowers && (t.pushFollowers = !1);\n var a,\n l = m.parentNode.insertBefore(document.createElement('div'), m),\n c = R.extend(i, {\n position: o ? 'relative' : 'absolute',\n boxSizing: 'content-box',\n mozBoxSizing: 'content-box',\n webkitBoxSizing: 'content-box',\n });\n return (\n o || R.extend(c, R.css(m, ['width', 'height'])),\n R.css(l, c),\n l.setAttribute(P, ''),\n R.addClass(l, t.spacerClass),\n (w = {\n spacer: l,\n relSize: {\n width: '%' === s.width.slice(-1),\n height: '%' === s.height.slice(-1),\n autoFullWidth:\n 'auto' === s.width && o && R.isMarginCollapseType(i.display),\n },\n pushFollowers: t.pushFollowers,\n inFlow: o,\n }),\n m.___origStyle ||\n ((m.___origStyle = {}),\n (a = m.style),\n r\n .concat([\n 'width',\n 'height',\n 'position',\n 'boxSizing',\n 'mozBoxSizing',\n 'webkitBoxSizing',\n ])\n .forEach(function(e) {\n m.___origStyle[e] = a[e] || '';\n })),\n w.relSize.width && R.css(l, { width: s.width }),\n w.relSize.height && R.css(l, { height: s.height }),\n l.appendChild(m),\n R.css(m, {\n position: o ? 'relative' : 'absolute',\n margin: 'auto',\n top: 'auto',\n left: 'auto',\n bottom: 'auto',\n right: 'auto',\n }),\n (w.relSize.width || w.relSize.autoFullWidth) &&\n R.css(m, {\n boxSizing: 'border-box',\n mozBoxSizing: 'border-box',\n webkitBoxSizing: 'border-box',\n }),\n window.addEventListener('scroll', C),\n window.addEventListener('resize', C),\n window.addEventListener('resize', F),\n m.addEventListener('mousewheel', L),\n m.addEventListener('DOMMouseScroll', L),\n T(),\n d\n );\n }),\n (this.removePin = function(e) {\n var t, n, r;\n return (\n m &&\n (p === f && T(!0),\n (!e && l) ||\n ((t = w.spacer.firstChild).hasAttribute(P) &&\n ((n = w.spacer.style),\n (r = {}),\n [\n 'margin',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n ].forEach(function(e) {\n r[e] = n[e] || '';\n }),\n R.css(t, r)),\n w.spacer.parentNode.insertBefore(t, w.spacer),\n w.spacer.parentNode.removeChild(w.spacer),\n m.parentNode.hasAttribute(P) ||\n (R.css(m, m.___origStyle), delete m.___origStyle)),\n window.removeEventListener('scroll', C),\n window.removeEventListener('resize', C),\n window.removeEventListener('resize', F),\n m.removeEventListener('mousewheel', L),\n m.removeEventListener('DOMMouseScroll', L),\n (m = void 0)),\n d\n );\n });\n var N,\n O = [];\n return (\n d.on('destroy.internal', function(e) {\n d.removeClassToggle(e.reset);\n }),\n (this.setClassToggle = function(e, t) {\n var n = R.get.elements(e);\n return (\n 0 !== n.length &&\n R.type.String(t) &&\n (0 < O.length && d.removeClassToggle(),\n (N = t),\n (O = n),\n d.on('enter.internal_class leave.internal_class', function(e) {\n var n = 'enter' === e.type ? R.addClass : R.removeClass;\n O.forEach(function(e, t) {\n n(e, N);\n });\n })),\n d\n );\n }),\n (this.removeClassToggle = function(e) {\n return (\n e &&\n O.forEach(function(e, t) {\n R.removeClass(e, N);\n }),\n d.off('start.internal_class end.internal_class'),\n (N = void 0),\n (O = []),\n d\n );\n }),\n (function() {\n for (var e in h) r.hasOwnProperty(e) || delete h[e];\n for (var t in r) z(t);\n E();\n })(),\n d\n );\n });\n var D = {\n defaults: {\n duration: 0,\n offset: 0,\n triggerElement: void 0,\n triggerHook: 0.5,\n reverse: !0,\n loglevel: 2,\n },\n validate: {\n offset: function(e) {\n if (((e = parseFloat(e)), !R.type.Number(e))) throw 0;\n return e;\n },\n triggerElement: function(e) {\n if ((e = e || void 0)) {\n var t = R.get.elements(e)[0];\n if (!t || !t.parentNode) throw 0;\n e = t;\n }\n return e;\n },\n triggerHook: function(e) {\n var t = { onCenter: 0.5, onEnter: 1, onLeave: 0 };\n if (R.type.Number(e)) e = Math.max(0, Math.min(parseFloat(e), 1));\n else {\n if (!(e in t)) throw 0;\n e = t[e];\n }\n return e;\n },\n reverse: function(e) {\n return !!e;\n },\n },\n shifts: ['duration', 'offset', 'triggerHook'],\n };\n (_.Scene.addOption = function(e, t, n, r) {\n e in D.defaults ||\n ((D.defaults[e] = t), (D.validate[e] = n), r && D.shifts.push(e));\n }),\n (_.Scene.extend = function(e) {\n var t = this;\n (_.Scene = function() {\n return (\n t.apply(this, arguments),\n (this.$super = R.extend({}, this)),\n e.apply(this, arguments) || this\n );\n }),\n R.extend(_.Scene, t),\n (_.Scene.prototype = t.prototype),\n (_.Scene.prototype.constructor = _.Scene);\n }),\n (_.Event = function(e, t, n, r) {\n for (var o in (r = r || {})) this[o] = r[o];\n return (\n (this.type = e),\n (this.target = this.currentTarget = n),\n (this.namespace = t || ''),\n (this.timeStamp = this.timestamp = Date.now()),\n this\n );\n });\n var R = (_._util = (function(s) {\n function a(e) {\n return parseFloat(e) || 0;\n }\n function l(e) {\n return e.currentStyle ? e.currentStyle : s.getComputedStyle(e);\n }\n function r(e, t, n, r) {\n if ((t = t === document ? s : t) === s) r = !1;\n else if (!u.DomElement(t)) return 0;\n e = e[0].toUpperCase() + e.substr(1).toLowerCase();\n var o,\n i =\n (n\n ? t['offset' + e] || t['outer' + e]\n : t['client' + e] || t['inner' + e]) || 0;\n return (\n n &&\n r &&\n ((o = l(t)),\n (i +=\n 'Height' === e\n ? a(o.marginTop) + a(o.marginBottom)\n : a(o.marginLeft) + a(o.marginRight))),\n i\n );\n }\n function c(e) {\n return e\n .replace(/^[^a-z]+([a-z])/g, '$1')\n .replace(/-([a-z])/g, function(e) {\n return e[1].toUpperCase();\n });\n }\n var e = {};\n (e.extend = function(e) {\n for (e = e || {}, f = 1; f < arguments.length; f++)\n if (arguments[f])\n for (var t in arguments[f])\n arguments[f].hasOwnProperty(t) && (e[t] = arguments[f][t]);\n return e;\n }),\n (e.isMarginCollapseType = function(e) {\n return !!~[\n 'block',\n 'flex',\n 'list-item',\n 'table',\n '-webkit-box',\n ].indexOf(e);\n });\n for (\n var o = 0,\n t = ['ms', 'moz', 'webkit', 'o'],\n n = s.requestAnimationFrame,\n i = s.cancelAnimationFrame,\n f = 0;\n !n && f < 4;\n ++f\n )\n (n = s[t[f] + 'RequestAnimationFrame']),\n (i =\n s[t[f] + 'CancelAnimationFrame'] ||\n s[t[f] + 'CancelRequestAnimationFrame']);\n (n =\n n ||\n function(e) {\n var t = new Date().getTime(),\n n = Math.max(0, 16 - (t - o)),\n r = s.setTimeout(function() {\n e(t + n);\n }, n);\n return (o = t + n), r;\n }),\n (i =\n i ||\n function(e) {\n s.clearTimeout(e);\n }),\n (e.rAF = n.bind(s)),\n (e.cAF = i.bind(s));\n var u = (e.type = function(e) {\n return Object.prototype.toString\n .call(e)\n .replace(/^\\[object (.+)\\]$/, '$1')\n .toLowerCase();\n });\n (u.String = function(e) {\n return 'string' === u(e);\n }),\n (u.Function = function(e) {\n return 'function' === u(e);\n }),\n (u.Array = function(e) {\n return Array.isArray(e);\n }),\n (u.Number = function(e) {\n return !u.Array(e) && 0 <= e - parseFloat(e) + 1;\n }),\n (u.DomElement = function(e) {\n return 'object' == typeof HTMLElement ||\n 'function' == typeof HTMLElement\n ? e instanceof HTMLElement || e instanceof SVGElement\n : e &&\n 'object' == typeof e &&\n null !== e &&\n 1 === e.nodeType &&\n 'string' == typeof e.nodeName;\n });\n var d = (e.get = {});\n return (\n (d.elements = function(e) {\n var t = [];\n if (u.String(e))\n try {\n e = document.querySelectorAll(e);\n } catch (e) {\n return t;\n }\n if ('nodelist' === u(e) || u.Array(e) || e instanceof NodeList)\n for (var n = 0, r = (t.length = e.length); n < r; n++) {\n var o = e[n];\n t[n] = u.DomElement(o) ? o : d.elements(o);\n }\n else (!u.DomElement(e) && e !== document && e !== s) || (t = [e]);\n return t;\n }),\n (d.scrollTop = function(e) {\n return e && 'number' == typeof e.scrollTop\n ? e.scrollTop\n : s.pageYOffset || 0;\n }),\n (d.scrollLeft = function(e) {\n return e && 'number' == typeof e.scrollLeft\n ? e.scrollLeft\n : s.pageXOffset || 0;\n }),\n (d.width = function(e, t, n) {\n return r('width', e, t, n);\n }),\n (d.height = function(e, t, n) {\n return r('height', e, t, n);\n }),\n (d.offset = function(e, t) {\n var n,\n r = { top: 0, left: 0 };\n return (\n e &&\n e.getBoundingClientRect &&\n ((n = e.getBoundingClientRect()),\n (r.top = n.top),\n (r.left = n.left),\n t || ((r.top += d.scrollTop()), (r.left += d.scrollLeft()))),\n r\n );\n }),\n (e.addClass = function(e, t) {\n t && (e.classList ? e.classList.add(t) : (e.className += ' ' + t));\n }),\n (e.removeClass = function(e, t) {\n t &&\n (e.classList\n ? e.classList.remove(t)\n : (e.className = e.className.replace(\n RegExp('(^|\\\\b)' + t.split(' ').join('|') + '(\\\\b|$)', 'gi'),\n ' '\n )));\n }),\n (e.css = function(e, t) {\n if (u.String(t)) return l(e)[c(t)];\n if (u.Array(t)) {\n var n = {},\n r = l(e);\n return (\n t.forEach(function(e, t) {\n n[e] = r[c(e)];\n }),\n n\n );\n }\n for (var o in t) {\n var i = t[o];\n i == parseFloat(i) && (i += 'px'), (e.style[c(o)] = i);\n }\n }),\n e\n );\n })(window || {}));\n return _;\n});\n"],"file":"ScrollMagic.min.js"}