! function(t) { var e = {}; function n(r) { if (e[r]) return e[r].exports; var i = e[r] = { i: r, l: !1, exports: {} }; return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } n.m = t, n.c = e, n.d = function(t, e, r) { n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: r }) }, n.r = function(t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) }, n.t = function(t, e) { if (1 & e && (t = n(t)), 8 & e) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var r = Object.create(null); if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t) for (var i in t) n.d(r, i, function(e) { return t[e] }.bind(null, i)); return r }, n.n = function(t) { var e = t && t.__esModule ? function() { return t.default } : function() { return t }; return n.d(e, "a", e), e }, n.o = function(t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, n.p = "", n(n.s = 1) }([function(t, e) { t.exports = jQuery }, function(t, e, n) { n(2), n(5), t.exports = n(4) }, function(t, e, n) { var r, i, u, s; /*! * @fileOverview TouchSwipe - jQuery Plugin @version 1.6.18 / SANDBOXED VERSION FOR TP * @author Matt Bryson http://www.github.com/mattbryson * @see https://github.com/mattbryson/TouchSwipe-Jquery-Plugin * @see http://labs.rampinteractive.co.uk/touchSwipe/ * @see http://plugins.jquery.com/project/touchSwipe * @license * Copyright (c) 2010-2015 Matt Bryson * Dual licensed under the MIT or GPL Version 2 licenses. * */ s = function(t) { "use strict"; var e = "left", n = "right", r = "up", i = "down", u = "none", s = "doubletap", a = "longtap", o = "horizontal", l = "vertical", h = "all", f = "move", D = "end", p = "cancel", c = "ontouchstart" in window, d = window.navigator.msPointerEnabled && !window.PointerEvent && !c, g = (window.PointerEvent || window.navigator.msPointerEnabled) && !c, _ = "TouchSwipe"; function m(m, v) { v = t.extend({}, v); var y = c || g || !v.fallbackToMouseEvents, C = y ? g ? d ? "MSPointerDown" : "pointerdown" : "touchstart" : "mousedown", x = y ? g ? d ? "MSPointerMove" : "pointermove" : "touchmove" : "mousemove", F = y ? g ? d ? "MSPointerUp" : "pointerup" : "touchend" : "mouseup", w = y ? g ? "mouseleave" : null : "mouseleave", E = g ? d ? "MSPointerCancel" : "pointercancel" : "touchcancel", b = 0, T = null, A = null, M = 0, P = 0, B = 0, S = 1, O = 0, k = 0, L = null, N = t(m), R = "start", I = 0, z = {}, Y = 0, j = 0, X = 0, V = 0, U = 0, W = null, q = null; try { N.on(C, H), N.on(E, K) } catch (m) { t.error("events not supported " + C + "," + E + " on jQuery.swipe") } function H(u) { if (!0 !== N.data(_ + "_intouch") && !(0 < t(u.target).closest(v.excludedElements, N).length)) { var s = u.originalEvent ? u.originalEvent : u; if (!s.pointerType || "mouse" != s.pointerType || 0 != v.fallbackToMouseEvents) { var a, o, l = s.touches, f = l ? l[0] : s; return R = "start", l ? I = l.length : !1 !== v.preventDefaultEvents && u.preventDefault(), k = A = T = null, S = 1, O = B = P = M = b = 0, (o = {})[e] = yt(e), o[n] = yt(n), o.up = yt(r), o[i] = yt(i), L = o, ct(), _t(0, f), !l || I === v.fingers || v.fingers === h || st() ? (Y = wt(), 2 == I && (_t(1, l[1]), P = B = xt(z[0].start, z[1].start)), (v.swipeStatus || v.pinchStatus) && (a = tt(s, R))) : a = !1, !1 === a ? (tt(s, R = p), a) : (v.hold && (q = setTimeout(t.proxy((function() { N.trigger("hold", [s.target]), v.hold && (a = v.hold.call(N, s, s.target)) }), this), v.longTapThreshold)), gt(!0), null) } } } function G(s) { var a = s.originalEvent ? s.originalEvent : s; if (R !== D && R !== p && !dt()) { var c, d, g, _, m, y, C, x = a.touches, F = mt(x ? x[0] : a); if (j = wt(), x && (I = x.length), v.hold && clearTimeout(q), R = f, 2 == I && (0 == P ? (_t(1, x[1]), P = B = xt(z[0].start, z[1].start)) : (mt(x[1]), B = xt(z[0].end, z[1].end), z[0].end, z[1].end, k = S < 1 ? "out" : "in"), S = (B / P * 1).toFixed(2), O = Math.abs(P - B)), I === v.fingers || v.fingers === h || !x || st()) { if (T = Ft(F.start, F.end), function(t, s) { if (!1 !== v.preventDefaultEvents) if (v.allowPageScroll === u) t.preventDefault(); else { var a = "auto" === v.allowPageScroll; switch (s) { case e: (v.swipeLeft && a || !a && v.allowPageScroll != o) && t.preventDefault(); break; case n: (v.swipeRight && a || !a && v.allowPageScroll != o) && t.preventDefault(); break; case r: (v.swipeUp && a || !a && v.allowPageScroll != l) && t.preventDefault(); break; case i: (v.swipeDown && a || !a && v.allowPageScroll != l) && t.preventDefault() } } }(s, A = Ft(F.last, F.end)), y = F.start, C = F.end, b = Math.round(Math.sqrt(Math.pow(C.x - y.x, 2) + Math.pow(C.y - y.y, 2))), M = Ct(), function(t, e) { t != u && (e = Math.max(e, vt(t)), L[t].distance = e) }(T, b), c = tt(a, R), !v.triggerOnTouchEnd || v.triggerOnTouchLeave) { var w = !0; v.triggerOnTouchLeave && (g = { left: (m = (_ = t(_ = this)).offset()).left, right: m.left + _.outerWidth(), top: m.top, bottom: m.top + _.outerHeight() }, w = (d = F.end).x > g.left && d.x < g.right && d.y > g.top && d.y < g.bottom), !v.triggerOnTouchEnd && w ? R = J(f) : v.triggerOnTouchLeave && !w && (R = J(D)), R != p && R != D || tt(a, R) } } else tt(a, R = p); !1 === c && tt(a, R = p) } } function Q(t) { var e, n = t.originalEvent ? t.originalEvent : t, r = n.touches; if (r) { if (r.length && !dt()) return e = n, X = wt(), V = e.touches.length + 1, !0; if (r.length && dt()) return !0 } return dt() && (I = V), j = wt(), M = Ct(), rt() || !nt() ? tt(n, R = p) : v.triggerOnTouchEnd || !1 === v.triggerOnTouchEnd && R === f ? (!1 !== v.preventDefaultEvents && !1 !== t.cancelable && t.preventDefault(), tt(n, R = D)) : !v.triggerOnTouchEnd && ft() ? et(n, R = D, "tap") : R === f && tt(n, R = p), gt(!1), null } function K() { B = P = Y = j = I = 0, S = 1, ct(), gt(!1) } function Z(t) { var e = t.originalEvent ? t.originalEvent : t; v.triggerOnTouchLeave && tt(e, R = J(D)) } function $() { N.off(C, H), N.off(E, K), N.off(x, G), N.off(F, Q), w && N.off(w, Z), gt(!1) } function J(t) { var e = t, n = it(), r = nt(), i = rt(); return !n || i ? e = p : !r || t != f || v.triggerOnTouchEnd && !v.triggerOnTouchLeave ? !r && t == D && v.triggerOnTouchLeave && (e = p) : e = D, e } function tt(t, e) { var n, r = t.touches; return (at() && ot() || ot()) && (n = et(t, e, "swipe")), (ut() && st() || st()) && !1 !== n && (n = et(t, e, "pinch")), pt() && Dt() && !1 !== n ? n = et(t, e, s) : M > v.longTapThreshold && b < 10 && v.longTap && !1 !== n ? n = et(t, e, a) : 1 !== I && c || !(isNaN(b) || b < v.threshold) || !ft() || !1 === n || (n = et(t, e, "tap")), e === p && K(), e === D && (r && r.length || K()), n } function et(u, o, l) { var h; if ("swipe" == l) { if (N.trigger("swipeStatus", [o, T || null, b || 0, M || 0, I, z, A]), v.swipeStatus && !1 === (h = v.swipeStatus.call(N, u, o, T || null, b || 0, M || 0, I, z, A))) return !1; if (o == D && at()) { if (clearTimeout(W), clearTimeout(q), N.trigger("swipe", [T, b, M, I, z, A]), v.swipe && !1 === (h = v.swipe.call(N, u, T, b, M, I, z, A))) return !1; switch (T) { case e: N.trigger("swipeLeft", [T, b, M, I, z, A]), v.swipeLeft && (h = v.swipeLeft.call(N, u, T, b, M, I, z, A)); break; case n: N.trigger("swipeRight", [T, b, M, I, z, A]), v.swipeRight && (h = v.swipeRight.call(N, u, T, b, M, I, z, A)); break; case r: N.trigger("swipeUp", [T, b, M, I, z, A]), v.swipeUp && (h = v.swipeUp.call(N, u, T, b, M, I, z, A)); break; case i: N.trigger("swipeDown", [T, b, M, I, z, A]), v.swipeDown && (h = v.swipeDown.call(N, u, T, b, M, I, z, A)) } } } if ("pinch" == l) { if (N.trigger("pinchStatus", [o, k || null, O || 0, M || 0, I, S, z]), v.pinchStatus && !1 === (h = v.pinchStatus.call(N, u, o, k || null, O || 0, M || 0, I, S, z))) return !1; if (o == D && ut()) switch (k) { case "in": N.trigger("pinchIn", [k || null, O || 0, M || 0, I, S, z]), v.pinchIn && (h = v.pinchIn.call(N, u, k || null, O || 0, M || 0, I, S, z)); break; case "out": N.trigger("pinchOut", [k || null, O || 0, M || 0, I, S, z]), v.pinchOut && (h = v.pinchOut.call(N, u, k || null, O || 0, M || 0, I, S, z)) } } return "tap" == l ? o !== p && o !== D || (clearTimeout(W), clearTimeout(q), Dt() && !pt() ? (U = wt(), W = setTimeout(t.proxy((function() { U = null, N.trigger("tap", [u.target]), v.tap && (h = v.tap.call(N, u, u.target)) }), this), v.doubleTapThreshold)) : (U = null, N.trigger("tap", [u.target]), v.tap && (h = v.tap.call(N, u, u.target)))) : l == s ? o !== p && o !== D || (clearTimeout(W), clearTimeout(q), U = null, N.trigger("doubletap", [u.target]), v.doubleTap && (h = v.doubleTap.call(N, u, u.target))) : l == a && (o !== p && o !== D || (clearTimeout(W), U = null, N.trigger("longtap", [u.target]), v.longTap && (h = v.longTap.call(N, u, u.target)))), h } function nt() { var t = !0; return null !== v.threshold && (t = b >= v.threshold), t } function rt() { var t = !1; return null !== v.cancelThreshold && null !== T && (t = vt(T) - b >= v.cancelThreshold), t } function it() { return !(v.maxTimeThreshold && M >= v.maxTimeThreshold) } function ut() { var t = lt(), e = ht(), n = null === v.pinchThreshold || O >= v.pinchThreshold; return t && e && n } function st() { return v.pinchStatus || v.pinchIn || v.pinchOut } function at() { var t = it(), e = nt(), n = lt(), r = ht(); return !rt() && r && n && e && t } function ot() { return v.swipe || v.swipeStatus || v.swipeLeft || v.swipeRight || v.swipeUp || v.swipeDown } function lt() { return I === v.fingers || v.fingers === h || !c } function ht() { return 0 !== z[0].end.x } function ft() { return v.tap } function Dt() { return !!v.doubleTap } function pt() { if (null == U) return !1; var t = wt(); return Dt() && t - U <= v.doubleTapThreshold } function ct() { V = X = 0 } function dt() { var t = !1; return X && wt() - X <= v.fingerReleaseThreshold && (t = !0), t } function gt(t) { N && (!0 === t ? (N.on(x, G), N.on(F, Q), w && N.on(w, Z)) : (N.off(x, G, !1), N.off(F, Q, !1), w && N.off(w, Z, !1)), N.data(_ + "_intouch", !0 === t)) } function _t(t, e) { var n = { start: { x: 0, y: 0 }, last: { x: 0, y: 0 }, end: { x: 0, y: 0 } }; return n.start.x = n.last.x = n.end.x = e.pageX || e.clientX, n.start.y = n.last.y = n.end.y = e.pageY || e.clientY, z[t] = n } function mt(t) { var e = void 0 !== t.identifier ? t.identifier : 0, n = z[e] || null; return null === n && (n = _t(e, t)), n.last.x = n.end.x, n.last.y = n.end.y, n.end.x = t.pageX || t.clientX, n.end.y = t.pageY || t.clientY, n } function vt(t) { if (L[t]) return L[t].distance } function yt(t) { return { direction: t, distance: 0 } } function Ct() { return j - Y } function xt(t, e) { var n = Math.abs(t.x - e.x), r = Math.abs(t.y - e.y); return Math.round(Math.sqrt(n * n + r * r)) } function Ft(t, s) { if (o = s, (a = t).x == o.x && a.y == o.y) return u; var a, o, l, h, f, D, p, c, d = (h = s, f = (l = t).x - h.x, D = h.y - l.y, p = Math.atan2(D, f), (c = Math.round(180 * p / Math.PI)) < 0 && (c = 360 - Math.abs(c)), c); return d <= 45 && 0 <= d || d <= 360 && 315 <= d ? e : 135 <= d && d <= 225 ? n : 45 < d && d < 135 ? i : r } function wt() { return (new Date).getTime() } this.enable = function() { return this.disable(), N.on(C, H), N.on(E, K), N }, this.disable = function() { return $(), N }, this.destroy = function() { $(), N.data(_, null), N = null }, this.option = function(e, n) { if ("object" == typeof e) v = t.extend(v, e); else if (void 0 !== v[e]) { if (void 0 === n) return v[e]; v[e] = n } else { if (!e) return v; t.error("Option " + e + " does not exist on jQuery.swipe.options") } return null } } t.fn.rsswipe = function(e) { var n = t(this), r = n.data(_); if (r && "string" == typeof e) { if (r[e]) return r[e].apply(r, Array.prototype.slice.call(arguments, 1)); t.error("Method " + e + " does not exist on jQuery.rsswipe") } else if (r && "object" == typeof e) r.option.apply(r, arguments); else if (!(r || "object" != typeof e && e)) return function(e) { return !e || void 0 !== e.allowPageScroll || void 0 === e.swipe && void 0 === e.swipeStatus || (e.allowPageScroll = u), void 0 !== e.click && void 0 === e.tap && (e.tap = e.click), e = e || {}, e = t.extend({}, t.fn.rsswipe.defaults, e), this.each((function() { var n = t(this), r = n.data(_); r || (r = new m(this, e), n.data(_, r)) })) }.apply(this, arguments); return n }, t.fn.rsswipe.version = "1.6.18", t.fn.rsswipe.defaults = { fingers: 1, threshold: 75, cancelThreshold: null, pinchThreshold: 20, maxTimeThreshold: null, fingerReleaseThreshold: 250, longTapThreshold: 500, doubleTapThreshold: 200, swipe: null, swipeLeft: null, swipeRight: null, swipeUp: null, swipeDown: null, swipeStatus: null, pinchIn: null, pinchOut: null, pinchStatus: null, click: null, tap: null, doubleTap: null, longTap: null, hold: null, triggerOnTouchEnd: !0, triggerOnTouchLeave: !1, allowPageScroll: "auto", fallbackToMouseEvents: !0, excludedElements: ".noSwipe", preventDefaultEvents: !0 }, t.fn.rsswipe.phases = { PHASE_START: "start", PHASE_MOVE: f, PHASE_END: D, PHASE_CANCEL: p }, t.fn.rsswipe.directions = { LEFT: e, RIGHT: n, UP: r, DOWN: i, IN: "in", OUT: "out" }, t.fn.rsswipe.pageScroll = { NONE: u, HORIZONTAL: o, VERTICAL: l, AUTO: "auto" }, t.fn.rsswipe.fingers = { ONE: 1, TWO: 2, THREE: 3, FOUR: 4, FIVE: 5, ALL: h } }, n(3).jQuery ? (i = [n(0)], void 0 === (u = "function" == typeof(r = s) ? r.apply(e, i) : r) || (t.exports = u)) : t.exports ? s(n(0)) : s(jQuery) }, function(t, e) { (function(e) { t.exports = e }).call(this, {}) }, function(t, e) { var n; (n = jQuery).waitForImages = { hasImageProperties: ["backgroundImage", "listStyleImage", "borderImage", "borderCornerImage"] }, n.expr[":"].uncached = function(t) { var e = document.createElement("img"); return e.src = t.src, n(t).is('img[src!=""]') && !e.complete }, n.fn.waitForImages = function(t, e, r) { if (n.isPlainObject(t) && (e = t.each, r = t.waitForAll, t = t.finished), t = t || n.noop, e = e || n.noop, r = !!r, !n.isFunction(t) || !n.isFunction(e)) throw new TypeError("An invalid callback was supplied."); return this.each((function() { var i = n(this), u = []; if (r) { var s = n.waitForImages.hasImageProperties || [], a = /url\((['"]?)(.*?)\1\)/g; i.find("*").each((function() { var t = n(this); t.is("img:uncached") && u.push({ src: t.attr("src"), element: t[0] }), n.each(s, (function(e, n) { var r, i = t.css(n); if (!i) return !0; for (; r = a.exec(i);) u.push({ src: r[2], element: t[0] }) })) })) } else i.find("img:uncached").each((function() { u.push({ src: this.src, element: this }) })); var o = u.length, l = 0; 0 == o && t.call(i[0]), n.each(u, (function(r, u) { var s = new Image; n(s).bind("load error", (function(n) { if (l++, e.call(u.element, l, o, "load" == n.type), l == o) return t.call(i[0]), !1 })), s.src = u.src })) })) } }, function(t, e, n) { "use strict"; function r(t) { if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t } function i(t, e) { t.prototype = Object.create(e.prototype), t.prototype.constructor = t, t.__proto__ = e } /*! * GSAP 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ n.r(e); var u, s, a, o, l, h, f, D, p, c, d, g, _, m, v, y, C, x, F, w, E, b, T, A, M, P = { autoSleep: 120, force3D: "auto", nullTargetWarn: 1, units: { lineHeight: "" } }, B = { duration: .5, overwrite: !1, delay: 0 }, S = 1e8, O = 2 * Math.PI, k = O / 4, L = 0, N = Math.sqrt, R = Math.cos, I = Math.sin, z = function(t) { return "string" == typeof t }, Y = function(t) { return "function" == typeof t }, j = function(t) { return "number" == typeof t }, X = function(t) { return void 0 === t }, V = function(t) { return "object" == typeof t }, U = function(t) { return !1 !== t }, W = function() { return "undefined" != typeof window }, q = function(t) { return Y(t) || z(t) }, H = Array.isArray, G = /(?:-?\.?\d|\.)+/gi, Q = /[-+=.]*\d+[.e\-+]*\d*[e\-\+]*\d*/g, K = /[-+=.]*\d+[.e-]*\d*[a-z%]*/g, Z = /[-+=.]*\d+(?:\.|e-|e)*\d*/gi, $ = /\(([^()]+)\)/i, J = /[+-]=-?[\.\d]+/, tt = /[#\-+.]*\b[a-z\d-=+%.]+/gi, et = {}, nt = {}, rt = function(t) { return (nt = Mt(t, et)) && ln }, it = function(t, e) { return console.warn("Invalid property", t, "set to", e, "Missing plugin? gsap.registerPlugin()") }, ut = function(t, e) { return !e && console.warn(t) }, st = function(t, e) { return t && (et[t] = e) && nt && (nt[t] = e) || et }, at = function() { return 0 }, ot = {}, lt = [], ht = {}, ft = {}, Dt = {}, pt = 30, ct = [], dt = "", gt = function(t) { var e, n, r = t[0]; if (V(r) || Y(r) || (t = [t]), !(e = (r._gsap || {}).harness)) { for (n = ct.length; n-- && !ct[n].targetTest(r);); e = ct[n] } for (n = t.length; n--;) t[n] && (t[n]._gsap || (t[n]._gsap = new Oe(t[n], e))) || t.splice(n, 1); return t }, _t = function(t) { return t._gsap || gt(te(t))[0]._gsap }, mt = function(t, e) { var n = t[e]; return Y(n) ? t[e]() : X(n) && t.getAttribute(e) || n }, vt = function(t, e) { return (t = t.split(",")).forEach(e) || t }, yt = function(t) { return Math.round(1e5 * t) / 1e5 || 0 }, Ct = function(t, e) { for (var n = e.length, r = 0; t.indexOf(e[r]) < 0 && ++r < n;); return r < n }, xt = function(t, e, n) { var r, i = j(t[1]), u = (i ? 2 : 1) + (e < 2 ? 0 : 1), s = t[u]; if (i && (s.duration = t[1]), s.parent = n, e) { for (r = s; n && !("immediateRender" in r);) r = n.vars.defaults || {}, n = U(n.vars.inherit) && n.parent; s.immediateRender = U(r.immediateRender), e < 2 ? s.runBackwards = 1 : s.startAt = t[u - 1] } return s }, Ft = function() { var t, e, n = lt.length, r = lt.slice(0); for (ht = {}, lt.length = 0, t = 0; t < n; t++)(e = r[t]) && e._lazy && (e.render(e._lazy[0], e._lazy[1], !0)._lazy = 0) }, wt = function(t, e, n, r) { lt.length && Ft(), t.render(e, n, r), lt.length && Ft() }, Et = function(t) { var e = parseFloat(t); return (e || 0 === e) && (t + "").match(tt).length < 2 ? e : t }, bt = function(t) { return t }, Tt = function(t, e) { for (var n in e) n in t || (t[n] = e[n]); return t }, At = function(t, e) { for (var n in e) n in t || "duration" === n || "ease" === n || (t[n] = e[n]) }, Mt = function(t, e) { for (var n in e) t[n] = e[n]; return t }, Pt = function t(e, n) { for (var r in n) e[r] = V(n[r]) ? t(e[r] || (e[r] = {}), n[r]) : n[r]; return e }, Bt = function(t, e) { var n, r = {}; for (n in t) n in e || (r[n] = t[n]); return r }, St = function(t) { var e = t.parent || u, n = t.keyframes ? At : Tt; if (U(t.inherit)) for (; e;) n(t, e.vars.defaults), e = e.parent; return t }, Ot = function(t, e, n, r) { void 0 === n && (n = "_first"), void 0 === r && (r = "_last"); var i = e._prev, u = e._next; i ? i._next = u : t[n] === e && (t[n] = u), u ? u._prev = i : t[r] === e && (t[r] = i), e._next = e._prev = e.parent = null }, kt = function(t, e) { !t.parent || e && !t.parent.autoRemoveChildren || t.parent.remove(t), t._act = 0 }, Lt = function(t) { for (var e = t; e;) e._dirty = 1, e = e.parent; return t }, Nt = function(t) { for (var e = t.parent; e && e.parent;) e._dirty = 1, e.totalDuration(), e = e.parent; return t }, Rt = function(t) { return t._repeat ? It(t._tTime, t = t.duration() + t._rDelay) * t : 0 }, It = function(t, e) { return (t /= e) && ~~t === t ? ~~t - 1 : ~~t }, zt = function(t, e) { return (t - e._start) * e._ts + (e._ts >= 0 ? 0 : e._dirty ? e.totalDuration() : e._tDur) }, Yt = function(t) { return t._end = yt(t._start + (t._tDur / Math.abs(t._ts || t._rts || 1e-8) || 0)) }, jt = function(t, e) { var n; if ((e._time || e._initted && !e._dur) && (n = zt(t.rawTime(), e), (!e._dur || Qt(0, e.totalDuration(), n) - e._tTime > 1e-8) && e.render(n, !0)), Lt(t)._dp && t._initted && t._time >= t._dur && t._ts) { if (t._dur < t.duration()) for (n = t; n._dp;) n.rawTime() >= 0 && n.totalTime(n._tTime), n = n._dp; t._zTime = -1e-8 } }, Xt = function(t, e, n, r) { return e.parent && kt(e), e._start = yt(n + e._delay), e._end = yt(e._start + (e.totalDuration() / Math.abs(e.timeScale()) || 0)), function(t, e, n, r, i) { void 0 === n && (n = "_first"), void 0 === r && (r = "_last"); var u, s = t[r]; if (i) for (u = e[i]; s && s[i] > u;) s = s._prev; s ? (e._next = s._next, s._next = e) : (e._next = t[n], t[n] = e), e._next ? e._next._prev = e : t[r] = e, e._prev = s, e.parent = e._dp = t }(t, e, "_first", "_last", t._sort ? "_start" : 0), t._recent = e, r || jt(t, e), t }, Vt = function(t, e, n, r) { return Ye(t, e), t._initted ? !n && t._pt && (t._dur && !1 !== t.vars.lazy || !t._dur && t.vars.lazy) && h !== Ce.frame ? (lt.push(t), t._lazy = [e, r], 1) : void 0 : 1 }, Ut = function(t, e, n) { var r = t._repeat, i = yt(e) || 0; return t._dur = i, t._tDur = r ? r < 0 ? 1e12 : yt(i * (r + 1) + t._rDelay * r) : i, t._time > i && (t._time = i, t._tTime = Math.min(t._tTime, t._tDur)), !n && Lt(t.parent), t.parent && Yt(t), t }, Wt = function(t) { return t instanceof Le ? Lt(t) : Ut(t, t._dur) }, qt = { _start: 0, endTime: at }, Ht = function t(e, n) { var r, i, u = e.labels, s = e._recent || qt, a = e.duration() >= S ? s.endTime(!1) : e._dur; return z(n) && (isNaN(n) || n in u) ? "<" === (r = n.charAt(0)) || ">" === r ? ("<" === r ? s._start : s.endTime(s._repeat >= 0)) + (parseFloat(n.substr(1)) || 0) : (r = n.indexOf("=")) < 0 ? (n in u || (u[n] = a), u[n]) : (i = +(n.charAt(r - 1) + n.substr(r + 1)), r > 1 ? t(e, n.substr(0, r - 1)) + i : a + i) : null == n ? a : +n }, Gt = function(t, e) { return t || 0 === t ? e(t) : e }, Qt = function(t, e, n) { return n < t ? t : n > e ? e : n }, Kt = function(t) { return (t + "").substr((parseFloat(t) + "").length) }, Zt = [].slice, $t = function(t, e) { return t && V(t) && "length" in t && (!e && !t.length || t.length - 1 in t && V(t[0])) && !t.nodeType && t !== s }, Jt = function(t, e, n) { return void 0 === n && (n = []), t.forEach((function(t) { var r; return z(t) && !e || $t(t, 1) ? (r = n).push.apply(r, te(t)) : n.push(t) })) || n }, te = function(t, e) { return !z(t) || e || !a && xe() ? H(t) ? Jt(t, e) : $t(t) ? Zt.call(t, 0) : t ? [t] : [] : Zt.call(o.querySelectorAll(t), 0) }, ee = function(t) { return t.sort((function() { return .5 - Math.random() })) }, ne = function(t) { if (Y(t)) return t; var e = V(t) ? t : { each: t }, n = Ae(e.ease), r = e.from || 0, i = parseFloat(e.base) || 0, u = {}, s = r > 0 && r < 1, a = isNaN(r) || s, o = e.axis, l = r, h = r; return z(r) ? l = h = { center: .5, edges: .5, end: 1 }[r] || 0 : !s && a && (l = r[0], h = r[1]), function(t, s, f) { var D, p, c, d, g, _, m, v, y, C = (f || e).length, x = u[C]; if (!x) { if (!(y = "auto" === e.grid ? 0 : (e.grid || [1, S])[1])) { for (m = -S; m < (m = f[y++].getBoundingClientRect().left) && y < C;); y-- } for (x = u[C] = [], D = a ? Math.min(y, C) * l - .5 : r % y, p = a ? C * h / y - .5 : r / y | 0, m = 0, v = S, _ = 0; _ < C; _++) c = _ % y - D, d = p - (_ / y | 0), x[_] = g = o ? Math.abs("y" === o ? d : c) : N(c * c + d * d), g > m && (m = g), g < v && (v = g); "random" === r && ee(x), x.max = m - v, x.min = v, x.v = C = (parseFloat(e.amount) || parseFloat(e.each) * (y > C ? C - 1 : o ? "y" === o ? C / y : y : Math.max(y, C / y)) || 0) * ("edges" === r ? -1 : 1), x.b = C < 0 ? i - C : i, x.u = Kt(e.amount || e.each) || 0, n = n && C < 0 ? Te(n) : n } return C = (x[t] - x.min) / x.max || 0, yt(x.b + (n ? n(C) : C) * x.v) + x.u } }, re = function(t) { var e = t < 1 ? Math.pow(10, (t + "").length - 2) : 1; return function(n) { return ~~(Math.round(parseFloat(n) / t) * t * e) / e + (j(n) ? 0 : Kt(n)) } }, ie = function(t, e) { var n, r, i = H(t); return !i && V(t) && (n = i = t.radius || S, t.values ? (t = te(t.values), (r = !j(t[0])) && (n *= n)) : t = re(t.increment)), Gt(e, i ? Y(t) ? function(e) { return r = t(e), Math.abs(r - e) <= n ? r : e } : function(e) { for (var i, u, s = parseFloat(r ? e.x : e), a = parseFloat(r ? e.y : 0), o = S, l = 0, h = t.length; h--;)(i = r ? (i = t[h].x - s) * i + (u = t[h].y - a) * u : Math.abs(t[h] - s)) < o && (o = i, l = h); return l = !n || o <= n ? t[l] : e, r || l === e || j(e) ? l : l + Kt(e) } : re(t)) }, ue = function(t, e, n, r) { return Gt(H(t) ? !e : !0 === n ? !!(n = 0) : !r, (function() { return H(t) ? t[~~(Math.random() * t.length)] : (n = n || 1e-5) && (r = n < 1 ? Math.pow(10, (n + "").length - 2) : 1) && ~~(Math.round((t + Math.random() * (e - t)) / n) * n * r) / r })) }, se = function(t, e, n) { return Gt(n, (function(n) { return t[~~e(n)] })) }, ae = function(t) { for (var e, n, r, i, u = 0, s = ""; ~(e = t.indexOf("random(", u));) r = t.indexOf(")", e), i = "[" === t.charAt(e + 7), n = t.substr(e + 7, r - e - 7).match(i ? tt : G), s += t.substr(u, e - u) + ue(i ? n : +n[0], +n[1], +n[2] || 1e-5), u = r + 1; return s + t.substr(u, t.length - u) }, oe = function(t, e, n, r, i) { var u = e - t, s = r - n; return Gt(i, (function(e) { return n + (e - t) / u * s })) }, le = function(t, e, n) { var r, i, u, s = t.labels, a = S; for (r in s)(i = s[r] - e) < 0 == !!n && i && a > (i = Math.abs(i)) && (u = r, a = i); return u }, he = function(t, e, n) { var r, i, u = t.vars, s = u[e]; if (s) return r = u[e + "Params"], i = u.callbackScope || t, n && lt.length && Ft(), r ? s.apply(i, r) : s.call(i) }, fe = function(t) { return kt(t), t.progress() < 1 && he(t, "onInterrupt"), t }, De = function(t) { var e = (t = !t.name && t.default || t).name, n = Y(t), r = e && !n && t.init ? function() { this._props = [] } : t, i = { init: at, render: Je, add: Ie, kill: en, modifier: tn, rawVars: 0 }, u = { targetTest: 0, get: 0, getSetter: Qe, aliases: {}, register: 0 }; if (xe(), t !== r) { if (ft[e]) return; Tt(r, Tt(Bt(t, i), u)), Mt(r.prototype, Mt(i, Bt(t, u))), ft[r.prop = e] = r, t.targetTest && (ct.push(r), ot[e] = 1), e = ("css" === e ? "CSS" : e.charAt(0).toUpperCase() + e.substr(1)) + "Plugin" } st(e, r), t.register && t.register(ln, r, un) }, pe = { aqua: [0, 255, 255], lime: [0, 255, 0], silver: [192, 192, 192], black: [0, 0, 0], maroon: [128, 0, 0], teal: [0, 128, 128], blue: [0, 0, 255], navy: [0, 0, 128], white: [255, 255, 255], olive: [128, 128, 0], yellow: [255, 255, 0], orange: [255, 165, 0], gray: [128, 128, 128], purple: [128, 0, 128], green: [0, 128, 0], red: [255, 0, 0], pink: [255, 192, 203], cyan: [0, 255, 255], transparent: [255, 255, 255, 0] }, ce = function(t, e, n) { return 255 * (6 * (t = t < 0 ? t + 1 : t > 1 ? t - 1 : t) < 1 ? e + (n - e) * t * 6 : t < .5 ? n : 3 * t < 2 ? e + (n - e) * (2 / 3 - t) * 6 : e) + .5 | 0 }, de = function(t, e, n) { var r, i, u, s, a, o, l, h, f, D, p = t ? j(t) ? [t >> 16, t >> 8 & 255, 255 & t] : 0 : pe.black; if (!p) { if ("," === t.substr(-1) && (t = t.substr(0, t.length - 1)), pe[t]) p = pe[t]; else if ("#" === t.charAt(0)) 4 === t.length && (r = t.charAt(1), i = t.charAt(2), u = t.charAt(3), t = "#" + r + r + i + i + u + u), p = [(t = parseInt(t.substr(1), 16)) >> 16, t >> 8 & 255, 255 & t]; else if ("hsl" === t.substr(0, 3)) if (p = D = t.match(G), e) { if (~t.indexOf("=")) return p = t.match(Q), n && p.length < 4 && (p[3] = 1), p } else s = +p[0] % 360 / 360, a = +p[1] / 100, r = 2 * (o = +p[2] / 100) - (i = o <= .5 ? o * (a + 1) : o + a - o * a), p.length > 3 && (p[3] *= 1), p[0] = ce(s + 1 / 3, r, i), p[1] = ce(s, r, i), p[2] = ce(s - 1 / 3, r, i); else p = t.match(G) || pe.transparent; p = p.map(Number) } return e && !D && (r = p[0] / 255, i = p[1] / 255, u = p[2] / 255, o = ((l = Math.max(r, i, u)) + (h = Math.min(r, i, u))) / 2, l === h ? s = a = 0 : (f = l - h, a = o > .5 ? f / (2 - l - h) : f / (l + h), s = l === r ? (i - u) / f + (i < u ? 6 : 0) : l === i ? (u - r) / f + 2 : (r - i) / f + 4, s *= 60), p[0] = ~~(s + .5), p[1] = ~~(100 * a + .5), p[2] = ~~(100 * o + .5)), n && p.length < 4 && (p[3] = 1), p }, ge = function(t) { var e = [], n = [], r = -1; return t.split(me).forEach((function(t) { var i = t.match(K) || []; e.push.apply(e, i), n.push(r += i.length + 1) })), e.c = n, e }, _e = function(t, e, n) { var r, i, u, s, a = "", o = (t + a).match(me), l = e ? "hsla(" : "rgba(", h = 0; if (!o) return t; if (o = o.map((function(t) { return (t = de(t, e, 1)) && l + (e ? t[0] + "," + t[1] + "%," + t[2] + "%," + t[3] : t.join(",")) + ")" })), n && (u = ge(t), (r = n.c).join(a) !== u.c.join(a))) for (s = (i = t.replace(me, "1").split(K)).length - 1; h < s; h++) a += i[h] + (~r.indexOf(h) ? o.shift() || l + "0,0,0,0)" : (u.length ? u : o.length ? o : n).shift()); if (!i) for (s = (i = t.split(me)).length - 1; h < s; h++) a += i[h] + o[h]; return a + i[s] }, me = function() { var t, e = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b"; for (t in pe) e += "|" + t + "\\b"; return new RegExp(e + ")", "gi") }(), ve = /hsl[a]?\(/, ye = function(t) { var e, n = t.join(" "); if (me.lastIndex = 0, me.test(n)) return e = ve.test(n), t[1] = _e(t[1], e), t[0] = _e(t[0], e, ge(t[1])), !0 }, Ce = (_ = Date.now, m = 500, v = 33, y = _(), C = y, F = x = 1 / 240, E = function t(e) { var n, r, i = _() - C, u = !0 === e; i > m && (y += i - v), C += i, g.time = (C - y) / 1e3, ((n = g.time - F) > 0 || u) && (g.frame++, F += n + (n >= x ? .004 : x - n), r = 1), u || (p = c(t)), r && w.forEach((function(t) { return t(g.time, i, g.frame, e) })) }, g = { time: 0, frame: 0, tick: function() { E(!0) }, wake: function() { l && (!a && W() && (s = a = window, o = s.document || {}, et.gsap = ln, (s.gsapVersions || (s.gsapVersions = [])).push(ln.version), rt(nt || s.GreenSockGlobals || !s.gsap && s || {}), d = s.requestAnimationFrame), p && g.sleep(), c = d || function(t) { return setTimeout(t, 1e3 * (F - g.time) + 1 | 0) }, D = 1, E(2)) }, sleep: function() { (d ? s.cancelAnimationFrame : clearTimeout)(p), D = 0, c = at }, lagSmoothing: function(t, e) { m = t || 1 / 1e-8, v = Math.min(e, m, 0) }, fps: function(t) { x = 1 / (t || 240), F = g.time + x }, add: function(t) { w.indexOf(t) < 0 && w.push(t), xe() }, remove: function(t) { var e; ~(e = w.indexOf(t)) && w.splice(e, 1) }, _listeners: w = [] }), xe = function() { return !D && Ce.wake() }, Fe = {}, we = /^[\d.\-M][\d.\-,\s]/, Ee = /["']/g, be = function(t) { for (var e, n, r, i = {}, u = t.substr(1, t.length - 3).split(":"), s = u[0], a = 1, o = u.length; a < o; a++) n = u[a], e = a !== o - 1 ? n.lastIndexOf(",") : n.length, r = n.substr(0, e), i[s] = isNaN(r) ? r.replace(Ee, "").trim() : +r, s = n.substr(e + 1).trim(); return i }, Te = function(t) { return function(e) { return 1 - t(1 - e) } }, Ae = function(t, e) { return t && (Y(t) ? t : Fe[t] || function(t) { var e = (t + "").split("("), n = Fe[e[0]]; return n && e.length > 1 && n.config ? n.config.apply(null, ~t.indexOf("{") ? [be(e[1])] : $.exec(t)[1].split(",").map(Et)) : Fe._CE && we.test(t) ? Fe._CE("", t) : n }(t)) || e }, Me = function(t, e, n, r) { void 0 === n && (n = function(t) { return 1 - e(1 - t) }), void 0 === r && (r = function(t) { return t < .5 ? e(2 * t) / 2 : 1 - e(2 * (1 - t)) / 2 }); var i, u = { easeIn: e, easeOut: n, easeInOut: r }; return vt(t, (function(t) { for (var e in Fe[t] = et[t] = u, Fe[i = t.toLowerCase()] = n, u) Fe[i + ("easeIn" === e ? ".in" : "easeOut" === e ? ".out" : ".inOut")] = Fe[t + "." + e] = u[e] })), u }, Pe = function(t) { return function(e) { return e < .5 ? (1 - t(1 - 2 * e)) / 2 : .5 + t(2 * (e - .5)) / 2 } }, Be = function t(e, n, r) { var i = n >= 1 ? n : 1, u = (r || (e ? .3 : .45)) / (n < 1 ? n : 1), s = u / O * (Math.asin(1 / i) || 0), a = function(t) { return 1 === t ? 1 : i * Math.pow(2, -10 * t) * I((t - s) * u) + 1 }, o = "out" === e ? a : "in" === e ? function(t) { return 1 - a(1 - t) } : Pe(a); return u = O / u, o.config = function(n, r) { return t(e, n, r) }, o }, Se = function t(e, n) { void 0 === n && (n = 1.70158); var r = function(t) { return t ? --t * t * ((n + 1) * t + n) + 1 : 0 }, i = "out" === e ? r : "in" === e ? function(t) { return 1 - r(1 - t) } : Pe(r); return i.config = function(n) { return t(e, n) }, i }; vt("Linear,Quad,Cubic,Quart,Quint,Strong", (function(t, e) { var n = e < 5 ? e + 1 : e; Me(t + ",Power" + (n - 1), e ? function(t) { return Math.pow(t, n) } : function(t) { return t }, (function(t) { return 1 - Math.pow(1 - t, n) }), (function(t) { return t < .5 ? Math.pow(2 * t, n) / 2 : 1 - Math.pow(2 * (1 - t), n) / 2 })) })), Fe.Linear.easeNone = Fe.none = Fe.Linear.easeIn, Me("Elastic", Be("in"), Be("out"), Be()), b = 7.5625, A = 1 / (T = 2.75), Me("Bounce", (function(t) { return 1 - M(1 - t) }), M = function(t) { return t < A ? b * t * t : t < .7272727272727273 ? b * Math.pow(t - 1.5 / T, 2) + .75 : t < .9090909090909092 ? b * (t -= 2.25 / T) * t + .9375 : b * Math.pow(t - 2.625 / T, 2) + .984375 }), Me("Expo", (function(t) { return t ? Math.pow(2, 10 * (t - 1)) : 0 })), Me("Circ", (function(t) { return -(N(1 - t * t) - 1) })), Me("Sine", (function(t) { return 1 - R(t * k) })), Me("Back", Se("in"), Se("out"), Se()), Fe.SteppedEase = Fe.steps = et.SteppedEase = { config: function(t, e) { void 0 === t && (t = 1); var n = 1 / t, r = t + (e ? 0 : 1), i = e ? 1 : 0; return function(t) { return ((r * Qt(0, 1 - 1e-8, t) | 0) + i) * n } } }, B.ease = Fe["quad.out"], vt("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt", (function(t) { return dt += t + "," + t + "Params," })); var Oe = function(t, e) { this.id = L++, t._gsap = this, this.target = t, this.harness = e, this.get = e ? e.get : mt, this.set = e ? e.getSetter : Qe }, ke = function() { function t(t, e) { var n = t.parent || u; this.vars = t, this._delay = +t.delay || 0, (this._repeat = t.repeat || 0) && (this._rDelay = t.repeatDelay || 0, this._yoyo = !!t.yoyo || !!t.yoyoEase), this._ts = 1, Ut(this, +t.duration, 1), this.data = t.data, D || Ce.wake(), n && Xt(n, this, e || 0 === e ? e : n._time, 1), t.reversed && this.reverse(), t.paused && this.paused(!0) } var e = t.prototype; return e.delay = function(t) { return t || 0 === t ? (this.parent && this.parent.smoothChildTiming && this.startTime(this._start + t - this._delay), this._delay = t, this) : this._delay }, e.duration = function(t) { return arguments.length ? this.totalDuration(this._repeat > 0 ? t + (t + this._rDelay) * this._repeat : t) : this.totalDuration() && this._dur }, e.totalDuration = function(t) { return arguments.length ? (this._dirty = 0, Ut(this, this._repeat < 0 ? t : (t - this._repeat * this._rDelay) / (this._repeat + 1))) : this._tDur }, e.totalTime = function(t, e) { if (xe(), !arguments.length) return this._tTime; var n = this.parent || this._dp; if (n && n.smoothChildTiming && this._ts) { for (this._start = yt(n._time - (this._ts > 0 ? t / this._ts : ((this._dirty ? this.totalDuration() : this._tDur) - t) / -this._ts)), Yt(this), n._dirty || Lt(n); n.parent;) n.parent._time !== n._start + (n._ts >= 0 ? n._tTime / n._ts : (n.totalDuration() - n._tTime) / -n._ts) && n.totalTime(n._tTime, !0), n = n.parent; !this.parent && this._dp.autoRemoveChildren && Xt(this._dp, this, this._start - this._delay) } return (this._tTime !== t || !this._dur && !e || this._initted && 1e-8 === Math.abs(this._zTime)) && (this._ts || (this._pTime = t), wt(this, t, e)), this }, e.time = function(t, e) { return arguments.length ? this.totalTime(Math.min(this.totalDuration(), t + Rt(this)) % this._dur || (t ? this._dur : 0), e) : this._time }, e.totalProgress = function(t, e) { return arguments.length ? this.totalTime(this.totalDuration() * t, e) : this.totalDuration() ? Math.min(1, this._tTime / this._tDur) : this.ratio }, e.progress = function(t, e) { return arguments.length ? this.totalTime(this.duration() * (!this._yoyo || 1 & this.iteration() ? t : 1 - t) + Rt(this), e) : this.duration() ? Math.min(1, this._time / this._dur) : this.ratio }, e.iteration = function(t, e) { var n = this.duration() + this._rDelay; return arguments.length ? this.totalTime(this._time + (t - 1) * n, e) : this._repeat ? It(this._tTime, n) + 1 : 1 }, e.timeScale = function(t) { if (!arguments.length) return -1e-8 === this._rts ? 0 : this._rts; if (this._rts === t) return this; var e = this.parent && this._ts ? zt(this.parent._time, this) : this._tTime; return this._rts = +t || 0, this._ts = this._ps || -1e-8 === t ? 0 : this._rts, Nt(this.totalTime(Qt(0, this._tDur, e), !0)) }, e.paused = function(t) { return arguments.length ? (this._ps !== t && (this._ps = t, t ? (this._pTime = this._tTime || Math.max(-this._delay, this.rawTime()), this._ts = this._act = 0) : (xe(), this._ts = this._rts, this.totalTime(this.parent && !this.parent.smoothChildTiming ? this.rawTime() : this._tTime || this._pTime, 1 === this.progress() && (this._tTime -= 1e-8) && 1e-8 !== Math.abs(this._zTime)))), this) : this._ps }, e.startTime = function(t) { if (arguments.length) { this._start = t; var e = this.parent || this._dp; return e && (e._sort || !this.parent) && Xt(e, this, t - this._delay), this } return this._start }, e.endTime = function(t) { return this._start + (U(t) ? this.totalDuration() : this.duration()) / Math.abs(this._ts) }, e.rawTime = function(t) { var e = this.parent || this._dp; return e ? t && (!this._ts || this._repeat && this._time && this.totalProgress() < 1) ? this._tTime % (this._dur + this._rDelay) : this._ts ? zt(e.rawTime(t), this) : this._tTime : this._tTime }, e.repeat = function(t) { return arguments.length ? (this._repeat = t, Wt(this)) : this._repeat }, e.repeatDelay = function(t) { return arguments.length ? (this._rDelay = t, Wt(this)) : this._rDelay }, e.yoyo = function(t) { return arguments.length ? (this._yoyo = t, this) : this._yoyo }, e.seek = function(t, e) { return this.totalTime(Ht(this, t), U(e)) }, e.restart = function(t, e) { return this.play().totalTime(t ? -this._delay : 0, U(e)) }, e.play = function(t, e) { return null != t && this.seek(t, e), this.reversed(!1).paused(!1) }, e.reverse = function(t, e) { return null != t && this.seek(t || this.totalDuration(), e), this.reversed(!0).paused(!1) }, e.pause = function(t, e) { return null != t && this.seek(t, e), this.paused(!0) }, e.resume = function() { return this.paused(!1) }, e.reversed = function(t) { return arguments.length ? (!!t !== this.reversed() && this.timeScale(-this._rts || (t ? -1e-8 : 0)), this) : this._rts < 0 }, e.invalidate = function() { return this._initted = 0, this._zTime = -1e-8, this }, e.isActive = function(t) { var e, n = this.parent || this._dp, r = this._start; return !(n && !(this._ts && (this._initted || !t) && n.isActive(t) && (e = n.rawTime(!0)) >= r && e < this.endTime(!0) - 1e-8)) }, e.eventCallback = function(t, e, n) { var r = this.vars; return arguments.length > 1 ? (e ? (r[t] = e, n && (r[t + "Params"] = n), "onUpdate" === t && (this._onUpdate = e)) : delete r[t], this) : r[t] }, e.then = function(t) { var e = this; return new Promise((function(n) { var r = Y(t) ? t : bt, i = function() { var t = e.then; e.then = null, Y(r) && (r = r(e)) && (r.then || r === e) && (e.then = t), n(r), e.then = t }; e._initted && 1 === e.totalProgress() && e._ts >= 0 || !e._tTime && e._ts < 0 ? i() : e._prom = i })) }, e.kill = function() { fe(this) }, t }(); Tt(ke.prototype, { _time: 0, _start: 0, _end: 0, _tTime: 0, _tDur: 0, _dirty: 0, _repeat: 0, _yoyo: !1, parent: null, _initted: !1, _rDelay: 0, _ts: 1, _dp: 0, ratio: 0, _zTime: -1e-8, _prom: 0, _ps: !1, _rts: 1 }); var Le = function(t) { function e(e, n) { var i; return void 0 === e && (e = {}), (i = t.call(this, e, n) || this).labels = {}, i.smoothChildTiming = !!e.smoothChildTiming, i.autoRemoveChildren = !!e.autoRemoveChildren, i._sort = U(e.sortChildren), i.parent && jt(i.parent, r(i)), i } i(e, t); var n = e.prototype; return n.to = function(t, e, n) { return new Ue(t, xt(arguments, 0, this), Ht(this, j(e) ? arguments[3] : n)), this }, n.from = function(t, e, n) { return new Ue(t, xt(arguments, 1, this), Ht(this, j(e) ? arguments[3] : n)), this }, n.fromTo = function(t, e, n, r) { return new Ue(t, xt(arguments, 2, this), Ht(this, j(e) ? arguments[4] : r)), this }, n.set = function(t, e, n) { return e.duration = 0, e.parent = this, St(e).repeatDelay || (e.repeat = 0), e.immediateRender = !!e.immediateRender, new Ue(t, e, Ht(this, n), 1), this }, n.call = function(t, e, n) { return Xt(this, Ue.delayedCall(0, t, e), Ht(this, n)) }, n.staggerTo = function(t, e, n, r, i, u, s) { return n.duration = e, n.stagger = n.stagger || r, n.onComplete = u, n.onCompleteParams = s, n.parent = this, new Ue(t, n, Ht(this, i)), this }, n.staggerFrom = function(t, e, n, r, i, u, s) { return n.runBackwards = 1, St(n).immediateRender = U(n.immediateRender), this.staggerTo(t, e, n, r, i, u, s) }, n.staggerFromTo = function(t, e, n, r, i, u, s, a) { return r.startAt = n, St(r).immediateRender = U(r.immediateRender), this.staggerTo(t, e, r, i, u, s, a) }, n.render = function(t, e, n) { var r, i, s, a, o, l, h, f, D, p, c, d, g = this._time, _ = this._dirty ? this.totalDuration() : this._tDur, m = this._dur, v = this !== u && t > _ - 1e-8 && t >= 0 ? _ : t < 1e-8 ? 0 : t, y = this._zTime < 0 != t < 0 && (this._initted || !m); if (v !== this._tTime || n || y) { if (g !== this._time && m && (v += this._time - g, t += this._time - g), r = v, D = this._start, l = !(f = this._ts), y && (m || (g = this._zTime), !t && e || (this._zTime = t)), this._repeat && (c = this._yoyo, o = m + this._rDelay, ((r = yt(v % o)) > m || _ === v) && (r = m), (a = ~~(v / o)) && a === v / o && (r = m, a--), c && 1 & a && (r = m - r, d = 1), a !== (p = It(this._tTime, o)) && !this._lock)) { var C = c && 1 & p, x = C === (c && 1 & a); if (a < p && (C = !C), g = C ? 0 : m, this._lock = 1, this.render(g, e, !m)._lock = 0, !e && this.parent && he(this, "onRepeat"), this.vars.repeatRefresh && !d && (this.invalidate()._lock = 1), g !== this._time || l !== !this._ts) return this; if (x && (this._lock = 2, g = C ? m + 1e-4 : -1e-4, this.render(g, !0), this.vars.repeatRefresh && !d && this.invalidate()), this._lock = 0, !this._ts && !l) return this } if (this._hasPause && !this._forcing && this._lock < 2 && (h = function(t, e, n) { var r; if (n > e) for (r = t._first; r && r._start <= n;) { if (!r._dur && "isPause" === r.data && r._start > e) return r; r = r._next } else for (r = t._last; r && r._start >= n;) { if (!r._dur && "isPause" === r.data && r._start < e) return r; r = r._prev } }(this, yt(g), yt(r))) && (v -= r - (r = h._start)), this._tTime = v, this._time = r, this._act = !f, this._initted || (this._onUpdate = this.vars.onUpdate, this._initted = 1, this._zTime = t), g || !r || e || he(this, "onStart"), r >= g && t >= 0) for (i = this._first; i;) { if (s = i._next, (i._act || r >= i._start) && i._ts && h !== i) { if (i.parent !== this) return this.render(t, e, n); if (i.render(i._ts > 0 ? (r - i._start) * i._ts : (i._dirty ? i.totalDuration() : i._tDur) + (r - i._start) * i._ts, e, n), r !== this._time || !this._ts && !l) { h = 0, s && (v += this._zTime = -1e-8); break } } i = s } else { i = this._last; for (var F = t < 0 ? t : r; i;) { if (s = i._prev, (i._act || F <= i._end) && i._ts && h !== i) { if (i.parent !== this) return this.render(t, e, n); if (i.render(i._ts > 0 ? (F - i._start) * i._ts : (i._dirty ? i.totalDuration() : i._tDur) + (F - i._start) * i._ts, e, n), r !== this._time || !this._ts && !l) { h = 0, s && (v += this._zTime = F ? -1e-8 : 1e-8); break } } i = s } } if (h && !e && (this.pause(), h.render(r >= g ? 0 : -1e-8)._zTime = r >= g ? 1 : -1, this._ts)) return this._start = D, Yt(this), this.render(t, e, n); this._onUpdate && !e && he(this, "onUpdate", !0), (v === _ && _ >= this.totalDuration() || !v && this._ts < 0) && (D !== this._start && Math.abs(f) === Math.abs(this._ts) || this._lock || ((t || !m) && (t && this._ts > 0 || !v && this._ts < 0) && kt(this, 1), e || t < 0 && !g || (he(this, v === _ ? "onComplete" : "onReverseComplete", !0), this._prom && this._prom()))) } return this }, n.add = function(t, e) { var n = this; if (j(e) || (e = Ht(this, e)), !(t instanceof ke)) { if (H(t)) return t.forEach((function(t) { return n.add(t, e) })), Lt(this); if (z(t)) return this.addLabel(t, e); if (!Y(t)) return this; t = Ue.delayedCall(0, t) } return this !== t ? Xt(this, t, e) : this }, n.getChildren = function(t, e, n, r) { void 0 === t && (t = !0), void 0 === e && (e = !0), void 0 === n && (n = !0), void 0 === r && (r = -S); for (var i = [], u = this._first; u;) u._start >= r && (u instanceof Ue ? e && i.push(u) : (n && i.push(u), t && i.push.apply(i, u.getChildren(!0, e, n)))), u = u._next; return i }, n.getById = function(t) { for (var e = this.getChildren(1, 1, 1), n = e.length; n--;) if (e[n].vars.id === t) return e[n] }, n.remove = function(t) { return z(t) ? this.removeLabel(t) : Y(t) ? this.killTweensOf(t) : (Ot(this, t), t === this._recent && (this._recent = this._last), Lt(this)) }, n.totalTime = function(e, n) { return arguments.length ? (this._forcing = 1, this.parent || this._dp || !this._ts || (this._start = yt(Ce.time - (this._ts > 0 ? e / this._ts : (this.totalDuration() - e) / -this._ts))), t.prototype.totalTime.call(this, e, n), this._forcing = 0, this) : this._tTime }, n.addLabel = function(t, e) { return this.labels[t] = Ht(this, e), this }, n.removeLabel = function(t) { return delete this.labels[t], this }, n.addPause = function(t, e, n) { var r = Ue.delayedCall(0, e || at, n); return r.data = "isPause", this._hasPause = 1, Xt(this, r, Ht(this, t)) }, n.removePause = function(t) { var e = this._first; for (t = Ht(this, t); e;) e._start === t && "isPause" === e.data && kt(e), e = e._next }, n.killTweensOf = function(t, e, n) { for (var r = this.getTweensOf(t, n), i = r.length; i--;) Ne !== r[i] && r[i].kill(t, e); return this }, n.getTweensOf = function(t, e) { for (var n, r = [], i = te(t), u = this._first; u;) u instanceof Ue ? !Ct(u._targets, i) || e && !u.isActive("started" === e) || r.push(u) : (n = u.getTweensOf(i, e)).length && r.push.apply(r, n), u = u._next; return r }, n.tweenTo = function(t, e) { e = e || {}; var n = this, r = Ht(n, t), i = e, u = i.startAt, s = i.onStart, a = i.onStartParams, o = Ue.to(n, Tt(e, { ease: "none", lazy: !1, time: r, duration: e.duration || Math.abs((r - (u && "time" in u ? u.time : n._time)) / n.timeScale()) || 1e-8, onStart: function() { n.pause(); var t = e.duration || Math.abs((r - n._time) / n.timeScale()); o._dur !== t && Ut(o, t).render(o._time, !0, !0), s && s.apply(o, a || []) } })); return o }, n.tweenFromTo = function(t, e, n) { return this.tweenTo(e, Tt({ startAt: { time: Ht(this, t) } }, n)) }, n.recent = function() { return this._recent }, n.nextLabel = function(t) { return void 0 === t && (t = this._time), le(this, Ht(this, t)) }, n.previousLabel = function(t) { return void 0 === t && (t = this._time), le(this, Ht(this, t), 1) }, n.currentLabel = function(t) { return arguments.length ? this.seek(t, !0) : this.previousLabel(this._time + 1e-8) }, n.shiftChildren = function(t, e, n) { void 0 === n && (n = 0); for (var r, i = this._first, u = this.labels; i;) i._start >= n && (i._start += t), i = i._next; if (e) for (r in u) u[r] >= n && (u[r] += t); return Lt(this) }, n.invalidate = function() { var e = this._first; for (this._lock = 0; e;) e.invalidate(), e = e._next; return t.prototype.invalidate.call(this) }, n.clear = function(t) { void 0 === t && (t = !0); for (var e, n = this._first; n;) e = n._next, this.remove(n), n = e; return this._time = this._tTime = 0, t && (this.labels = {}), Lt(this) }, n.totalDuration = function(t) { var e, n, r, i, s = 0, a = this, o = a._last, l = S; if (arguments.length) return a.timeScale((a._repeat < 0 ? a.duration() : a.totalDuration()) / (a.reversed() ? -t : t)); if (a._dirty) { for (i = a.parent; o;) e = o._prev, o._dirty && o.totalDuration(), (r = o._start) > l && a._sort && o._ts && !a._lock ? (a._lock = 1, Xt(a, o, r - o._delay, 1)._lock = 0) : l = r, r < 0 && o._ts && (s -= r, (!i && !a._dp || i && i.smoothChildTiming) && (a._start += r / a._ts, a._time -= r, a._tTime -= r), a.shiftChildren(-r, !1, -1e20), l = 0), (n = Yt(o)) > s && o._ts && (s = n), o = e; Ut(a, a === u && a._time > s ? a._time : Math.min(S, s), 1), a._dirty = 0 } return a._tDur }, e.updateRoot = function(t) { if (u._ts && (wt(u, zt(t, u)), h = Ce.frame), Ce.frame >= pt) { pt += P.autoSleep || 120; var e = u._first; if ((!e || !e._ts) && P.autoSleep && Ce._listeners.length < 2) { for (; e && !e._ts;) e = e._next; e || Ce.sleep() } } }, e }(ke); Tt(Le.prototype, { _lock: 0, _hasPause: 0, _forcing: 0 }); var Ne, Re = function(t, e, n, r, i, u, s) { var a, o, l, h, f, D, p, c, d = new un(this._pt, t, e, 0, 1, $e, null, i), g = 0, _ = 0; for (d.b = n, d.e = r, n += "", (p = ~(r += "").indexOf("random(")) && (r = ae(r)), u && (u(c = [n, r], t, e), n = c[0], r = c[1]), o = n.match(Z) || []; a = Z.exec(r);) h = a[0], f = r.substring(g, a.index), l ? l = (l + 1) % 5 : "rgba(" === f.substr(-5) && (l = 1), h !== o[_++] && (D = parseFloat(o[_ - 1]) || 0, d._pt = { _next: d._pt, p: f || 1 === _ ? f : ",", s: D, c: "=" === h.charAt(1) ? parseFloat(h.substr(2)) * ("-" === h.charAt(0) ? -1 : 1) : parseFloat(h) - D, m: l && l < 4 ? Math.round : 0 }, g = Z.lastIndex); return d.c = g < r.length ? r.substring(g, r.length) : "", d.fp = s, (J.test(r) || p) && (d.e = 0), this._pt = d, d }, Ie = function(t, e, n, r, i, u, s, a, o) { Y(r) && (r = r(i || 0, t, u)); var l, h = t[e], f = "get" !== n ? n : Y(h) ? o ? t[e.indexOf("set") || !Y(t["get" + e.substr(3)]) ? e : "get" + e.substr(3)](o) : t[e]() : h, D = Y(h) ? o ? He : qe : We; if (z(r) && (~r.indexOf("random(") && (r = ae(r)), "=" === r.charAt(1) && (r = parseFloat(f) + parseFloat(r.substr(2)) * ("-" === r.charAt(0) ? -1 : 1) + (Kt(f) || 0))), f !== r) return isNaN(f + r) ? (!h && !(e in t) && it(e, r), Re.call(this, t, e, f, r, D, a || P.stringFilter, o)) : (l = new un(this._pt, t, e, +f || 0, r - (f || 0), "boolean" == typeof h ? Ze : Ke, 0, D), o && (l.fp = o), s && l.modifier(s, this, t), this._pt = l) }, ze = function(t, e, n, r, i, u) { var s, a, o, l; if (ft[t] && !1 !== (s = new ft[t]).init(i, s.rawVars ? e[t] : function(t, e, n, r, i) { if (Y(t) && (t = je(t, i, e, n, r)), !V(t) || t.style && t.nodeType || H(t)) return z(t) ? je(t, i, e, n, r) : t; var u, s = {}; for (u in t) s[u] = je(t[u], i, e, n, r); return s }(e[t], r, i, u, n), n, r, u) && (n._pt = a = new un(n._pt, i, t, 0, 1, s.render, s, 0, s.priority), n !== f)) for (o = n._ptLookup[n._targets.indexOf(i)], l = s._props.length; l--;) o[s._props[l]] = a; return s }, Ye = function t(e, n) { var r, i, s, a, o, l, h, f, D, p, c, d, g = e.vars, _ = g.ease, m = g.startAt, v = g.immediateRender, y = g.lazy, C = g.onUpdate, x = g.onUpdateParams, F = g.callbackScope, w = g.runBackwards, E = g.yoyoEase, b = g.keyframes, T = g.autoRevert, A = e._dur, M = e._startAt, P = e._targets, S = e.parent, O = S && "nested" === S.data ? S.parent._targets : P, k = "auto" === e._overwrite, L = e.timeline; if (!L || b && _ || (_ = "none"), e._ease = Ae(_, B.ease), e._yEase = E ? Te(Ae(!0 === E ? _ : E, B.ease)) : 0, E && e._yoyo && !e._repeat && (E = e._yEase, e._yEase = e._ease, e._ease = E), !L) { if (M && M.render(-1, !0).kill(), m) { if (kt(e._startAt = Ue.set(P, Tt({ data: "isStart", overwrite: !1, parent: S, immediateRender: !0, lazy: U(y), startAt: null, delay: 0, onUpdate: C, onUpdateParams: x, callbackScope: F, stagger: 0 }, m))), v) if (n > 0) !T && (e._startAt = 0); else if (A) return } else if (w && A) if (M) !T && (e._startAt = 0); else if (n && (v = !1), kt(e._startAt = Ue.set(P, Mt(Bt(g, ot), { overwrite: !1, data: "isFromStart", lazy: v && U(y), immediateRender: v, stagger: 0, parent: S }))), v) { if (!n) return } else t(e._startAt, 1e-8); for (r = Bt(g, ot), e._pt = 0, d = (f = P[0] ? _t(P[0]).harness : 0) && g[f.prop], y = A && U(y) || y && !A, i = 0; i < P.length; i++) { if (h = (o = P[i])._gsap || gt(P)[i]._gsap, e._ptLookup[i] = p = {}, ht[h.id] && Ft(), c = O === P ? i : O.indexOf(o), f && !1 !== (D = new f).init(o, d || r, e, c, O) && (e._pt = a = new un(e._pt, o, D.name, 0, 1, D.render, D, 0, D.priority), D._props.forEach((function(t) { p[t] = a })), D.priority && (l = 1)), !f || d) for (s in r) ft[s] && (D = ze(s, r, e, c, o, O)) ? D.priority && (l = 1) : p[s] = a = Ie.call(e, o, s, "get", r[s], c, O, 0, g.stringFilter); e._op && e._op[i] && e.kill(o, e._op[i]), k && e._pt && (Ne = e, u.killTweensOf(o, p, "started"), Ne = 0), e._pt && y && (ht[h.id] = 1) } l && rn(e), e._onInit && e._onInit(e) } e._from = !L && !!g.runBackwards, e._onUpdate = C, e._initted = 1 }, je = function(t, e, n, r, i) { return Y(t) ? t.call(e, n, r, i) : z(t) && ~t.indexOf("random(") ? ae(t) : t }, Xe = dt + "repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase", Ve = (Xe + ",id,stagger,delay,duration,paused").split(","), Ue = function(t) { function e(e, n, i, s) { var a; "number" == typeof n && (i.duration = n, n = i, i = null); var o, l, h, f, D, p, c, d, g = (a = t.call(this, s ? n : St(n), i) || this).vars, _ = g.duration, m = g.delay, v = g.immediateRender, y = g.stagger, C = g.overwrite, x = g.keyframes, F = g.defaults, w = a.parent, E = (H(e) ? j(e[0]) : "length" in n) ? [e] : te(e); if (a._targets = E.length ? gt(E) : ut("GSAP target " + e + " not found. https://greensock.com", !P.nullTargetWarn) || [], a._ptLookup = [], a._overwrite = C, x || y || q(_) || q(m)) { if (n = a.vars, (o = a.timeline = new Le({ data: "nested", defaults: F || {} })).kill(), o.parent = r(a), x) Tt(o.vars.defaults, { ease: "none" }), x.forEach((function(t) { return o.to(E, t, ">") })); else { if (f = E.length, c = y ? ne(y) : at, V(y)) for (D in y) ~Xe.indexOf(D) && (d || (d = {}), d[D] = y[D]); for (l = 0; l < f; l++) { for (D in h = {}, n) Ve.indexOf(D) < 0 && (h[D] = n[D]); h.stagger = 0, d && Mt(h, d), n.yoyoEase && !n.repeat && (h.yoyoEase = n.yoyoEase), p = E[l], h.duration = +je(_, r(a), l, p, E), h.delay = (+je(m, r(a), l, p, E) || 0) - a._delay, !y && 1 === f && h.delay && (a._delay = m = h.delay, a._start += m, h.delay = 0), o.to(p, h, c(l, p, E)) } _ = m = 0 } _ || a.duration(_ = o.duration()) } else a.timeline = 0; return !0 === C && (Ne = r(a), u.killTweensOf(E), Ne = 0), w && jt(w, r(a)), (v || !_ && !x && a._start === w._time && U(v) && function t(e) { return !e || e._ts && t(e.parent) }(r(a)) && "nested" !== w.data) && (a._tTime = -1e-8, a.render(Math.max(0, -m))), a } i(e, t); var n = e.prototype; return n.render = function(t, e, n) { var r, i, u, s, a, o, l, h, f, D = this._time, p = this._tDur, c = this._dur, d = t > p - 1e-8 && t >= 0 ? p : t < 1e-8 ? 0 : t; if (c) { if (d !== this._tTime || !t || n || this._startAt && this._zTime < 0 != t < 0) { if (r = d, h = this.timeline, this._repeat) { if (s = c + this._rDelay, ((r = yt(d % s)) > c || p === d) && (r = c), (u = ~~(d / s)) && u === d / s && (r = c, u--), (o = this._yoyo && 1 & u) && (f = this._yEase, r = c - r), a = It(this._tTime, s), r === D && !n && this._initted) return this; u !== a && (!this.vars.repeatRefresh || o || this._lock || (this._lock = n = 1, this.render(s * u, !0).invalidate()._lock = 0)) } if (!this._initted) { if (Vt(this, r, n, e)) return this._tTime = 0, this; if (c !== this._dur) return this.render(t, e, n) } for (this._tTime = d, this._time = r, !this._act && this._ts && (this._act = 1, this._lazy = 0), this.ratio = l = (f || this._ease)(r / c), this._from && (this.ratio = l = 1 - l), D || !r || e || he(this, "onStart"), i = this._pt; i;) i.r(l, i.d), i = i._next; h && h.render(t < 0 ? t : !r && o ? -1e-8 : h._dur * l, e, n) || this._startAt && (this._zTime = t), this._onUpdate && !e && (t < 0 && this._startAt && this._startAt.render(t, !0, n), he(this, "onUpdate")), this._repeat && u !== a && this.vars.onRepeat && !e && this.parent && he(this, "onRepeat"), d !== this._tDur && d || this._tTime !== d || (t < 0 && this._startAt && !this._onUpdate && this._startAt.render(t, !0, n), (t || !c) && (t && this._ts > 0 || !d && this._ts < 0) && kt(this, 1), e || t < 0 && !D || d < p && this.timeScale() > 0 || (he(this, d === p ? "onComplete" : "onReverseComplete", !0), this._prom && this._prom())) } } else ! function(t, e, n, r) { var i, u = t._zTime < 0 ? 0 : 1, s = e < 0 ? 0 : 1, a = t._rDelay, o = 0; if (a && t._repeat && (o = Qt(0, t._tDur, e), It(o, a) !== It(t._tTime, a) && (u = 1 - s, t.vars.repeatRefresh && t._initted && t.invalidate())), (t._initted || !Vt(t, e, r, n)) && (s !== u || r || 1e-8 === t._zTime || !e && t._zTime)) { for (t._zTime = e || (n ? 1e-8 : 0), t.ratio = s, t._from && (s = 1 - s), t._time = 0, t._tTime = o, n || he(t, "onStart"), i = t._pt; i;) i.r(s, i.d), i = i._next; !s && t._startAt && !t._onUpdate && t._start && t._startAt.render(e, !0, r), t._onUpdate && (n || he(t, "onUpdate")), o && t._repeat && !n && t.parent && he(t, "onRepeat"), (e >= t._tDur || e < 0) && t.ratio === s && (t.ratio && kt(t, 1), n || (he(t, t.ratio ? "onComplete" : "onReverseComplete", !0), t._prom && t._prom())) } }(this, t, e, n); return this }, n.targets = function() { return this._targets }, n.invalidate = function() { return this._pt = this._op = this._startAt = this._onUpdate = this._act = this._lazy = 0, this._ptLookup = [], this.timeline && this.timeline.invalidate(), t.prototype.invalidate.call(this) }, n.kill = function(t, e) { if (void 0 === e && (e = "all"), !(t || e && "all" !== e) && (this._lazy = 0, this.parent)) return fe(this); if (this.timeline) return this.timeline.killTweensOf(t, e, Ne && !0 !== Ne.vars.overwrite), this; var n, r, i, u, s, a, o, l = this._targets, h = t ? te(t) : l, f = this._ptLookup, D = this._pt; if ((!e || "all" === e) && function(t, e) { for (var n = t.length, r = n === e.length; r && n-- && t[n] === e[n];); return n < 0 }(l, h)) return fe(this); for (n = this._op = this._op || [], "all" !== e && (z(e) && (s = {}, vt(e, (function(t) { return s[t] = 1 })), e = s), e = function(t, e) { var n, r, i, u, s = t[0] ? _t(t[0]).harness : 0, a = s && s.aliases; if (!a) return e; for (r in n = Mt({}, e), a) if (r in n) for (i = (u = a[r].split(",")).length; i--;) n[u[i]] = n[r]; return n }(l, e)), o = l.length; o--;) if (~h.indexOf(l[o])) for (s in r = f[o], "all" === e ? (n[o] = e, u = r, i = {}) : (i = n[o] = n[o] || {}, u = e), u)(a = r && r[s]) && ("kill" in a.d && !0 !== a.d.kill(s) || Ot(this, a, "_pt"), delete r[s]), "all" !== i && (i[s] = 1); return this._initted && !this._pt && D && fe(this), this }, e.to = function(t, n) { return new e(t, n, arguments[2]) }, e.from = function(t, n) { return new e(t, xt(arguments, 1)) }, e.delayedCall = function(t, n, r, i) { return new e(n, 0, { immediateRender: !1, lazy: !1, overwrite: !1, delay: t, onComplete: n, onReverseComplete: n, onCompleteParams: r, onReverseCompleteParams: r, callbackScope: i }) }, e.fromTo = function(t, n, r) { return new e(t, xt(arguments, 2)) }, e.set = function(t, n) { return n.duration = 0, n.repeatDelay || (n.repeat = 0), new e(t, n) }, e.killTweensOf = function(t, e, n) { return u.killTweensOf(t, e, n) }, e }(ke); Tt(Ue.prototype, { _targets: [], _lazy: 0, _startAt: 0, _op: 0, _onInit: 0 }), vt("staggerTo,staggerFrom,staggerFromTo", (function(t) { Ue[t] = function() { var e = new Le, n = Zt.call(arguments, 0); return n.splice("staggerFromTo" === t ? 5 : 4, 0, 0), e[t].apply(e, n) } })); var We = function(t, e, n) { return t[e] = n }, qe = function(t, e, n) { return t[e](n) }, He = function(t, e, n, r) { return t[e](r.fp, n) }, Ge = function(t, e, n) { return t.setAttribute(e, n) }, Qe = function(t, e) { return Y(t[e]) ? qe : X(t[e]) && t.setAttribute ? Ge : We }, Ke = function(t, e) { return e.set(e.t, e.p, Math.round(1e4 * (e.s + e.c * t)) / 1e4, e) }, Ze = function(t, e) { return e.set(e.t, e.p, !!(e.s + e.c * t), e) }, $e = function(t, e) { var n = e._pt, r = ""; if (!t && e.b) r = e.b; else if (1 === t && e.e) r = e.e; else { for (; n;) r = n.p + (n.m ? n.m(n.s + n.c * t) : Math.round(1e4 * (n.s + n.c * t)) / 1e4) + r, n = n._next; r += e.c } e.set(e.t, e.p, r, e) }, Je = function(t, e) { for (var n = e._pt; n;) n.r(t, n.d), n = n._next }, tn = function(t, e, n, r) { for (var i, u = this._pt; u;) i = u._next, u.p === r && u.modifier(t, e, n), u = i }, en = function(t) { for (var e, n, r = this._pt; r;) n = r._next, r.p === t && !r.op || r.op === t ? Ot(this, r, "_pt") : r.dep || (e = 1), r = n; return !e }, nn = function(t, e, n, r) { r.mSet(t, e, r.m.call(r.tween, n, r.mt), r) }, rn = function(t) { for (var e, n, r, i, u = t._pt; u;) { for (e = u._next, n = r; n && n.pr > u.pr;) n = n._next; (u._prev = n ? n._prev : i) ? u._prev._next = u: r = u, (u._next = n) ? n._prev = u : i = u, u = e } t._pt = r }, un = function() { function t(t, e, n, r, i, u, s, a, o) { this.t = e, this.s = r, this.c = i, this.p = n, this.r = u || Ke, this.d = s || this, this.set = a || We, this.pr = o || 0, this._next = t, t && (t._prev = this) } return t.prototype.modifier = function(t, e, n) { this.mSet = this.mSet || this.set, this.set = nn, this.m = t, this.mt = n, this.tween = e }, t }(); vt(dt + "parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert", (function(t) { return ot[t] = 1 })), et.TweenMax = et.TweenLite = Ue, et.TimelineLite = et.TimelineMax = Le, u = new Le({ sortChildren: !1, defaults: B, autoRemoveChildren: !0, id: "root", smoothChildTiming: !0 }), P.stringFilter = ye; var sn = { registerPlugin: function() { for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n]; e.forEach((function(t) { return De(t) })) }, timeline: function(t) { return new Le(t) }, getTweensOf: function(t, e) { return u.getTweensOf(t, e) }, getProperty: function(t, e, n, r) { z(t) && (t = te(t)[0]); var i = _t(t || {}).get, u = n ? bt : Et; return "native" === n && (n = ""), t ? e ? u((ft[e] && ft[e].get || i)(t, e, n, r)) : function(e, n, r) { return u((ft[e] && ft[e].get || i)(t, e, n, r)) } : t }, quickSetter: function(t, e, n) { if ((t = te(t)).length > 1) { var r = t.map((function(t) { return ln.quickSetter(t, e, n) })), i = r.length; return function(t) { for (var e = i; e--;) r[e](t) } } t = t[0] || {}; var u = ft[e], s = _t(t), a = u ? function(e) { var r = new u; f._pt = 0, r.init(t, n ? e + n : e, f, 0, [t]), r.render(1, r), f._pt && Je(1, f) } : s.set(t, e); return u ? a : function(r) { return a(t, e, n ? r + n : r, s, 1) } }, isTweening: function(t) { return u.getTweensOf(t, !0).length > 0 }, defaults: function(t) { return t && t.ease && (t.ease = Ae(t.ease, B.ease)), Pt(B, t || {}) }, config: function(t) { return Pt(P, t || {}) }, registerEffect: function(t) { var e = t.name, n = t.effect, r = t.plugins, i = t.defaults, u = t.extendTimeline; (r || "").split(",").forEach((function(t) { return t && !ft[t] && !et[t] && ut(e + " effect requires " + t + " plugin.") })), Dt[e] = function(t, e, r) { return n(te(t), Tt(e || {}, i), r) }, u && (Le.prototype[e] = function(t, n, r) { return this.add(Dt[e](t, V(n) ? n : (r = n) && {}, this), r) }) }, registerEase: function(t, e) { Fe[t] = Ae(e) }, parseEase: function(t, e) { return arguments.length ? Ae(t, e) : Fe }, getById: function(t) { return u.getById(t) }, exportRoot: function(t, e) { void 0 === t && (t = {}); var n, r, i = new Le(t); for (i.smoothChildTiming = U(t.smoothChildTiming), u.remove(i), i._dp = 0, i._time = i._tTime = u._time, n = u._first; n;) r = n._next, !e && !n._dur && n instanceof Ue && n.vars.onComplete === n._targets[0] || Xt(i, n, n._start - n._delay), n = r; return Xt(u, i, 0), i }, utils: { wrap: function t(e, n, r) { var i = n - e; return H(e) ? se(e, t(0, e.length), n) : Gt(r, (function(t) { return (i + (t - e) % i) % i + e })) }, wrapYoyo: function t(e, n, r) { var i = n - e, u = 2 * i; return H(e) ? se(e, t(0, e.length - 1), n) : Gt(r, (function(t) { return e + ((t = (u + (t - e) % u) % u) > i ? u - t : t) })) }, distribute: ne, random: ue, snap: ie, normalize: function(t, e, n) { return oe(t, e, 0, 1, n) }, getUnit: Kt, clamp: function(t, e, n) { return Gt(n, (function(n) { return Qt(t, e, n) })) }, splitColor: de, toArray: te, mapRange: oe, pipe: function() { for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n]; return function(t) { return e.reduce((function(t, e) { return e(t) }), t) } }, unitize: function(t, e) { return function(n) { return t(parseFloat(n)) + (e || Kt(n)) } }, interpolate: function t(e, n, r, i) { var u = isNaN(e + n) ? 0 : function(t) { return (1 - t) * e + t * n }; if (!u) { var s, a, o, l, h, f = z(e), D = {}; if (!0 === r && (i = 1) && (r = null), f) e = { p: e }, n = { p: n }; else if (H(e) && !H(n)) { for (o = [], l = e.length, h = l - 2, a = 1; a < l; a++) o.push(t(e[a - 1], e[a])); l--, u = function(t) { t *= l; var e = Math.min(h, ~~t); return o[e](t - e) }, r = n } else i || (e = Mt(H(e) ? [] : {}, e)); if (!o) { for (s in n) Ie.call(D, e, s, "get", n[s]); u = function(t) { return Je(t, D) || (f ? e.p : e) } } } return Gt(r, u) }, shuffle: ee }, install: rt, effects: Dt, ticker: Ce, updateRoot: Le.updateRoot, plugins: ft, globalTimeline: u, core: { PropTween: un, globals: st, Tween: Ue, Timeline: Le, Animation: ke, getCache: _t, _removeLinkedListItem: Ot } }; vt("to,from,fromTo,delayedCall,set,killTweensOf", (function(t) { return sn[t] = Ue[t] })), Ce.add(Le.updateRoot), f = sn.to({}, { duration: 0 }); var an = function(t, e) { for (var n = t._pt; n && n.p !== e && n.op !== e && n.fp !== e;) n = n._next; return n }, on = function(t, e) { return { name: t, rawVars: 1, init: function(t, n, r) { r._onInit = function(t) { var r, i; if (z(n) && (r = {}, vt(n, (function(t) { return r[t] = 1 })), n = r), e) { for (i in r = {}, n) r[i] = e(n[i]); n = r }! function(t, e) { var n, r, i, u = t._targets; for (n in e) for (r = u.length; r--;)(i = t._ptLookup[r][n]) && (i = i.d) && (i._pt && (i = an(i, n)), i && i.modifier && i.modifier(e[n], t, u[r], n)) }(t, n) } } } }, ln = sn.registerPlugin({ name: "attr", init: function(t, e, n, r, i) { for (var u in e) this.add(t, "setAttribute", (t.getAttribute(u) || 0) + "", e[u], r, i, 0, 0, u), this._props.push(u) } }, { name: "endArray", init: function(t, e) { for (var n = e.length; n--;) this.add(t, n, t[n] || 0, e[n]) } }, on("roundProps", re), on("modifiers"), on("snap", ie)) || sn; Ue.version = Le.version = ln.version = "3.2.6", l = 1, W() && xe(); Fe.Power0, Fe.Power1, Fe.Power2, Fe.Power3, Fe.Power4, Fe.Linear, Fe.Quad, Fe.Cubic, Fe.Quart, Fe.Quint, Fe.Strong, Fe.Elastic, Fe.Back, Fe.SteppedEase, Fe.Bounce, Fe.Sine, Fe.Expo, Fe.Circ; /*! * CSSPlugin 3.2.6 * https://greensock.com * * Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var hn, fn, Dn, pn, cn, dn, gn, _n, mn = {}, vn = 180 / Math.PI, yn = Math.PI / 180, Cn = Math.atan2, xn = /([A-Z])/g, Fn = /(?:left|right|width|margin|padding|x)/i, wn = /[\s,\(]\S/, En = { autoAlpha: "opacity,visibility", scale: "scaleX,scaleY", alpha: "opacity" }, bn = function(t, e) { return e.set(e.t, e.p, Math.round(1e4 * (e.s + e.c * t)) / 1e4 + e.u, e) }, Tn = function(t, e) { return e.set(e.t, e.p, 1 === t ? e.e : Math.round(1e4 * (e.s + e.c * t)) / 1e4 + e.u, e) }, An = function(t, e) { return e.set(e.t, e.p, t ? Math.round(1e4 * (e.s + e.c * t)) / 1e4 + e.u : e.b, e) }, Mn = function(t, e) { var n = e.s + e.c * t; e.set(e.t, e.p, ~~(n + (n < 0 ? -.5 : .5)) + e.u, e) }, Pn = function(t, e) { return e.set(e.t, e.p, t ? e.e : e.b, e) }, Bn = function(t, e) { return e.set(e.t, e.p, 1 !== t ? e.b : e.e, e) }, Sn = function(t, e, n) { return t.style[e] = n }, On = function(t, e, n) { return t.style.setProperty(e, n) }, kn = function(t, e, n) { return t._gsap[e] = n }, Ln = function(t, e, n) { return t._gsap.scaleX = t._gsap.scaleY = n }, Nn = function(t, e, n, r, i) { var u = t._gsap; u.scaleX = u.scaleY = n, u.renderTransform(i, u) }, Rn = function(t, e, n, r, i) { var u = t._gsap; u[e] = n, u.renderTransform(i, u) }, In = "transform", zn = In + "Origin", Yn = function(t, e) { var n = fn.createElementNS ? fn.createElementNS((e || "http://www.w3.org/1999/xhtml").replace(/^https/, "http"), t) : fn.createElement(t); return n.style ? n : fn.createElement(t) }, jn = function t(e, n, r) { var i = getComputedStyle(e); return i[n] || i.getPropertyValue(n.replace(xn, "-$1").toLowerCase()) || i.getPropertyValue(n) || !r && t(e, Vn(n) || n, 1) || "" }, Xn = "O,Moz,ms,Ms,Webkit".split(","), Vn = function(t, e, n) { var r = (e || cn).style, i = 5; if (t in r && !n) return t; for (t = t.charAt(0).toUpperCase() + t.substr(1); i-- && !(Xn[i] + t in r);); return i < 0 ? null : (3 === i ? "ms" : i >= 0 ? Xn[i] : "") + t }, Un = function() { "undefined" != typeof window && (hn = window, fn = hn.document, Dn = fn.documentElement, cn = Yn("div") || { style: {} }, dn = Yn("div"), In = Vn(In), zn = Vn(zn), cn.style.cssText = "border-width:0;line-height:0;position:absolute;padding:0", _n = !!Vn("perspective"), pn = 1) }, Wn = function t(e) { var n, r = Yn("svg", this.ownerSVGElement && this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"), i = this.parentNode, u = this.nextSibling, s = this.style.cssText; if (Dn.appendChild(r), r.appendChild(this), this.style.display = "block", e) try { n = this.getBBox(), this._gsapBBox = this.getBBox, this.getBBox = t } catch (t) {} else this._gsapBBox && (n = this._gsapBBox()); return i && (u ? i.insertBefore(this, u) : i.appendChild(this)), Dn.removeChild(r), this.style.cssText = s, n }, qn = function(t, e) { for (var n = e.length; n--;) if (t.hasAttribute(e[n])) return t.getAttribute(e[n]) }, Hn = function(t) { var e; try { e = t.getBBox() } catch (n) { e = Wn.call(t, !0) } return e && (e.width || e.height) || t.getBBox === Wn || (e = Wn.call(t, !0)), !e || e.width || e.x || e.y ? e : { x: +qn(t, ["x", "cx", "x1"]) || 0, y: +qn(t, ["y", "cy", "y1"]) || 0, width: 0, height: 0 } }, Gn = function(t) { return !(!t.getCTM || t.parentNode && !t.ownerSVGElement || !Hn(t)) }, Qn = function(t, e) { if (e) { var n = t.style; e in mn && (e = In), n.removeProperty ? ("ms" !== e.substr(0, 2) && "webkit" !== e.substr(0, 6) || (e = "-" + e), n.removeProperty(e.replace(xn, "-$1").toLowerCase())) : n.removeAttribute(e) } }, Kn = function(t, e, n, r, i, u) { var s = new un(t._pt, e, n, 0, 1, u ? Bn : Pn); return t._pt = s, s.b = r, s.e = i, t._props.push(n), s }, Zn = { deg: 1, rad: 1, turn: 1 }, $n = function t(e, n, r, i) { var u, s, a, o, l = parseFloat(r) || 0, h = (r + "").trim().substr((l + "").length) || "px", f = cn.style, D = Fn.test(n), p = "svg" === e.tagName.toLowerCase(), c = (p ? "client" : "offset") + (D ? "Width" : "Height"), d = "px" === i, g = "%" === i; return i === h || !l || Zn[i] || Zn[h] ? l : ("px" !== h && !d && (l = t(e, n, r, "px")), o = e.getCTM && Gn(e), g && (mn[n] || ~n.indexOf("adius")) ? yt(l / (o ? e.getBBox()[D ? "width" : "height"] : e[c]) * 100) : (f[D ? "width" : "height"] = 100 + (d ? h : i), s = ~n.indexOf("adius") || "em" === i && e.appendChild && !p ? e : e.parentNode, o && (s = (e.ownerSVGElement || {}).parentNode), s && s !== fn && s.appendChild || (s = fn.body), (a = s._gsap) && g && a.width && D && a.time === Ce.time ? yt(l / a.width * 100) : ((g || "%" === h) && (f.position = jn(e, "position")), s === e && (f.position = "static"), s.appendChild(cn), u = cn[c], s.removeChild(cn), f.position = "absolute", D && g && ((a = _t(s)).time = Ce.time, a.width = s[c]), yt(d ? u * l / 100 : u && l ? 100 / u * l : 0)))) }, Jn = function(t, e, n, r) { var i; return pn || Un(), e in En && "transform" !== e && ~(e = En[e]).indexOf(",") && (e = e.split(",")[0]), mn[e] && "transform" !== e ? (i = hr(t, r), i = "transformOrigin" !== e ? i[e] : fr(jn(t, zn)) + " " + i.zOrigin + "px") : (!(i = t.style[e]) || "auto" === i || r || ~(i + "").indexOf("calc(")) && (i = rr[e] && rr[e](t, e, n) || jn(t, e) || mt(t, e) || ("opacity" === e ? 1 : 0)), n && !~(i + "").indexOf(" ") ? $n(t, e, i, n) + n : i }, tr = function(t, e, n, r) { if (!n || "none" === n) { var i = Vn(e, t, 1), u = i && jn(t, i, 1); u && u !== n && (e = i, n = u) } var s, a, o, l, h, f, D, p, c, d, g, _, m = new un(this._pt, t.style, e, 0, 1, $e), v = 0, y = 0; if (m.b = n, m.e = r, n += "", "auto" === (r += "") && (t.style[e] = r, r = jn(t, e) || r, t.style[e] = n), ye(s = [n, r]), r = s[1], o = (n = s[0]).match(K) || [], (r.match(K) || []).length) { for (; a = K.exec(r);) D = a[0], c = r.substring(v, a.index), h ? h = (h + 1) % 5 : "rgba(" !== c.substr(-5) && "hsla(" !== c.substr(-5) || (h = 1), D !== (f = o[y++] || "") && (l = parseFloat(f) || 0, g = f.substr((l + "").length), (_ = "=" === D.charAt(1) ? +(D.charAt(0) + "1") : 0) && (D = D.substr(2)), p = parseFloat(D), d = D.substr((p + "").length), v = K.lastIndex - d.length, d || (d = d || P.units[e] || g, v === r.length && (r += d, m.e += d)), g !== d && (l = $n(t, e, f, d) || 0), m._pt = { _next: m._pt, p: c || 1 === y ? c : ",", s: l, c: _ ? _ * p : p - l, m: h && h < 4 ? Math.round : 0 }); m.c = v < r.length ? r.substring(v, r.length) : "" } else m.r = "display" === e && "none" === r ? Bn : Pn; return J.test(r) && (m.e = 0), this._pt = m, m }, er = { top: "0%", bottom: "100%", left: "0%", right: "100%", center: "50%" }, nr = function(t, e) { if (e.tween && e.tween._time === e.tween._dur) { var n, r, i, u = e.t, s = u.style, a = e.u, o = u._gsap; if ("all" === a || !0 === a) s.cssText = "", r = 1; else for (i = (a = a.split(",")).length; --i > -1;) n = a[i], mn[n] && (r = 1, n = "transformOrigin" === n ? zn : In), Qn(u, n); r && (Qn(u, In), o && (o.svg && u.removeAttribute("transform"), hr(u, 1), o.uncache = 1)) } }, rr = { clearProps: function(t, e, n, r, i) { if ("isFromStart" !== i.data) { var u = t._pt = new un(t._pt, e, n, 0, 0, nr); return u.u = r, u.pr = -10, u.tween = i, t._props.push(n), 1 } } }, ir = [1, 0, 0, 1, 0, 0], ur = {}, sr = function(t) { return "matrix(1, 0, 0, 1, 0, 0)" === t || "none" === t || !t }, ar = function(t) { var e = jn(t, In); return sr(e) ? ir : e.substr(7).match(Q).map(yt) }, or = function(t, e) { var n, r, i, u, s = t._gsap || _t(t), a = t.style, o = ar(t); return s.svg && t.getAttribute("transform") ? "1,0,0,1,0,0" === (o = [(i = t.transform.baseVal.consolidate().matrix).a, i.b, i.c, i.d, i.e, i.f]).join(",") ? ir : o : (o !== ir || t.offsetParent || t === Dn || s.svg || (i = a.display, a.display = "block", (n = t.parentNode) && t.offsetParent || (u = 1, r = t.nextSibling, Dn.appendChild(t)), o = ar(t), i ? a.display = i : Qn(t, "display"), u && (r ? n.insertBefore(t, r) : n ? n.appendChild(t) : Dn.removeChild(t))), e && o.length > 6 ? [o[0], o[1], o[4], o[5], o[12], o[13]] : o) }, lr = function(t, e, n, r, i, u) { var s, a, o, l = t._gsap, h = i || or(t, !0), f = l.xOrigin || 0, D = l.yOrigin || 0, p = l.xOffset || 0, c = l.yOffset || 0, d = h[0], g = h[1], _ = h[2], m = h[3], v = h[4], y = h[5], C = e.split(" "), x = parseFloat(C[0]) || 0, F = parseFloat(C[1]) || 0; n ? h !== ir && (a = d * m - g * _) && (o = x * (-g / a) + F * (d / a) - (d * y - g * v) / a, x = x * (m / a) + F * (-_ / a) + (_ * y - m * v) / a, F = o) : (x = (s = Hn(t)).x + (~C[0].indexOf("%") ? x / 100 * s.width : x), F = s.y + (~(C[1] || C[0]).indexOf("%") ? F / 100 * s.height : F)), r || !1 !== r && l.smooth ? (v = x - f, y = F - D, l.xOffset = p + (v * d + y * _) - v, l.yOffset = c + (v * g + y * m) - y) : l.xOffset = l.yOffset = 0, l.xOrigin = x, l.yOrigin = F, l.smooth = !!r, l.origin = e, l.originIsAbsolute = !!n, t.style[zn] = "0px 0px", u && (Kn(u, l, "xOrigin", f, x), Kn(u, l, "yOrigin", D, F), Kn(u, l, "xOffset", p, l.xOffset), Kn(u, l, "yOffset", c, l.yOffset)), t.setAttribute("data-svg-origin", x + " " + F) }, hr = function(t, e) { var n = t._gsap || new Oe(t); if ("x" in n && !e && !n.uncache) return n; var r, i, u, s, a, o, l, h, f, D, p, c, d, g, _, m, v, y, C, x, F, w, E, b, T, A, M, B, S, O, k, L, N = t.style, R = n.scaleX < 0, I = jn(t, zn) || "0"; return r = i = u = o = l = h = f = D = p = 0, s = a = 1, n.svg = !(!t.getCTM || !Gn(t)), g = or(t, n.svg), n.svg && (b = !n.uncache && t.getAttribute("data-svg-origin"), lr(t, b || I, !!b || n.originIsAbsolute, !1 !== n.smooth, g)), c = n.xOrigin || 0, d = n.yOrigin || 0, g !== ir && (y = g[0], C = g[1], x = g[2], F = g[3], r = w = g[4], i = E = g[5], 6 === g.length ? (s = Math.sqrt(y * y + C * C), a = Math.sqrt(F * F + x * x), o = y || C ? Cn(C, y) * vn : 0, (f = x || F ? Cn(x, F) * vn + o : 0) && (a *= Math.cos(f * yn)), n.svg && (r -= c - (c * y + d * x), i -= d - (c * C + d * F))) : (L = g[6], O = g[7], M = g[8], B = g[9], S = g[10], k = g[11], r = g[12], i = g[13], u = g[14], l = (_ = Cn(L, S)) * vn, _ && (b = w * (m = Math.cos(-_)) + M * (v = Math.sin(-_)), T = E * m + B * v, A = L * m + S * v, M = w * -v + M * m, B = E * -v + B * m, S = L * -v + S * m, k = O * -v + k * m, w = b, E = T, L = A), h = (_ = Cn(-x, S)) * vn, _ && (m = Math.cos(-_), k = F * (v = Math.sin(-_)) + k * m, y = b = y * m - M * v, C = T = C * m - B * v, x = A = x * m - S * v), o = (_ = Cn(C, y)) * vn, _ && (b = y * (m = Math.cos(_)) + C * (v = Math.sin(_)), T = w * m + E * v, C = C * m - y * v, E = E * m - w * v, y = b, w = T), l && Math.abs(l) + Math.abs(o) > 359.9 && (l = o = 0, h = 180 - h), s = yt(Math.sqrt(y * y + C * C + x * x)), a = yt(Math.sqrt(E * E + L * L)), _ = Cn(w, E), f = Math.abs(_) > 2e-4 ? _ * vn : 0, p = k ? 1 / (k < 0 ? -k : k) : 0), n.svg && (g = t.getAttribute("transform"), n.forceCSS = t.setAttribute("transform", "") || !sr(jn(t, In)), g && t.setAttribute("transform", g))), Math.abs(f) > 90 && Math.abs(f) < 270 && (R ? (s *= -1, f += o <= 0 ? 180 : -180, o += o <= 0 ? 180 : -180) : (a *= -1, f += f <= 0 ? 180 : -180)), n.x = ((n.xPercent = r && Math.round(t.offsetWidth / 2) === Math.round(-r) ? -50 : 0) ? 0 : r) + "px", n.y = ((n.yPercent = i && Math.round(t.offsetHeight / 2) === Math.round(-i) ? -50 : 0) ? 0 : i) + "px", n.z = u + "px", n.scaleX = yt(s), n.scaleY = yt(a), n.rotation = yt(o) + "deg", n.rotationX = yt(l) + "deg", n.rotationY = yt(h) + "deg", n.skewX = f + "deg", n.skewY = D + "deg", n.transformPerspective = p + "px", (n.zOrigin = parseFloat(I.split(" ")[2]) || 0) && (N[zn] = fr(I)), n.xOffset = n.yOffset = 0, n.force3D = P.force3D, n.renderTransform = n.svg ? dr : _n ? cr : pr, n.uncache = 0, n }, fr = function(t) { return (t = t.split(" "))[0] + " " + t[1] }, Dr = function(t, e, n) { var r = Kt(e); return yt(parseFloat(e) + parseFloat($n(t, "x", n + "px", r))) + r }, pr = function(t, e) { e.z = "0px", e.rotationY = e.rotationX = "0deg", e.force3D = 0, cr(t, e) }, cr = function(t, e) { var n = e || this, r = n.xPercent, i = n.yPercent, u = n.x, s = n.y, a = n.z, o = n.rotation, l = n.rotationY, h = n.rotationX, f = n.skewX, D = n.skewY, p = n.scaleX, c = n.scaleY, d = n.transformPerspective, g = n.force3D, _ = n.target, m = n.zOrigin, v = "", y = "auto" === g && t && 1 !== t || !0 === g; if (m && ("0deg" !== h || "0deg" !== l)) { var C, x = parseFloat(l) * yn, F = Math.sin(x), w = Math.cos(x); x = parseFloat(h) * yn, C = Math.cos(x), u = Dr(_, u, F * C * -m), s = Dr(_, s, -Math.sin(x) * -m), a = Dr(_, a, w * C * -m + m) } "0px" !== d && (v += "perspective(" + d + ") "), (r || i) && (v += "translate(" + r + "%, " + i + "%) "), (y || "0px" !== u || "0px" !== s || "0px" !== a) && (v += "0px" !== a || y ? "translate3d(" + u + ", " + s + ", " + a + ") " : "translate(" + u + ", " + s + ") "), "0deg" !== o && (v += "rotate(" + o + ") "), "0deg" !== l && (v += "rotateY(" + l + ") "), "0deg" !== h && (v += "rotateX(" + h + ") "), "0deg" === f && "0deg" === D || (v += "skew(" + f + ", " + D + ") "), 1 === p && 1 === c || (v += "scale(" + p + ", " + c + ") "), _.style[In] = v || "translate(0, 0)" }, dr = function(t, e) { var n, r, i, u, s, a = e || this, o = a.xPercent, l = a.yPercent, h = a.x, f = a.y, D = a.rotation, p = a.skewX, c = a.skewY, d = a.scaleX, g = a.scaleY, _ = a.target, m = a.xOrigin, v = a.yOrigin, y = a.xOffset, C = a.yOffset, x = a.forceCSS, F = parseFloat(h), w = parseFloat(f); D = parseFloat(D), p = parseFloat(p), (c = parseFloat(c)) && (p += c = parseFloat(c), D += c), D || p ? (D *= yn, p *= yn, n = Math.cos(D) * d, r = Math.sin(D) * d, i = Math.sin(D - p) * -g, u = Math.cos(D - p) * g, p && (c *= yn, s = Math.tan(p - c), i *= s = Math.sqrt(1 + s * s), u *= s, c && (s = Math.tan(c), n *= s = Math.sqrt(1 + s * s), r *= s)), n = yt(n), r = yt(r), i = yt(i), u = yt(u)) : (n = d, u = g, r = i = 0), (F && !~(h + "").indexOf("px") || w && !~(f + "").indexOf("px")) && (F = $n(_, "x", h, "px"), w = $n(_, "y", f, "px")), (m || v || y || C) && (F = yt(F + m - (m * n + v * i) + y), w = yt(w + v - (m * r + v * u) + C)), (o || l) && (s = _.getBBox(), F = yt(F + o / 100 * s.width), w = yt(w + l / 100 * s.height)), s = "matrix(" + n + "," + r + "," + i + "," + u + "," + F + "," + w + ")", _.setAttribute("transform", s), x && (_.style[In] = s) }, gr = function(t, e, n, r, i, u) { var s, a, o = z(i), l = parseFloat(i) * (o && ~i.indexOf("rad") ? vn : 1), h = u ? l * u : l - r, f = r + h + "deg"; return o && ("short" === (s = i.split("_")[1]) && (h %= 360) !== h % 180 && (h += h < 0 ? 360 : -360), "cw" === s && h < 0 ? h = (h + 36e9) % 360 - 360 * ~~(h / 360) : "ccw" === s && h > 0 && (h = (h - 36e9) % 360 - 360 * ~~(h / 360))), t._pt = a = new un(t._pt, e, n, r, h, Tn), a.e = f, a.u = "deg", t._props.push(n), a }, _r = function(t, e, n) { var r, i, u, s, a, o, l, h = dn.style, f = n._gsap; for (i in h.cssText = getComputedStyle(n).cssText + ";position:absolute;display:block;", h[In] = e, fn.body.appendChild(dn), r = hr(dn, 1), mn)(u = f[i]) !== (s = r[i]) && "perspective,force3D,transformOrigin,svgOrigin".indexOf(i) < 0 && (a = Kt(u) !== (l = Kt(s)) ? $n(n, i, u, l) : parseFloat(u), o = parseFloat(s), t._pt = new un(t._pt, f, i, a, o - a, bn), t._pt.u = l || 0, t._props.push(i)); fn.body.removeChild(dn) }; vt("padding,margin,Width,Radius", (function(t, e) { var n = "Top", r = "Right", i = "Bottom", u = "Left", s = (e < 3 ? [n, r, i, u] : [n + u, n + r, i + r, i + u]).map((function(n) { return e < 2 ? t + n : "border" + n + t })); rr[e > 1 ? "border" + t : t] = function(t, e, n, r, i) { var u, a; if (arguments.length < 4) return u = s.map((function(e) { return Jn(t, e, n) })), 5 === (a = u.join(" ")).split(u[0]).length ? u[0] : a; u = (r + "").split(" "), a = {}, s.forEach((function(t, e) { return a[t] = u[e] = u[e] || u[(e - 1) / 2 | 0] })), t.init(e, a, i) } })); var mr, vr, yr = { name: "css", register: Un, targetTest: function(t) { return t.style && t.nodeType }, init: function(t, e, n, r, i) { var u, s, a, o, l, h, f, D, p, c, d, g, _, m, v, y, C, x, F, w = this._props, E = t.style; for (f in pn || Un(), e) if ("autoRound" !== f && (s = e[f], !ft[f] || !ze(f, e, n, r, t, i))) if (l = typeof s, h = rr[f], "function" === l && (l = typeof(s = s.call(n, r, t, i))), "string" === l && ~s.indexOf("random(") && (s = ae(s)), h) h(this, t, f, s, n) && (v = 1); else if ("--" === f.substr(0, 2)) this.add(E, "setProperty", getComputedStyle(t).getPropertyValue(f) + "", s + "", r, i, 0, 0, f); else { if (u = Jn(t, f), o = parseFloat(u), (c = "string" === l && "=" === s.charAt(1) ? +(s.charAt(0) + "1") : 0) && (s = s.substr(2)), a = parseFloat(s), f in En && ("autoAlpha" === f && (1 === o && "hidden" === Jn(t, "visibility") && a && (o = 0), Kn(this, E, "visibility", o ? "inherit" : "hidden", a ? "inherit" : "hidden", !a)), "scale" !== f && "transform" !== f && ~(f = En[f]).indexOf(",") && (f = f.split(",")[0])), d = f in mn) if (g || ((_ = t._gsap).renderTransform || hr(t), m = !1 !== e.smoothOrigin && _.smooth, (g = this._pt = new un(this._pt, E, In, 0, 1, _.renderTransform, _, 0, -1)).dep = 1), "scale" === f) this._pt = new un(this._pt, _, "scaleY", _.scaleY, c ? c * a : a - _.scaleY), w.push("scaleY", f), f += "X"; else { if ("transformOrigin" === f) { C = void 0, x = void 0, F = void 0, C = (y = s).split(" "), x = C[0], F = C[1] || "50%", "top" !== x && "bottom" !== x && "left" !== F && "right" !== F || (y = x, x = F, F = y), C[0] = er[x] || x, C[1] = er[F] || F, s = C.join(" "), _.svg ? lr(t, s, 0, m, 0, this) : ((p = parseFloat(s.split(" ")[2]) || 0) !== _.zOrigin && Kn(this, _, "zOrigin", _.zOrigin, p), Kn(this, E, f, fr(u), fr(s))); continue } if ("svgOrigin" === f) { lr(t, s, 1, m, 0, this); continue } if (f in ur) { gr(this, _, f, o, s, c); continue } if ("smoothOrigin" === f) { Kn(this, _, "smooth", _.smooth, s); continue } if ("force3D" === f) { _[f] = s; continue } if ("transform" === f) { _r(this, s, t); continue } } else f in E || (f = Vn(f) || f); if (d || (a || 0 === a) && (o || 0 === o) && !wn.test(s) && f in E) a || (a = 0), (D = (u + "").substr((o + "").length)) !== (p = (s + "").substr((a + "").length) || (f in P.units ? P.units[f] : D)) && (o = $n(t, f, u, p)), this._pt = new un(this._pt, d ? _ : E, f, o, c ? c * a : a - o, "px" !== p || !1 === e.autoRound || d ? bn : Mn), this._pt.u = p || 0, D !== p && (this._pt.b = u, this._pt.r = An); else if (f in E) tr.call(this, t, f, u, s); else { if (!(f in t)) { it(f, s); continue } this.add(t, f, t[f], s, r, i) } w.push(f) } v && rn(this) }, get: Jn, aliases: En, getSetter: function(t, e, n) { var r = En[e]; return r && r.indexOf(",") < 0 && (e = r), e in mn && e !== zn && (t._gsap.x || Jn(t, "x")) ? n && gn === n ? "scale" === e ? Ln : kn : (gn = n || {}) && ("scale" === e ? Nn : Rn) : t.style && !X(t.style[e]) ? Sn : ~e.indexOf("-") ? On : Qe(t, e) }, core: { _removeProperty: Qn, _getMatrix: or } }; ln.utils.checkPrefix = Vn, vr = vt("x,y,z,scale,scaleX,scaleY,xPercent,yPercent," + (mr = "rotation,rotationX,rotationY,skewX,skewY") + ",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective", (function(t) { mn[t] = 1 })), vt(mr, (function(t) { P.units[t] = "deg", ur[t] = 1 })), En[vr[13]] = "x,y,z,scale,scaleX,scaleY,xPercent,yPercent," + mr, vt("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY", (function(t) { var e = t.split(":"); En[e[1]] = vr[e[0]] })), vt("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective", (function(t) { P.units[t] = "px" })), ln.registerPlugin(yr); var Cr, xr, Fr, wr = ln.registerPlugin(yr) || ln, Er = wr.core.Tween, br = function() { return Cr || "undefined" != typeof window && (Cr = window.gsap) && Cr.registerPlugin && Cr }, Tr = function(t) { Cr = br(), (Fr = Cr && Cr.parseEase("_CE")) ? (xr = 1, Cr.parseEase("bounce").config = function(t) { return "object" == typeof t ? Mr("", t) : Mr("bounce(" + t + ")", { strength: +t }) }) : t && console.warn("Please gsap.registerPlugin(CustomEase, CustomBounce)") }, Ar = function(t) { var e, n = t.length, r = 1 / t[n - 2]; for (e = 2; e < n; e += 2) t[e] = ~~(t[e] * r * 1e3) / 1e3; t[n - 2] = 1 }, Mr = function(t, e) { xr || Tr(1), e = e || {}; var n, r, i, u, s, a, o, l = Math.min(.999, e.strength || .7), h = l, f = (e.squash || 0) / 100, D = f, p = 1 / .03, c = .2, d = 1, g = .1, _ = [0, 0, .07, 0, .1, 1, .1, 1], m = [0, 0, 0, 0, .1, 0, .1, 0]; for (s = 0; s < 200 && (a = g + (c *= h * ((h + 1) / 2)), u = 1 - (d *= l * l), r = (i = g + .49 * c) + .8 * (i - (n = g + d / p)), f && (g += f, n += f, i += f, r += f, a += f, o = f / D, m.push(g - f, 0, g - f, o, g - f / 2, o, g, o, g, 0, g, 0, g, -.6 * o, g + (a - g) / 6, 0, a, 0), _.push(g - f, 1, g, 1, g, 1), f *= l * l), _.push(g, 1, n, u, i, u, r, u, a, 1, a, 1), l *= .95, p = d / (a - r), g = a, !(u > .999)); s++); if (e.endAtStart && "false" !== e.endAtStart) { if (i = -.1, _.unshift(i, 1, i, 1, -.07, 0), D) for (i -= f = 2.5 * D, _.unshift(i, 1, i, 1, i, 1), m.splice(0, 6), m.unshift(i, 0, i, 0, i, 1, i + f / 2, 1, i + f, 1, i + f, 0, i + f, 0, i + f, -.6, i + f + .033, 0), s = 0; s < m.length; s += 2) m[s] -= i; for (s = 0; s < _.length; s += 2) _[s] -= i, _[s + 1] = 1 - _[s + 1] } return f && (Ar(m), m[2] = "C" + m[2], Fr(e.squashID || t + "-squash", "M" + m.join(","))), Ar(_), _[2] = "C" + _[2], Fr(t, "M" + _.join(",")) }, Pr = function() { function t(t, e) { this.ease = Mr(t, e) } return t.create = function(t, e) { return Mr(t, e) }, t.register = function(t) { Cr = t, Tr() }, t }(); /*! * CustomBounce 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ br() && Cr.registerPlugin(Pr), Pr.version = "3.2.6"; /*! * paths 3.2.6 * https://greensock.com * * Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var Br = /[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, Sr = /(?:(-)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, Or = /[\+\-]?\d*\.?\d+e[\+\-]?\d+/gi, kr = /(^[#\.][a-z]|[a-y][a-z])/i, Lr = Math.PI / 180, Nr = 180 / Math.PI, Rr = Math.sin, Ir = Math.cos, zr = Math.abs, Yr = Math.sqrt, jr = Math.atan2, Xr = function(t) { return "string" == typeof t }, Vr = function(t) { return "number" == typeof t }, Ur = {}, Wr = {}, qr = function(t) { return Math.round((t + 1e8) % 1 * 1e5) / 1e5 || (t < 0 ? 0 : 1) }, Hr = function(t) { return Math.round(1e5 * t) / 1e5 || 0 }, Gr = function(t, e, n, r) { var i = t[e], u = 1 === r ? 6 : ui(i, n, r); if (u && u + n + 2 < i.length) return t.splice(e, 0, i.slice(0, n + u + 2)), i.splice(0, n + u), 1 }, Qr = function(t, e) { return e.totalLength = t.totalLength, t.samples ? (e.samples = t.samples.slice(0), e.lookup = t.lookup.slice(0), e.minLength = t.minLength, e.resolution = t.resolution) : e.totalPoints = t.totalPoints, e }, Kr = function(t, e) { var n = t.length, r = t[n - 1] || [], i = r.length; e[0] === r[i - 2] && e[1] === r[i - 1] && (e = r.concat(e.slice(2)), n--), t[n] = e }; function Zr(t) { var e, n = (t = Xr(t) && kr.test(t) && document.querySelector(t) || t).getAttribute ? t : 0; return n && (t = t.getAttribute("d")) ? (n._gsPath || (n._gsPath = {}), (e = n._gsPath[t]) && !e._dirty ? e : n._gsPath[t] = hi(t)) : t ? Xr(t) ? hi(t) : Vr(t[0]) ? [t] : t : console.warn("Expecting a element or an SVG path data string") } function $r(t) { var e, n = 0; for (t.reverse(); n < t.length; n += 2) e = t[n], t[n] = t[n + 1], t[n + 1] = e; t.reversed = !t.reversed } var Jr = { rect: "rx,ry,x,y,width,height", circle: "r,cx,cy", ellipse: "rx,ry,cx,cy", line: "x1,x2,y1,y2" }; function ti(t, e) { var n, r, i, u, s, a, o, l, h, f, D, p, c, d, g, _, m, v, y, C, x, F, w = t.tagName.toLowerCase(), E = .552284749831; return "path" !== w && t.getBBox ? (a = function(t, e) { var n, r = document.createElementNS("http://www.w3.org/2000/svg", "path"), i = [].slice.call(t.attributes), u = i.length; for (e = "," + e + ","; --u > -1;) n = i[u].nodeName.toLowerCase(), e.indexOf("," + n + ",") < 0 && r.setAttributeNS(null, n, i[u].nodeValue); return r }(t, "x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points"), F = function(t, e) { for (var n = e ? e.split(",") : [], r = {}, i = n.length; --i > -1;) r[n[i]] = +t.getAttribute(n[i]) || 0; return r }(t, Jr[w]), "rect" === w ? (u = F.rx, s = F.ry, r = F.x, i = F.y, f = F.width - 2 * u, D = F.height - 2 * s, n = u || s ? "M" + (_ = (d = (c = r + u) + f) + u) + "," + (v = i + s) + " V" + (y = v + D) + " C" + [_, C = y + s * E, g = d + u * E, x = y + s, d, x, d - (d - c) / 3, x, c + (d - c) / 3, x, c, x, p = r + u * (1 - E), x, r, C, r, y, r, y - (y - v) / 3, r, v + (y - v) / 3, r, v, r, m = i + s * (1 - E), p, i, c, i, c + (d - c) / 3, i, d - (d - c) / 3, i, d, i, g, i, _, m, _, v].join(",") + "z" : "M" + (r + f) + "," + i + " v" + D + " h" + -f + " v" + -D + " h" + f + "z") : "circle" === w || "ellipse" === w ? ("circle" === w ? l = (u = s = F.r) * E : (u = F.rx, l = (s = F.ry) * E), n = "M" + ((r = F.cx) + u) + "," + (i = F.cy) + " C" + [r + u, i + l, r + (o = u * E), i + s, r, i + s, r - o, i + s, r - u, i + l, r - u, i, r - u, i - l, r - o, i - s, r, i - s, r + o, i - s, r + u, i - l, r + u, i].join(",") + "z") : "line" === w ? n = "M" + F.x1 + "," + F.y1 + " L" + F.x2 + "," + F.y2 : "polyline" !== w && "polygon" !== w || (n = "M" + (r = (h = (t.getAttribute("points") + "").match(Sr) || []).shift()) + "," + (i = h.shift()) + " L" + h.join(","), "polygon" === w && (n += "," + r + "," + i + "z")), a.setAttribute("d", pi(a._gsRawPath = hi(n))), e && t.parentNode && (t.parentNode.insertBefore(a, t), t.parentNode.removeChild(t)), a) : t } function ei(t, e, n) { var r, i = t[e], u = t[e + 2], s = t[e + 4]; return i += (u - i) * n, i += ((u += (s - u) * n) - i) * n, r = u + (s + (t[e + 6] - s) * n - u) * n - i, i = t[e + 1], i += ((u = t[e + 3]) - i) * n, i += ((u += ((s = t[e + 5]) - u) * n) - i) * n, Hr(jr(u + (s + (t[e + 7] - s) * n - u) * n - i, r) * Nr) } function ni(t, e, n) { void 0 === n && (n = 1); var r = (e = e || 0) > n, i = Math.max(0, ~~(zr(n - e) - 1e-8)); if (r && (r = n, n = e, e = r, r = 1, i -= i ? 1 : 0), e < 0 || n < 0) { var u = 1 + ~~Math.min(e, n); e += u, n += u } var s, a, o, l, h, f, D, p = function(t) { for (var e = [], n = 0; n < t.length; n++) e[n] = Qr(t[n], t[n].slice(0)); return Qr(t, e) }(t.totalLength ? t : ii(t)), c = n > 1, d = si(p, e, Ur, !0), g = si(p, n, Wr), _ = g.segment, m = d.segment, v = g.segIndex, y = d.segIndex, C = g.i, x = d.i, F = y === v, w = C === x && F, E = F && x > C || w && d.t > g.t; if (c || i) { if (Gr(p, y, x, d.t) && (s = 1, y++, w ? E ? g.t /= d.t : (g.t = (g.t - d.t) / (1 - d.t), v++, C = 0) : y <= v + 1 && !E && (v++, F && (C -= x))), g.t ? Gr(p, v, C, g.t) && (E && s && y++, r && v++) : (v--, r && y--), l = [], f = 1 + (h = p.length) * i, D = y, r) for (f += (h - (v = (v || h) - 1) + y) % h, o = 0; o < f; o++) Kr(l, p[D]), D = (D || h) - 1; else for (f += (h - y + v) % h, o = 0; o < f; o++) Kr(l, p[D++ % h]); p = l } else if (a = 1 === g.t ? 6 : ui(_, C, g.t), e !== n) for (s = ui(m, x, w ? d.t / g.t : d.t), F && (a += s), _.splice(C + a + 2), (s || x) && m.splice(0, x + s), o = p.length; o--;)(o < y || o > v) && p.splice(o, 1); else _.angle = ei(_, C + a, 0), d = _[C += a], g = _[C + 1], _.length = _.totalLength = 0, _.totalPoints = p.totalPoints = 8, _.push(d, g, d, g, d, g, d, g); return r && function(t, e) { var n = t.length; for (e || t.reverse(); n--;) t[n].reversed || $r(t[n]) }(p, c || i), p.totalLength = 0, p } function ri(t, e, n) { e = e || 0, t.samples || (t.samples = [], t.lookup = []); var r, i, u, s, a, o, l, h, f, D, p, c, d, g, _, m, v, y = ~~t.resolution || 12, C = 1 / y, x = n ? e + 6 * n + 1 : t.length, F = t[e], w = t[e + 1], E = e ? e / 6 * y : 0, b = t.samples, T = t.lookup, A = (e ? t.minLength : 1e8) || 1e8, M = b[E + n * y - 1], P = e ? b[E - 1] : 0; for (b.length = T.length = 0, i = e + 2; i < x; i += 6) { if (u = t[i + 4] - F, s = t[i + 2] - F, a = t[i] - F, h = t[i + 5] - w, f = t[i + 3] - w, D = t[i + 1] - w, o = l = p = c = 0, zr(u) < 1e-5 && zr(h) < 1e-5 && zr(a) + zr(D) < 1e-5) t.length > 8 && (t.splice(i, 6), i -= 6, x -= 6); else for (r = 1; r <= y; r++) o = l - (l = ((g = C * r) * g * u + 3 * (d = 1 - g) * (g * s + d * a)) * g), p = c - (c = (g * g * h + 3 * d * (g * f + d * D)) * g), (m = Yr(p * p + o * o)) < A && (A = m), P += m, b[E++] = P; F += u, w += h } if (M) for (M -= P; E < b.length; E++) b[E] += M; if (b.length && A) for (t.totalLength = v = b[b.length - 1] || 0, t.minLength = A, m = _ = 0, r = 0; r < v; r += A) T[m++] = b[_] < r ? ++_ : _; else t.totalLength = b[0] = 0; return e ? P - b[e / 2 - 1] : P } function ii(t, e) { var n, r, i; for (i = n = r = 0; i < t.length; i++) t[i].resolution = ~~e || 12, r += t[i].length, n += ri(t[i]); return t.totalPoints = r, t.totalLength = n, t } function ui(t, e, n) { if (n <= 0 || n >= 1) return 0; var r = t[e], i = t[e + 1], u = t[e + 2], s = t[e + 3], a = t[e + 4], o = t[e + 5], l = r + (u - r) * n, h = u + (a - u) * n, f = i + (s - i) * n, D = s + (o - s) * n, p = l + (h - l) * n, c = f + (D - f) * n, d = a + (t[e + 6] - a) * n, g = o + (t[e + 7] - o) * n; return h += (d - h) * n, D += (g - D) * n, t.splice(e + 2, 4, Hr(l), Hr(f), Hr(p), Hr(c), Hr(p + (h - p) * n), Hr(c + (D - c) * n), Hr(h), Hr(D), Hr(d), Hr(g)), t.samples && t.samples.splice(e / 6 * t.resolution | 0, 0, 0, 0, 0, 0, 0, 0), 6 } function si(t, e, n, r) { n = n || {}, t.totalLength || ii(t), (e < 0 || e > 1) && (e = qr(e)); var i, u, s, a, o, l, h, f = 0, D = t[0]; if (t.length > 1) { for (s = t.totalLength * e, o = l = 0; (o += t[l++].totalLength) < s;) f = l; e = (s - (a = o - (D = t[f]).totalLength)) / (o - a) || 0 } return i = D.samples, u = D.resolution, s = D.totalLength * e, a = (l = D.lookup[~~(s / D.minLength)] || 0) ? i[l - 1] : 0, (o = i[l]) < s && (a = o, o = i[++l]), h = 1 / u * ((s - a) / (o - a) + l % u), l = 6 * ~~(l / u), r && 1 === h && (l + 6 < D.length ? (l += 6, h = 0) : f + 1 < t.length && (l = h = 0, D = t[++f])), n.t = h, n.i = l, n.path = t, n.segment = D, n.segIndex = f, n } function ai(t, e, n, r) { var i, u, s, a, o, l, h, f, D, p = t[0], c = r || {}; if ((e < 0 || e > 1) && (e = qr(e)), t.length > 1) { for (s = t.totalLength * e, o = l = 0; (o += t[l++].totalLength) < s;) p = t[l]; e = (s - (a = o - p.totalLength)) / (o - a) || 0 } return i = p.samples, u = p.resolution, s = p.totalLength * e, a = (l = p.lookup[~~(s / p.minLength)] || 0) ? i[l - 1] : 0, (o = i[l]) < s && (a = o, o = i[++l]), D = 1 - (h = 1 / u * ((s - a) / (o - a) + l % u) || 0), f = p[l = 6 * ~~(l / u)], c.x = Hr((h * h * (p[l + 6] - f) + 3 * D * (h * (p[l + 4] - f) + D * (p[l + 2] - f))) * h + f), c.y = Hr((h * h * (p[l + 7] - (f = p[l + 1])) + 3 * D * (h * (p[l + 5] - f) + D * (p[l + 3] - f))) * h + f), n && (c.angle = p.totalLength ? ei(p, l, h >= 1 ? 1 - 1e-9 : h || 1e-9) : p.angle || 0), c } function oi(t, e, n, r, i, u, s) { for (var a, o, l, h, f, D = t.length; --D > -1;) for (o = (a = t[D]).length, l = 0; l < o; l += 2) h = a[l], f = a[l + 1], a[l] = h * e + f * r + u, a[l + 1] = h * n + f * i + s; return t._dirty = 1, t } function li(t, e, n, r, i, u, s, a, o) { if (t !== a || e !== o) { n = zr(n), r = zr(r); var l = i % 360 * Lr, h = Ir(l), f = Rr(l), D = Math.PI, p = 2 * D, c = (t - a) / 2, d = (e - o) / 2, g = h * c + f * d, _ = -f * c + h * d, m = g * g, v = _ * _, y = m / (n * n) + v / (r * r); y > 1 && (n = Yr(y) * n, r = Yr(y) * r); var C = n * n, x = r * r, F = (C * x - C * v - x * m) / (C * v + x * m); F < 0 && (F = 0); var w = (u === s ? -1 : 1) * Yr(F), E = w * (n * _ / r), b = w * (-r * g / n), T = (t + a) / 2 + (h * E - f * b), A = (e + o) / 2 + (f * E + h * b), M = (g - E) / n, P = (_ - b) / r, B = (-g - E) / n, S = (-_ - b) / r, O = M * M + P * P, k = (P < 0 ? -1 : 1) * Math.acos(M / Yr(O)), L = (M * S - P * B < 0 ? -1 : 1) * Math.acos((M * B + P * S) / Yr(O * (B * B + S * S))); isNaN(L) && (L = D), !s && L > 0 ? L -= p : s && L < 0 && (L += p), k %= p, L %= p; var N, R = Math.ceil(zr(L) / (p / 4)), I = [], z = L / R, Y = 4 / 3 * Rr(z / 2) / (1 + Ir(z / 2)), j = h * n, X = f * n, V = f * -r, U = h * r; for (N = 0; N < R; N++) g = Ir(i = k + N * z), _ = Rr(i), M = Ir(i += z), P = Rr(i), I.push(g - Y * _, _ + Y * g, M + Y * P, P - Y * M, M, P); for (N = 0; N < I.length; N += 2) g = I[N], _ = I[N + 1], I[N] = g * j + _ * V + T, I[N + 1] = g * X + _ * U + A; return I[N - 2] = a, I[N - 1] = o, I } } function hi(t) { var e, n, r, i, u, s, a, o, l, h, f, D, p, c, d, g = (t + "").replace(Or, (function(t) { var e = +t; return e < 1e-4 && e > -1e-4 ? 0 : e })).match(Br) || [], _ = [], m = 0, v = 0, y = g.length, C = 0, x = "ERROR: malformed path: " + t, F = function(t, e, n, r) { h = (n - t) / 3, f = (r - e) / 3, a.push(t + h, e + f, n - h, r - f, n, r) }; if (!t || !isNaN(g[0]) || isNaN(g[1])) return console.log(x), _; for (e = 0; e < y; e++) if (p = u, isNaN(g[e]) ? s = (u = g[e].toUpperCase()) !== g[e] : e--, r = +g[e + 1], i = +g[e + 2], s && (r += m, i += v), e || (o = r, l = i), "M" === u) a && (a.length < 8 ? _.length -= 1 : C += a.length), m = o = r, v = l = i, a = [r, i], _.push(a), e += 2, u = "L"; else if ("C" === u) a || (a = [0, 0]), s || (m = v = 0), a.push(r, i, m + 1 * g[e + 3], v + 1 * g[e + 4], m += 1 * g[e + 5], v += 1 * g[e + 6]), e += 6; else if ("S" === u) h = m, f = v, "C" !== p && "S" !== p || (h += m - a[a.length - 4], f += v - a[a.length - 3]), s || (m = v = 0), a.push(h, f, r, i, m += 1 * g[e + 3], v += 1 * g[e + 4]), e += 4; else if ("Q" === u) h = m + 2 / 3 * (r - m), f = v + 2 / 3 * (i - v), s || (m = v = 0), m += 1 * g[e + 3], v += 1 * g[e + 4], a.push(h, f, m + 2 / 3 * (r - m), v + 2 / 3 * (i - v), m, v), e += 4; else if ("T" === u) h = m - a[a.length - 4], f = v - a[a.length - 3], a.push(m + h, v + f, r + 2 / 3 * (m + 1.5 * h - r), i + 2 / 3 * (v + 1.5 * f - i), m = r, v = i), e += 2; else if ("H" === u) F(m, v, m = r, v), e += 1; else if ("V" === u) F(m, v, m, v = r + (s ? v - m : 0)), e += 1; else if ("L" === u || "Z" === u) "Z" === u && (r = o, i = l, a.closed = !0), ("L" === u || zr(m - r) > .5 || zr(v - i) > .5) && (F(m, v, r, i), "L" === u && (e += 2)), m = r, v = i; else if ("A" === u) { if (c = g[e + 4], d = g[e + 5], h = g[e + 6], f = g[e + 7], n = 7, c.length > 1 && (c.length < 3 ? (f = h, h = d, n--) : (f = d, h = c.substr(2), n -= 2), d = c.charAt(1), c = c.charAt(0)), D = li(m, v, +g[e + 1], +g[e + 2], +g[e + 3], +c, +d, (s ? m : 0) + 1 * h, (s ? v : 0) + 1 * f), e += n, D) for (n = 0; n < D.length; n++) a.push(D[n]); m = a[a.length - 2], v = a[a.length - 1] } else console.log(x); return (e = a.length) < 6 ? (_.pop(), e = 0) : a[0] === a[e - 2] && a[1] === a[e - 1] && (a.closed = !0), _.totalPoints = C + e, _ } function fi(t, e) { void 0 === e && (e = 1); for (var n = t[0], r = 0, i = [n, r], u = 2; u < t.length; u += 2) i.push(n, r, t[u], r = (t[u] - n) * e / 2, n = t[u], -r); return i } function Di(t, e, n) { var r, i, u, s, a, o, l, h, f, D, p, c, d, g, _ = t.length - 2, m = +t[0], v = +t[1], y = +t[2], C = +t[3], x = [m, v, m, v], F = y - m, w = C - v; for (isNaN(n) && (n = Math.PI / 10), e = e || 0 === e ? +e : 1, a = 2; a < _; a += 2) r = m, i = v, m = y, v = C, c = (o = F) * o + (h = w) * h, d = (F = (y = +t[a + 2]) - m) * F + (w = (C = +t[a + 3]) - v) * w, g = (l = y - r) * l + (f = C - i) * f, p = (u = Math.acos((c + d - g) / Yr(4 * c * d))) / Math.PI * e, D = Yr(c) * p, p *= Yr(d), m === r && v === i || (u > n ? (s = jr(f, l), x.push(Hr(m - Ir(s) * D), Hr(v - Rr(s) * D), Hr(m), Hr(v), Hr(m + Ir(s) * p), Hr(v + Rr(s) * p))) : (s = jr(h, o), x.push(Hr(m - Ir(s) * D), Hr(v - Rr(s) * D)), s = jr(w, F), x.push(Hr(m), Hr(v), Hr(m + Ir(s) * p), Hr(v + Rr(s) * p)))); return x.push(Hr(y), Hr(C), Hr(y), Hr(C)), x } function pi(t) { Vr(t[0]) && (t = [t]); var e, n, r, i, u = "", s = t.length; for (n = 0; n < s; n++) { for (i = t[n], u += "M" + Hr(i[0]) + "," + Hr(i[1]) + " C", e = i.length, r = 2; r < e; r++) u += Hr(i[r++]) + "," + Hr(i[r++]) + " " + Hr(i[r++]) + "," + Hr(i[r++]) + " " + Hr(i[r++]) + "," + Hr(i[r]) + " "; i.closed && (u += "z") } return u } /*! * CustomEase 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var ci, di, gi = function() { return ci || "undefined" != typeof window && (ci = window.gsap) && ci.registerPlugin && ci }, _i = function() { (ci = gi()) ? (ci.registerEase("_CE", xi.create), di = 1) : console.warn("Please gsap.registerPlugin(CustomEase)") }, mi = function(t) { return ~~(1e3 * t + (t < 0 ? -.5 : .5)) / 1e3 }, vi = /[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi, yi = /[cLlsSaAhHvVtTqQ]/g, Ci = function t(e, n, r, i, u, s, a, o, l, h, f) { var D, p = (e + r) / 2, c = (n + i) / 2, d = (r + u) / 2, g = (i + s) / 2, _ = (u + a) / 2, m = (s + o) / 2, v = (p + d) / 2, y = (c + g) / 2, C = (d + _) / 2, x = (g + m) / 2, F = (v + C) / 2, w = (y + x) / 2, E = a - e, b = o - n, T = Math.abs((r - a) * b - (i - o) * E), A = Math.abs((u - a) * b - (s - o) * E); return h || (h = [{ x: e, y: n }, { x: a, y: o }], f = 1), h.splice(f || h.length - 1, 0, { x: F, y: w }), (T + A) * (T + A) > l * (E * E + b * b) && (D = h.length, t(e, n, p, c, v, y, F, w, l, h, f), t(F, w, C, x, _, m, a, o, l, h, f + 1 + (h.length - D))), h }, xi = function() { function t(t, e, n) { di || _i(), this.id = t, this.setData(e, n) } var e = t.prototype; return e.setData = function(t, e) { e = e || {}; var n, r, i, u, s, a, o, l, h, f = (t = t || "0,0,1,1").match(vi), D = 1, p = [], c = [], d = e.precision || 1, g = d <= 1; if (this.data = t, (yi.test(t) || ~t.indexOf("M") && t.indexOf("C") < 0) && (f = hi(t)[0]), 4 === (n = f.length)) f.unshift(0, 0), f.push(1, 1), n = 8; else if ((n - 2) % 6) throw "Invalid CustomEase"; for (0 == +f[0] && 1 == +f[n - 2] || function(t, e, n) { n || 0 === n || (n = Math.max(+t[t.length - 1], +t[1])); var r, i = -1 * +t[0], u = -n, s = t.length, a = 1 / (+t[s - 2] + i), o = -e || (Math.abs(+t[s - 1] - +t[1]) < .01 * (+t[s - 2] - +t[0]) ? function(t) { var e, n = t.length, r = 1e20; for (e = 1; e < n; e += 6) + t[e] < r && (r = +t[e]); return r }(t) + u : +t[s - 1] + u); for (o = o ? 1 / o : -a, r = 0; r < s; r += 2) t[r] = (+t[r] + i) * a, t[r + 1] = (+t[r + 1] + u) * o }(f, e.height, e.originY), this.segment = f, u = 2; u < n; u += 6) r = { x: +f[u - 2], y: +f[u - 1] }, i = { x: +f[u + 4], y: +f[u + 5] }, p.push(r, i), Ci(r.x, r.y, +f[u], +f[u + 1], +f[u + 2], +f[u + 3], i.x, i.y, 1 / (2e5 * d), p, p.length - 1); for (n = p.length, u = 0; u < n; u++) o = p[u], l = p[u - 1] || o, o.x > l.x || l.y !== o.y && l.x === o.x || o === l ? (l.cx = o.x - l.x, l.cy = o.y - l.y, l.n = o, l.nx = o.x, g && u > 1 && Math.abs(l.cy / l.cx - p[u - 2].cy / p[u - 2].cx) > 2 && (g = 0), l.cx < D && (l.cx ? D = l.cx : (l.cx = .001, u === n - 1 && (l.x -= .001, D = Math.min(D, .001), g = 0)))) : (p.splice(u--, 1), n--); if (s = 1 / (n = 1 / D + 1 | 0), a = 0, o = p[0], g) { for (u = 0; u < n; u++) h = u * s, o.nx < h && (o = p[++a]), r = o.y + (h - o.x) / o.cx * o.cy, c[u] = { x: h, cx: s, y: r, cy: 0, nx: 9 }, u && (c[u - 1].cy = r - c[u - 1].y); c[n - 1].cy = p[p.length - 1].y - r } else { for (u = 0; u < n; u++) o.nx < u * s && (o = p[++a]), c[u] = o; a < p.length - 1 && (c[u - 1] = p[p.length - 2]) } return this.ease = function(t) { var e = c[t * n | 0] || c[n - 1]; return e.nx < t && (e = e.n), e.y + (t - e.x) / e.cx * e.cy }, this.ease.custom = this, this.id && ci.registerEase(this.id, this.ease), this }, e.getSVGData = function(e) { return t.getSVGData(this, e) }, t.create = function(e, n, r) { return new t(e, n, r).ease }, t.register = function(t) { ci = t, _i() }, t.get = function(t) { return ci.parseEase(t) }, t.getSVGData = function(e, n) { var r, i, u, s, a, o, l, h, f, D, p = (n = n || {}).width || 100, c = n.height || 100, d = n.x || 0, g = (n.y || 0) + c, _ = ci.utils.toArray(n.path)[0]; if (n.invert && (c = -c, g = 0), "string" == typeof e && (e = ci.parseEase(e)), e.custom && (e = e.custom), e instanceof t) r = pi(oi([e.segment], p, 0, 0, -c, d, g)); else { for (r = [d, g], s = 1 / (l = Math.max(5, 200 * (n.precision || 1))), h = 5 / (l += 2), f = mi(d + s * p), i = ((D = mi(g + e(s) * -c)) - g) / (f - d), u = 2; u < l; u++) a = mi(d + u * s * p), o = mi(g + e(u * s) * -c), (Math.abs((o - D) / (a - f) - i) > h || u === l - 1) && (r.push(f, D), i = (o - D) / (a - f)), f = a, D = o; r = "M" + r.join(",") } return _ && _.setAttribute("d", r), r }, t }(); gi() && ci.registerPlugin(xi), xi.version = "3.2.6"; /*! * CustomWiggle 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var Fi, wi, Ei, bi = function() { return Fi || "undefined" != typeof window && (Fi = window.gsap) && Fi.registerPlugin && Fi }, Ti = { easeOut: "M0,1,C0.7,1,0.6,0,1,0", easeInOut: "M0,0,C0.1,0,0.24,1,0.444,1,0.644,1,0.6,0,1,0", anticipate: "M0,0,C0,0.222,0.024,0.386,0,0.4,0.18,0.455,0.65,0.646,0.7,0.67,0.9,0.76,1,0.846,1,1", uniform: "M0,0,C0,0.95,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0" }, Ai = function(t) { return t }, Mi = function(t) { if (!wi) if (Fi = bi(), Ei = Fi && Fi.parseEase("_CE")) { for (var e in Ti) Ti[e] = Ei("", Ti[e]); wi = 1, Bi("wiggle").config = function(t) { return "object" == typeof t ? Bi("", t) : Bi("wiggle(" + t + ")", { wiggles: +t }) } } else t && console.warn("Please gsap.registerPlugin(CustomEase, CustomWiggle)") }, Pi = function(t, e) { return "function" != typeof t && (t = Fi.parseEase(t) || Ei("", t)), t.custom || !e ? t : function(e) { return 1 - t(e) } }, Bi = function(t, e) { wi || Mi(1); var n, r, i, u, s, a, o, l, h, f = 0 | ((e = e || {}).wiggles || 10), D = 1 / f, p = D / 2, c = "anticipate" === e.type, d = Ti[e.type] || Ti.easeOut, g = Ai; if (c && (g = d, d = Ti.easeOut), e.timingEase && (g = Pi(e.timingEase)), e.amplitudeEase && (d = Pi(e.amplitudeEase, !0)), l = [0, 0, (a = g(p)) / 4, 0, a / 2, o = c ? -d(p) : d(p), a, o], "random" === e.type) { for (l.length = 4, n = g(D), r = 2 * Math.random() - 1, h = 2; h < f; h++) p = n, o = r, n = g(D * h), r = 2 * Math.random() - 1, i = Math.atan2(r - l[l.length - 3], n - l[l.length - 4]), u = Math.cos(i) * D, s = Math.sin(i) * D, l.push(p - u, o - s, p, o, p + u, o + s); l.push(n, 0, 1, 0) } else { for (h = 1; h < f; h++) l.push(g(p + D / 2), o), p += D, o = (o > 0 ? -1 : 1) * d(h * D), a = g(p), l.push(g(p - D / 2), o, a, o); l.push(g(p + D / 4), o, g(p + D / 4), 0, 1, 0) } for (h = l.length; --h > -1;) l[h] = ~~(1e3 * l[h]) / 1e3; return l[2] = "C" + l[2], Ei(t, "M" + l.join(",")) }, Si = function() { function t(t, e) { this.ease = Bi(t, e) } return t.create = function(t, e) { return Bi(t, e) }, t.register = function(t) { Fi = t, Mi() }, t }(); bi() && Fi.registerPlugin(Si), Si.version = "3.2.6"; /*! * DrawSVGPlugin 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var Oi, ki, Li, Ni, Ri, Ii = function() { return "undefined" != typeof window }, zi = function() { return Oi || Ii() && (Oi = window.gsap) && Oi.registerPlugin && Oi }, Yi = /[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi, ji = { rect: ["width", "height"], circle: ["r", "r"], ellipse: ["rx", "ry"], line: ["x2", "y2"] }, Xi = function(t) { return Math.round(1e4 * t) / 1e4 }, Vi = function(t) { return parseFloat(t || 0) }, Ui = function(t, e) { return Vi(t.getAttribute(e)) }, Wi = Math.sqrt, qi = function(t, e, n, r, i, u) { return Wi(Math.pow((Vi(n) - Vi(t)) * i, 2) + Math.pow((Vi(r) - Vi(e)) * u, 2)) }, Hi = function(t) { return console.warn(t) }, Gi = function(t) { return "non-scaling-stroke" === t.getAttribute("vector-effect") }, Qi = function(t) { if (!(t = ki(t)[0])) return 0; var e, n, r, i, u, s, a, o = t.tagName.toLowerCase(), l = t.style, h = 1, f = 1; Gi(t) && (f = t.getScreenCTM(), h = Wi(f.a * f.a + f.b * f.b), f = Wi(f.d * f.d + f.c * f.c)); try { n = t.getBBox() } catch (t) { Hi("Some browsers won't measure invisible elements (like display:none or masks inside defs).") } var D = n || { x: 0, y: 0, width: 0, height: 0 }, p = D.x, c = D.y, d = D.width, g = D.height; if (n && (d || g) || !ji[o] || (d = Ui(t, ji[o][0]), g = Ui(t, ji[o][1]), "rect" !== o && "line" !== o && (d *= 2, g *= 2), "line" === o && (p = Ui(t, "x1"), c = Ui(t, "y1"), d = Math.abs(d - p), g = Math.abs(g - c))), "path" === o) i = l.strokeDasharray, l.strokeDasharray = "none", e = t.getTotalLength() || 0, h !== f && Hi("Warning: length cannot be measured when vector-effect is non-scaling-stroke and the element isn't proportionally scaled."), e *= (h + f) / 2, l.strokeDasharray = i; else if ("rect" === o) e = 2 * d * h + 2 * g * f; else if ("line" === o) e = qi(p, c, p + d, c + g, h, f); else if ("polyline" === o || "polygon" === o) for (r = t.getAttribute("points").match(Yi) || [], "polygon" === o && r.push(r[0], r[1]), e = 0, u = 2; u < r.length; u += 2) e += qi(r[u - 2], r[u - 1], r[u], r[u + 1], h, f) || 0; else "circle" !== o && "ellipse" !== o || (s = d / 2 * h, a = g / 2 * f, e = Math.PI * (3 * (s + a) - Wi((3 * s + a) * (s + 3 * a)))); return e || 0 }, Ki = function(t, e) { if (!(t = ki(t)[0])) return [0, 0]; e || (e = Qi(t) + 1); var n = Li.getComputedStyle(t), r = n.strokeDasharray || "", i = Vi(n.strokeDashoffset), u = r.indexOf(","); return u < 0 && (u = r.indexOf(" ")), (r = u < 0 ? e : Vi(r.substr(0, u)) || 1e-5) > e && (r = e), [Math.max(0, -i), Math.max(0, r - i)] }, Zi = function() { Ii() && (document, Li = window, Ri = Oi = zi(), ki = Oi.utils.toArray, Ni = -1 !== ((Li.navigator || {}).userAgent || "").indexOf("Edge")) }, $i = { version: "3.2.6", name: "drawSVG", register: function(t) { Oi = t, Zi() }, init: function(t, e, n, r, i) { if (!t.getBBox) return !1; Ri || Zi(); var u, s, a, o, l = Qi(t) + 1; return this._style = t.style, this._target = t, e + "" == "true" ? e = "0 100%" : e ? -1 === (e + "").indexOf(" ") && (e = "0 " + e) : e = "0 0", s = function(t, e, n) { var r, i, u = t.indexOf(" "); return u < 0 ? (r = void 0 !== n ? n + "" : t, i = t) : (r = t.substr(0, u), i = t.substr(u + 1)), (r = ~r.indexOf("%") ? Vi(r) / 100 * e : Vi(r)) > (i = ~i.indexOf("%") ? Vi(i) / 100 * e : Vi(i)) ? [i, r] : [r, i] }(e, l, (u = Ki(t, l))[0]), this._length = Xi(l + 10), 0 === u[0] && 0 === s[0] ? (a = Math.max(1e-5, s[1] - l), this._dash = Xi(l + a), this._offset = Xi(l - u[1] + a), this._offsetPT = this.add(this, "_offset", this._offset, Xi(l - s[1] + a))) : (this._dash = Xi(u[1] - u[0]) || 1e-6, this._offset = Xi(-u[0]), this._dashPT = this.add(this, "_dash", this._dash, Xi(s[1] - s[0]) || 1e-5), this._offsetPT = this.add(this, "_offset", this._offset, Xi(-s[0]))), Ni && (o = Li.getComputedStyle(t)).strokeLinecap !== o.strokeLinejoin && (s = Vi(o.strokeMiterlimit), this.add(t.style, "strokeMiterlimit", s, s + .01)), this._live = Gi(t) || ~(e + "").indexOf("live"), this._props.push("drawSVG"), 1 }, render: function(t, e) { var n, r, i, u, s = e._pt, a = e._style; if (s) { for (e._live && (n = Qi(e._target) + 11) !== e._length && (r = n / e._length, e._length = n, e._offsetPT.s *= r, e._offsetPT.c *= r, e._dashPT ? (e._dashPT.s *= r, e._dashPT.c *= r) : e._dash *= r); s;) s.r(t, s.d), s = s._next; i = e._dash, u = e._offset, n = e._length, a.strokeDashoffset = e._offset, 1 !== t && t ? a.strokeDasharray = i + "px," + n + "px" : (i - u < .001 && n - i <= 10 && (a.strokeDashoffset = u + 1), a.strokeDasharray = u < .001 && n - i <= 10 ? "none" : u === i ? "0px, 999999px" : i + "px," + n + "px") } }, getLength: Qi, getPosition: Ki }; zi() && Oi.registerPlugin($i); /*! * matrix 3.2.6 * https://greensock.com * * Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var Ji, tu, eu, nu, ru, iu, uu, su, au = "transform", ou = au + "Origin", lu = function(t) { var e = t.ownerDocument || t; !(au in t.style) && "msTransform" in t.style && (ou = (au = "msTransform") + "Origin"); for (; e.parentNode && (e = e.parentNode);); if (tu = window, uu = new gu, e) { Ji = e, eu = e.documentElement, nu = e.body; var n = e.createElement("div"), r = e.createElement("div"); nu.appendChild(n), n.appendChild(r), n.style.position = "static", n.style[au] = "translate3d(0,0,1px)", su = r.offsetParent !== n, nu.removeChild(n) } return e }, hu = [], fu = [], Du = function(t) { return t.ownerSVGElement || ("svg" === (t.tagName + "").toLowerCase() ? t : null) }, pu = function t(e, n) { if (e.parentNode && (Ji || lu(e))) { var r = Du(e), i = r ? r.getAttribute("xmlns") || "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", u = r ? n ? "rect" : "g" : "div", s = 2 !== n ? 0 : 100, a = 3 === n ? 100 : 0, o = "position:absolute;display:block;pointer-events:none;", l = Ji.createElementNS ? Ji.createElementNS(i.replace(/^https/, "http"), u) : Ji.createElement(u); return n && (r ? (iu || (iu = t(e)), l.setAttribute("width", .01), l.setAttribute("height", .01), l.setAttribute("transform", "translate(" + s + "," + a + ")"), iu.appendChild(l)) : (ru || ((ru = t(e)).style.cssText = o), l.style.cssText = o + "width:0.1px;height:0.1px;top:" + a + "px;left:" + s + "px", ru.appendChild(l))), l } throw "Need document and parent." }, cu = function(t, e) { var n, r, i, u, s, a = Du(t), o = t === a, l = a ? hu : fu; if (t === tu) return t; if (l.length || l.push(pu(t, 1), pu(t, 2), pu(t, 3)), n = a ? iu : ru, a) i = o ? { x: 0, y: 0 } : t.getBBox(), (r = t.transform ? t.transform.baseVal : {}).numberOfItems ? (u = (r = r.numberOfItems > 1 ? function(t) { for (var e = new gu, n = 0; n < t.numberOfItems; n++) e.multiply(t.getItem(n).matrix); return e }(r) : r.getItem(0).matrix).a * i.x + r.c * i.y, s = r.b * i.x + r.d * i.y) : (r = uu, u = i.x, s = i.y), e && "g" === t.tagName.toLowerCase() && (u = s = 0), n.setAttribute("transform", "matrix(" + r.a + "," + r.b + "," + r.c + "," + r.d + "," + (r.e + u) + "," + (r.f + s) + ")"), (o ? a : t.parentNode).appendChild(n); else { if (u = s = 0, su) for (r = t.offsetParent, i = t; i && (i = i.parentNode) && i !== r && i.parentNode;)(tu.getComputedStyle(i)[au] + "").length > 4 && (u = i.offsetLeft, s = i.offsetTop, i = 0); (i = n.style).top = t.offsetTop - s + "px", i.left = t.offsetLeft - u + "px", r = tu.getComputedStyle(t), i[au] = r[au], i[ou] = r[ou], i.border = r.border, i.borderLeftStyle = r.borderLeftStyle, i.borderTopStyle = r.borderTopStyle, i.borderLeftWidth = r.borderLeftWidth, i.borderTopWidth = r.borderTopWidth, i.position = "fixed" === r.position ? "fixed" : "absolute", t.parentNode.appendChild(n) } return n }, du = function(t, e, n, r, i, u, s) { return t.a = e, t.b = n, t.c = r, t.d = i, t.e = u, t.f = s, t }, gu = function() { function t(t, e, n, r, i, u) { void 0 === t && (t = 1), void 0 === e && (e = 0), void 0 === n && (n = 0), void 0 === r && (r = 1), void 0 === i && (i = 0), void 0 === u && (u = 0), du(this, t, e, n, r, i, u) } var e = t.prototype; return e.inverse = function() { var t = this.a, e = this.b, n = this.c, r = this.d, i = this.e, u = this.f, s = t * r - e * n; return du(this, r / s, -e / s, -n / s, t / s, (n * u - r * i) / s, -(t * u - e * i) / s) }, e.multiply = function(t) { var e = this.a, n = this.b, r = this.c, i = this.d, u = this.e, s = this.f, a = t.a, o = t.c, l = t.b, h = t.d, f = t.e, D = t.f; return du(this, a * e + l * r, a * n + l * i, o * e + h * r, o * n + h * i, u + f * e + D * r, s + f * n + D * i) }, e.clone = function() { return new t(this.a, this.b, this.c, this.d, this.e, this.f) }, e.equals = function(t) { var e = this.a, n = this.b, r = this.c, i = this.d, u = this.e, s = this.f; return e === t.a && n === t.b && r === t.c && i === t.d && u === t.e && s === t.f }, e.apply = function(t, e) { void 0 === e && (e = {}); var n = t.x, r = t.y, i = this.a, u = this.b, s = this.c, a = this.d, o = this.e, l = this.f; return e.x = n * i + r * s + o || 0, e.y = n * u + r * a + l || 0, e }, t }(); function _u(t, e, n) { if (!t || !t.parentNode || (Ji || lu(t)).documentElement === t) return new gu; var r = Du(t) ? hu : fu, i = cu(t, n), u = r[0].getBoundingClientRect(), s = r[1].getBoundingClientRect(), a = r[2].getBoundingClientRect(), o = i.parentNode, l = function t(e) { return "fixed" === tu.getComputedStyle(e).position || ((e = e.parentNode) && 1 === e.nodeType ? t(e) : void 0) }(t), h = new gu((s.left - u.left) / 100, (s.top - u.top) / 100, (a.left - u.left) / 100, (a.top - u.top) / 100, u.left + (l ? 0 : tu.pageXOffset || Ji.scrollLeft || eu.scrollLeft || nu.scrollLeft || 0), u.top + (l ? 0 : tu.pageYOffset || Ji.scrollTop || eu.scrollTop || nu.scrollTop || 0)); return o.removeChild(i), e ? h.inverse() : h } /*! * MotionPathPlugin 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var mu, vu, yu, Cu, xu = ["x", "translateX", "left", "marginLeft"], Fu = ["y", "translateY", "top", "marginTop"], wu = Math.PI / 180, Eu = function(t, e, n, r) { for (var i = e.length, u = r, s = 0; s < i; s++) t[u] = parseFloat(e[s][n]), u += 2; return t }, bu = function(t, e, n) { return parseFloat(t._gsap.get(t, e, n || "px")) || 0 }, Tu = function(t) { var e, n = t[0], r = t[1]; for (e = 2; e < t.length; e += 2) n = t[e] += n, r = t[e + 1] += r }, Au = function(t, e, n, r, i, u, s) { "cubic" === s.type ? e = [e] : (e.unshift(bu(n, r, s.unitX), i ? bu(n, i, s.unitY) : 0), s.relative && Tu(e), e = [(i ? Di : fi)(e, s.curviness)]); return e = u(Ou(e, n, s)), ku(t, n, r, e, "x", s.unitX), i && ku(t, n, i, e, "y", s.unitY), ii(e, s.resolution || (0 === s.curviness ? 20 : 12)) }, Mu = function(t) { return t }, Pu = /[-+\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/g, Bu = function(t, e, n) { var r, i, u, s = _u(t); return "svg" === (t.tagName + "").toLowerCase() ? (i = (r = t.viewBox.baseVal).x, u = r.y, r.width || (r = { width: +t.getAttribute("width"), height: +t.getAttribute("height") })) : (r = e && t.getBBox && t.getBBox(), i = u = 0), e && "auto" !== e && (i += e.push ? e[0] * (r ? r.width : t.offsetWidth || 0) : e.x, u += e.push ? e[1] * (r ? r.height : t.offsetHeight || 0) : e.y), n.apply(i || u ? s.apply({ x: i, y: u }) : { x: s.e, y: s.f }) }, Su = function(t, e, n, r) { var i, u = _u(t.parentNode, !0, !0), s = u.clone().multiply(_u(e)), a = Bu(t, n, u), o = Bu(e, r, u), l = o.x, h = o.y; return s.e = s.f = 0, "auto" === r && e.getTotalLength && "path" === e.tagName.toLowerCase() && (i = e.getAttribute("d").match(Pu) || [], l += (i = s.apply({ x: +i[0], y: +i[1] })).x, h += i.y), (i || e.getBBox && t.getBBox) && (l -= (i = s.apply(e.getBBox())).x, h -= i.y), s.e = l - a.x, s.f = h - a.y, s }, Ou = function(t, e, n) { var r, i, u, s = n.align, a = n.matrix, o = n.offsetX, l = n.offsetY, h = n.alignOrigin, f = t[0][0], D = t[0][1], p = bu(e, "x"), c = bu(e, "y"); return t && t.length ? (s && ("self" === s || (r = Cu(s)[0] || e) === e ? oi(t, 1, 0, 0, 1, p - f, c - D) : (h && !1 !== h[2] ? mu.set(e, { transformOrigin: 100 * h[0] + "% " + 100 * h[1] + "%" }) : h = [bu(e, "xPercent") / -100, bu(e, "yPercent") / -100], u = (i = Su(e, r, h, "auto")).apply({ x: f, y: D }), oi(t, i.a, i.b, i.c, i.d, p + i.e - (u.x - i.e), c + i.f - (u.y - i.f)))), a ? oi(t, a.a, a.b, a.c, a.d, a.e, a.f) : (o || l) && oi(t, 1, 0, 0, 1, o || 0, l || 0), t) : Zr("M0,0L0,0") }, ku = function(t, e, n, r, i, u) { var s = e._gsap, a = s.harness, o = a && a.aliases && a.aliases[n], l = o && o.indexOf(",") < 0 ? o : n, h = t._pt = new vu(t._pt, e, l, 0, 0, Mu, 0, s.set(e, l, t)); h.u = yu(s.get(e, l, u)) || 0, h.path = r, h.pp = i, t._props.push(l) }, Lu = { version: "3.2.6", name: "motionPath", register: function(t, e, n) { yu = (mu = t).utils.getUnit, Cu = mu.utils.toArray, vu = n }, init: function(t, e) { if (!mu) return console.warn("Please gsap.registerPlugin(MotionPathPlugin)"), !1; "object" == typeof e && !e.style && e.path || (e = { path: e }); var n, r, i, u, s, a, o = [], l = e.path, h = l[0], f = e.autoRotate, D = (s = e.start, a = "end" in e ? e.end : 1, function(t) { return s || 1 !== a ? ni(t, s, a) : t }); if (this.rawPaths = o, this.target = t, (this.rotate = f || 0 === f) && (this.rOffset = parseFloat(f) || 0, this.radians = !!e.useRadians, this.rProp = e.rotation || "rotation", this.rSet = t._gsap.set(t, this.rProp, this), this.ru = yu(t._gsap.get(t, this.rProp)) || 0), Array.isArray(l) && !("closed" in l) && "number" != typeof h) { for (r in h) ~xu.indexOf(r) ? i = r : ~Fu.indexOf(r) && (u = r); for (r in i && u ? o.push(Au(this, Eu(Eu([], l, i, 0), l, u, 1), t, e.x || i, e.y || u, D, e)) : i = u = 0, h) r !== i && r !== u && o.push(Au(this, Eu([], l, r, 0), t, r, 0, D, e)) } else ii(n = D(Ou(Zr(e.path), t, e)), e.resolution), o.push(n), ku(this, t, e.x || "x", n, "x", e.unitX || "px"), ku(this, t, e.y || "y", n, "y", e.unitY || "px") }, render: function(t, e) { var n = e.rawPaths, r = n.length, i = e._pt; for (t > 1 ? t = 1 : t < 0 && (t = 0); r--;) ai(n[r], t, !r && e.rotate, n[r]); for (; i;) i.set(i.t, i.p, i.path[i.pp] + i.u, i.d, t), i = i._next; e.rotate && e.rSet(e.target, e.rProp, n[0].angle * (e.radians ? wu : 1) + e.rOffset + e.ru, e, t) }, getLength: function(t) { return ii(Zr(t)).totalLength }, sliceRawPath: ni, getRawPath: Zr, pointsToSegment: Di, stringToRawPath: hi, rawPathToString: pi, transformRawPath: oi, getGlobalMatrix: _u, getPositionOnPath: ai, cacheRawPathMeasurements: ii, convertToPath: function(t, e) { return Cu(t).map((function(t) { return ti(t, !1 !== e) })) }, convertCoordinates: function(t, e, n) { var r = _u(e, !0, !0).multiply(_u(t)); return n ? r.apply(n) : r }, getAlignMatrix: Su, getRelativePosition: function(t, e, n, r) { var i = Su(t, e, n, r); return { x: i.e, y: i.f } }, arrayToRawPath: function(t, e) { var n = Eu(Eu([], t, (e = e || {}).x || "x", 0), t, e.y || "y", 1); return e.relative && Tu(n), ["cubic" === e.type ? n : Di(n, e.curviness)] } }; (mu || "undefined" != typeof window && (mu = window.gsap) && mu.registerPlugin && mu) && mu.registerPlugin(Lu); /*! * ScrollToPlugin 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var Nu, Ru, Iu, zu, Yu, ju, Xu, Vu = function() { return "undefined" != typeof window }, Uu = function() { return Nu || Vu() && (Nu = window.gsap) && Nu.registerPlugin && Nu }, Wu = function(t) { return "string" == typeof t }, qu = function(t, e) { var n = "x" === e ? "Width" : "Height", r = "scroll" + n, i = "client" + n; return t === Iu || t === zu || t === Yu ? Math.max(zu[r], Yu[r]) - (Iu["inner" + n] || zu[i] || Yu[i]) : t[r] - t["offset" + n] }, Hu = function(t, e) { var n = "scroll" + ("x" === e ? "Left" : "Top"); return t === Iu && (null != t.pageXOffset ? n = "page" + e.toUpperCase() + "Offset" : t = null != zu[n] ? zu : Yu), function() { return t[n] } }, Gu = function(t, e) { var n = ju(t)[0].getBoundingClientRect(), r = !e || e === Iu || e === Yu, i = r ? { top: zu.clientTop - (Iu.pageYOffset || zu.scrollTop || Yu.scrollTop || 0), left: zu.clientLeft - (Iu.pageXOffset || zu.scrollLeft || Yu.scrollLeft || 0) } : e.getBoundingClientRect(), u = { x: n.left - i.left, y: n.top - i.top }; return !r && e && (u.x += Hu(e, "x")(), u.y += Hu(e, "y")()), u }, Qu = function(t, e, n, r) { return isNaN(t) || "object" == typeof t ? Wu(t) && "=" === t.charAt(1) ? parseFloat(t.substr(2)) * ("-" === t.charAt(0) ? -1 : 1) + r : "max" === t ? qu(e, n) : Math.min(qu(e, n), Gu(t, e)[n]) : parseFloat(t) }, Ku = function() { Nu = Uu(), Vu() && Nu && document.body && (Iu = window, Yu = document.body, zu = document.documentElement, ju = Nu.utils.toArray, Nu.config({ autoKillThreshold: 7 }), Xu = Nu.config(), Ru = 1) }, Zu = { version: "3.2.6", name: "scrollTo", rawVars: 1, register: function(t) { Nu = t, Ku() }, init: function(t, e, n, r, i) { Ru || Ku(); this.isWin = t === Iu, this.target = t, this.tween = n, "object" != typeof e ? Wu((e = { y: e }).y) && "max" !== e.y && "=" !== e.y.charAt(1) && (e.x = e.y) : e.nodeType && (e = { y: e, x: e }), this.vars = e, this.autoKill = !!e.autoKill, this.getX = Hu(t, "x"), this.getY = Hu(t, "y"), this.x = this.xPrev = this.getX(), this.y = this.yPrev = this.getY(), null != e.x ? (this.add(this, "x", this.x, Qu(e.x, t, "x", this.x) - (e.offsetX || 0), r, i, Math.round), this._props.push("scrollTo_x")) : this.skipX = 1, null != e.y ? (this.add(this, "y", this.y, Qu(e.y, t, "y", this.y) - (e.offsetY || 0), r, i, Math.round), this._props.push("scrollTo_y")) : this.skipY = 1 }, render: function(t, e) { for (var n, r, i, u, s, a = e._pt, o = e.target, l = e.tween, h = e.autoKill, f = e.xPrev, D = e.yPrev, p = e.isWin; a;) a.r(t, a.d), a = a._next; n = p || !e.skipX ? e.getX() : f, i = (r = p || !e.skipY ? e.getY() : D) - D, u = n - f, s = Xu.autoKillThreshold, e.x < 0 && (e.x = 0), e.y < 0 && (e.y = 0), h && (!e.skipX && (u > s || u < -s) && n < qu(o, "x") && (e.skipX = 1), !e.skipY && (i > s || i < -s) && r < qu(o, "y") && (e.skipY = 1), e.skipX && e.skipY && (l.kill(), e.vars.onAutoKill && e.vars.onAutoKill.apply(l, e.vars.onAutoKillParams || []))), p ? Iu.scrollTo(e.skipX ? n : e.x, e.skipY ? r : e.y) : (e.skipY || (o.scrollTop = e.y), e.skipX || (o.scrollLeft = e.x)), e.xPrev = e.x, e.yPrev = e.y }, kill: function(t) { var e = "scrollTo" === t; (e || "scrollTo_x" === t) && (this.skipX = 1), (e || "scrollTo_y" === t) && (this.skipY = 1) } }; Zu.max = qu, Zu.getOffset = Gu, Zu.buildGetter = Hu, Uu() && Nu.registerPlugin(Zu); /*! * strings: 3.2.6 * https://greensock.com * * Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var $u = /([\uD800-\uDBFF][\uDC00-\uDFFF](?:[\u200D\uFE0F][\uD800-\uDBFF][\uDC00-\uDFFF]){2,}|\uD83D\uDC69(?:\u200D(?:(?:\uD83D\uDC69\u200D)?\uD83D\uDC67|(?:\uD83D\uDC69\u200D)?\uD83D\uDC66)|\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D(?:\uD83D\uDC69\u200D)?\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D(?:\uD83D\uDC69\u200D)?\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]\uFE0F|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC6F\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3C-\uDD3E\uDDD6-\uDDDF])\u200D[\u2640\u2642]\uFE0F|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F\u200D[\u2640\u2642]|(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642])\uFE0F|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\uD83D\uDC69\u200D[\u2695\u2696\u2708]|\uD83D\uDC68(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708]))\uFE0F|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83D\uDC69\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|\uD83D\uDC68(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC66\u200D\uD83D\uDC66|(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]))|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDD1-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\u200D(?:(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC67|(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC66)|\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDD1-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])?|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])\uFE0F)/; /*! * SplitText: 3.2.6 * https://greensock.com * * @license Copyright 2008-2020, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for * Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ var Ju, ts, es, ns, rs = /(?:\r|\n|\t\t)/g, is = /(?:\s\s+)/g, us = function(t) { return ts.getComputedStyle(t) }, ss = Array.isArray, as = [].slice, os = function(t, e) { var n; return ss(t) ? t : "string" == (n = typeof t) && !e && t ? as.call(Ju.querySelectorAll(t), 0) : t && "object" === n && "length" in t ? as.call(t, 0) : t ? [t] : [] }, ls = function(t) { return "absolute" === t.position || !0 === t.absolute }, hs = function(t, e) { for (var n, r = e.length; --r > -1;) if (n = e[r], t.substr(0, n.length) === n) return n.length }, fs = function(t, e) { void 0 === t && (t = ""); var n = ~t.indexOf("++"), r = 1; return n && (t = t.split("++").join("")), function() { return "<" + e + " style='position:relative;display:inline-block;'" + (t ? " class='" + t + (n ? r++ : "") + "'>" : ">") } }, Ds = function t(e, n, r) { var i = e.nodeType; if (1 === i || 9 === i || 11 === i) for (e = e.firstChild; e; e = e.nextSibling) t(e, n, r); else 3 !== i && 4 !== i || (e.nodeValue = e.nodeValue.split(n).join(r)) }, ps = function(t, e) { for (var n = e.length; --n > -1;) t.push(e[n]) }, cs = function(t, e, n) { for (var r; t && t !== e;) { if (r = t._next || t.nextSibling) return r.textContent.charAt(0) === n; t = t.parentNode || t._parent } }, ds = function t(e) { var n, r, i = os(e.childNodes), u = i.length; for (n = 0; n < u; n++)(r = i[n])._isSplit ? t(r) : (n && 3 === r.previousSibling.nodeType ? r.previousSibling.nodeValue += 3 === r.nodeType ? r.nodeValue : r.firstChild.nodeValue : 3 !== r.nodeType && e.insertBefore(r.firstChild, r), e.removeChild(r)) }, gs = function(t, e) { return parseFloat(e[t]) || 0 }, _s = function(t, e, n, r, i, u, s) { var a, o, l, h, f, D, p, c, d, g, _, m, v = us(t), y = gs("paddingLeft", v), C = -999, x = gs("borderBottomWidth", v) + gs("borderTopWidth", v), F = gs("borderLeftWidth", v) + gs("borderRightWidth", v), w = gs("paddingTop", v) + gs("paddingBottom", v), E = gs("paddingLeft", v) + gs("paddingRight", v), b = .2 * gs("fontSize", v), T = v.textAlign, A = [], M = [], P = [], B = e.wordDelimiter || " ", S = e.tag ? e.tag : e.span ? "span" : "div", O = e.type || e.split || "chars,words,lines", k = i && ~O.indexOf("lines") ? [] : null, L = ~O.indexOf("words"), N = ~O.indexOf("chars"), R = ls(e), I = e.linesClass, z = ~(I || "").indexOf("++"), Y = []; for (z && (I = I.split("++").join("")), l = (o = t.getElementsByTagName("*")).length, f = [], a = 0; a < l; a++) f[a] = o[a]; if (k || R) for (a = 0; a < l; a++)((D = (h = f[a]).parentNode === t) || R || N && !L) && (m = h.offsetTop, k && D && Math.abs(m - C) > b && ("BR" !== h.nodeName || 0 === a) && (p = [], k.push(p), C = m), R && (h._x = h.offsetLeft, h._y = m, h._w = h.offsetWidth, h._h = h.offsetHeight), k && ((h._isSplit && D || !N && D || L && D || !L && h.parentNode.parentNode === t && !h.parentNode._isSplit) && (p.push(h), h._x -= y, cs(h, t, B) && (h._wordEnd = !0)), "BR" === h.nodeName && (h.nextSibling && "BR" === h.nextSibling.nodeName || 0 === a) && k.push([]))); for (a = 0; a < l; a++) D = (h = f[a]).parentNode === t, "BR" !== h.nodeName ? (R && (d = h.style, L || D || (h._x += h.parentNode._x, h._y += h.parentNode._y), d.left = h._x + "px", d.top = h._y + "px", d.position = "absolute", d.display = "block", d.width = h._w + 1 + "px", d.height = h._h + "px"), !L && N ? h._isSplit ? (h._next = h.nextSibling, h.parentNode.appendChild(h)) : h.parentNode._isSplit ? (h._parent = h.parentNode, !h.previousSibling && h.firstChild && (h.firstChild._isFirst = !0), h.nextSibling && " " === h.nextSibling.textContent && !h.nextSibling.nextSibling && Y.push(h.nextSibling), h._next = h.nextSibling && h.nextSibling._isFirst ? null : h.nextSibling, h.parentNode.removeChild(h), f.splice(a--, 1), l--) : D || (m = !h.nextSibling && cs(h.parentNode, t, B), h.parentNode._parent && h.parentNode._parent.appendChild(h), m && h.parentNode.appendChild(Ju.createTextNode(" ")), "span" === S && (h.style.display = "inline"), A.push(h)) : h.parentNode._isSplit && !h._isSplit && "" !== h.innerHTML ? M.push(h) : N && !h._isSplit && ("span" === S && (h.style.display = "inline"), A.push(h))) : k || R ? (h.parentNode && h.parentNode.removeChild(h), f.splice(a--, 1), l--) : L || t.appendChild(h); for (a = Y.length; --a > -1;) Y[a].parentNode.removeChild(Y[a]); if (k) { for (R && (g = Ju.createElement(S), t.appendChild(g), _ = g.offsetWidth + "px", m = g.offsetParent === t ? 0 : t.offsetLeft, t.removeChild(g)), d = t.style.cssText, t.style.cssText = "display:none;"; t.firstChild;) t.removeChild(t.firstChild); for (c = " " === B && (!R || !L && !N), a = 0; a < k.length; a++) { for (p = k[a], (g = Ju.createElement(S)).style.cssText = "display:block;text-align:" + T + ";position:" + (R ? "absolute;" : "relative;"), I && (g.className = I + (z ? a + 1 : "")), P.push(g), l = p.length, o = 0; o < l; o++) "BR" !== p[o].nodeName && (h = p[o], g.appendChild(h), c && h._wordEnd && g.appendChild(Ju.createTextNode(" ")), R && (0 === o && (g.style.top = h._y + "px", g.style.left = y + m + "px"), h.style.top = "0px", m && (h.style.left = h._x - m + "px"))); 0 === l ? g.innerHTML = " " : L || N || (ds(g), Ds(g, String.fromCharCode(160), " ")), R && (g.style.width = _, g.style.height = h._h + "px"), t.appendChild(g) } t.style.cssText = d } R && (s > t.clientHeight && (t.style.height = s - w + "px", t.clientHeight < s && (t.style.height = s + x + "px")), u > t.clientWidth && (t.style.width = u - E + "px", t.clientWidth < u && (t.style.width = u + F + "px"))), ps(n, A), L && ps(r, M), ps(i, P) }, ms = function(t, e, n, r) { var i, u, s, a, o, l, h, f, D = e.tag ? e.tag : e.span ? "span" : "div", p = ~(e.type || e.split || "chars,words,lines").indexOf("chars"), c = ls(e), d = e.wordDelimiter || " ", g = " " !== d ? "" : c ? "­ " : " ", _ = "", m = 1, v = e.specialChars ? "function" == typeof e.specialChars ? e.specialChars : hs : null, y = Ju.createElement("div"), C = t.parentNode; for (C.insertBefore(y, t), y.textContent = t.nodeValue, C.removeChild(t), h = -1 !== (i = function t(e) { var n = e.nodeType, r = ""; if (1 === n || 9 === n || 11 === n) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling) r += t(e) } else if (3 === n || 4 === n) return e.nodeValue; return r }(t = y)).indexOf("<"), !1 !== e.reduceWhiteSpace && (i = i.replace(is, " ").replace(rs, "")), h && (i = i.split("<").join("{{LT}}")), o = i.length, u = (" " === i.charAt(0) ? g : "") + n(), s = 0; s < o; s++) if (l = i.charAt(s), v && (f = v(i.substr(s), e.specialChars))) l = i.substr(s, f || 1), u += p && " " !== l ? r() + l + "" : l, s += f - 1; else if (l === d && i.charAt(s - 1) !== d && s) { for (u += m ? _ : "", m = 0; i.charAt(s + 1) === d;) u += g, s++; s === o - 1 ? u += g : ")" !== i.charAt(s + 1) && (u += g + n(), m = 1) } else "{" === l && "{{LT}}" === i.substr(s, 6) ? (u += p ? r() + "{{LT}}" : "{{LT}}", s += 5) : l.charCodeAt(0) >= 55296 && l.charCodeAt(0) <= 56319 || i.charCodeAt(s + 1) >= 65024 && i.charCodeAt(s + 1) <= 65039 ? (a = ((i.substr(s, 12).split($u) || [])[1] || "").length || 2, u += p && " " !== l ? r() + i.substr(s, a) + "" : i.substr(s, a), s += a - 1) : u += p && " " !== l ? r() + l + "" : l; t.outerHTML = u + (m ? _ : ""), h && Ds(C, "{{LT}}", "<") }, vs = function t(e, n, r, i) { var u, s, a = os(e.childNodes), o = a.length, l = ls(n); if (3 !== e.nodeType || o > 1) { for (n.absolute = !1, u = 0; u < o; u++)(3 !== (s = a[u]).nodeType || /\S+/.test(s.nodeValue)) && (l && 3 !== s.nodeType && "inline" === us(s).display && (s.style.display = "inline-block", s.style.position = "relative"), s._isSplit = !0, t(s, n, r, i)); return n.absolute = l, void(e._isSplit = !0) } ms(e, n, r, i) }, ys = function() { function t(t, e) { es || (Ju = document, ts = window, es = 1), this.elements = os(t), this.chars = [], this.words = [], this.lines = [], this._originals = [], this.vars = e || {}, this.split(e) } var e = t.prototype; return e.split = function(t) { this.isSplit && this.revert(), this.vars = t = t || this.vars, this._originals.length = this.chars.length = this.words.length = this.lines.length = 0; for (var e, n, r, i = this.elements.length, u = t.tag ? t.tag : t.span ? "span" : "div", s = fs(t.wordsClass, u), a = fs(t.charsClass, u); --i > -1;) r = this.elements[i], this._originals[i] = r.innerHTML, e = r.clientHeight, n = r.clientWidth, vs(r, t, s, a), _s(r, t, this.chars, this.words, this.lines, n, e); return this.chars.reverse(), this.words.reverse(), this.lines.reverse(), this.isSplit = !0, this }, e.revert = function() { var t = this._originals; if (!t) throw "revert() call wasn't scoped properly."; return this.elements.forEach((function(e, n) { return e.innerHTML = t[n] })), this.chars = [], this.words = [], this.lines = [], this.isSplit = !1, this }, t.create = function(e, n) { return new t(e, n) }, t }(); ys.version = "3.2.6", wr.registerPlugin(Ue, Er, Le, Le, Pr, xi, Si, $i, Lu, Zu, yr); var Cs = ns = window.punchgs = window.tpGS = {}; for (var xs in Cs.gsap = wr, Cs.TweenLite = Ue, Cs.TweenMax = Er, Cs.TimelineLite = Le, Cs.TimelineMax = Le, Cs.CustomBounce = Pr, Cs.CustomEase = xi, Cs.CustomWiggle = Si, Cs.DrawSVGPlugin = $i, Cs.MotionPathPlugin = Lu, Cs.ScrollToPlugin = Zu, Cs.CSSPlugin = yr, /*! Map SplitText to tpGS TPGSSPLITTEXT */ Cs.SplitText = ys, Cs.RAD2DEG = 180 / Math.PI, Cs.DEG2RAD = Math.PI / 180, /*! REGISTER MOTION PATH (BEZIER) */ Cs.gsap.registerPlugin(Cs.MotionPathPlugin), Cs.gsap.config({ nullTargetWarn: !1 }), /*!FallBack for old and new Eases*/ Cs.eases = Cs.gsap.parseEase(), Cs.eases) Cs.eases.hasOwnProperty(xs) && void 0 === Cs[xs] && (Cs[xs] = Cs.eases[xs]) /*! FallBack for Essential Grid */ ; void 0 !== ns && void 0 !== ns.TweenLite && void 0 === ns.TweenLite.lagSmoothing && (ns.TweenLite.lagSmoothing = function() {}) }]); /*! - Slider Revolution 6.2.21 JavaScript Plugin - ..........................xXXXXX................. ................. xXXXXX..xXXXXX..xXXXXX......... ..................xXXXXX..xXXXXX..xXXXXX......... ..........xXXXXX..xXXXXX..xXXXXX..xXXXXX......... ..........xXXXXX..xXXXXX..xXXXXX..xXXXXX......... ..........xXXXXX..xXXXXX..xXXXXX..xXXXXX......... ..........xXXXXX..xXXXXX..xXXXXX..xXXXXX......... ..........xXXXXX..xXXXXX..xXXXXX..xXXXXX......... .........,xXXXXX..xXXXXX..xXXXXX..xXXXXX......... .........,xXXXXX..xXXXXX..xXXXXX..xXXXXX......... .........,xXXXXX..xXXXXX..xXXXXX..xXXXXX......... ..........xXXXXX..xXXXXX..xXXXXX..xXXXXX......... .....................xxxxxxxxxxxxxxxxxxx......... .....................xxxxxxxxxxxxxxxxxxx......... .....................xxxxxxxxxxxxxxxxxxx......... VERSION: 6.2.21 DATE: 2020-08-17 @author: Krisztian Horvath, ThemePunch OHG. UPDATES AND DOCS AT: https://www.themepunch.com/support-center GET LICENSE AT: https://www.themepunch.com/links/slider_revolution_wordpress_regular_license LICENSE: Copyright (c) 2009-2019, ThemePunch. All rights reserved. This work is subject to the terms at https://www.themepunch.com/links/slider_revolution_wordpress_regular_license (Regular / Extended) */ ! function(e, t) { "use strict"; var i; window.RSANYID = window.RSANYID === t ? [] : window.RSANYID, window.RSANYID_sliderID = window.RSANYID_sliderID === t ? [] : window.RSANYID_sliderID, e.fn.extend({ revolution: function(o) { return this.each(function() { i = e.fn.revolution; for (var s = document.getElementsByClassName("rs-p-wp-fix"); s[0];) s[0].parentNode.removeChild(s[0]); this.id !== t ? (i[n] = { anyid: [] }, this.id = i.revCheckIDS(n, this, !0)) : this.id = "rs_module_" + Math.round(1e7 * Math.random()); var n = this.id, d = e.extend(!0, {}, o); i[n] = F(o), i[n].ignoreHeightChange = a && "fullscreen" === i[n].sliderLayout && i[n].ignoreHeightChange, i[n].option_export = d, i[n].anyid = [], i[n].c = e(this), i[n].cpar = i[n].c.parent(), i[n].canvas = i[n].c.find("rs-slides"), i[n].caches = { calcResponsiveLayersList: [], contWidthManager: {} }, window.RSBrowser = window.RSBrowser === t ? i.get_browser() : window.RSBrowser, i[n].noDetach = i[n].BUG_ie_clipPath = "Edge" === window.RSBrowser || "IE" === window.RSBrowser, i[n].indexhelper = 0, i[n].level = 0, i[n].rtl = e("body").hasClass("rtl"), i[n]._L = i[n]._L === t ? {} : i[n]._L, i[n].emptyObject = "{}", i[n].dimensionReCheck = {}, i.globalListener === t && i.pageHandler(n), i[n].stopAfterLoops != t && i[n].stopAfterLoops > -1 ? i[n].looptogo = i[n].stopAfterLoops : i[n].looptogo = "disabled", i[n].BUG_safari_clipPath = "Safari" === i.get_browser() && i.get_browser_version() > "12", i[n].minHeight = "fullwidth" === i[n].sliderLayout ? 0 : i[n].minHeight != t && "" !== i[n].minHeight ? parseInt(i[n].minHeight, 0) : 0, i[n].minHeight = i[n].minHeight === t ? 0 : i[n].minHeight, i[n].isEdge = "Edge" === i.get_browser(), r(n), i.updateVisibleArea(n), l(n), W(n), window.requestAnimationFrame(function() { if ("fullscreen" === i[n].sliderLayout) { var e = i.getFullscreenOffsets(n); 0 !== e && i[n].cpar.height(i.getWinH(n) - e) } i[n].cpar[0].style.visibility = "visible" }), "hero" == i[n].sliderType && i[n].c.find("rs-slide").each(function(t) { t > 0 && e(this).remove() }), i[n].navigation.use = "hero" !== i[n].sliderType && ("carousel" == i[n].sliderType || i[n].navigation.keyboardNavigation || "on" == i[n].navigation.mouseScrollNavigation || "carousel" == i[n].navigation.mouseScrollNavigation || i[n].navigation.touch.touchenabled || i[n].navigation.arrows.enable || i[n].navigation.bullets.enable || i[n].navigation.thumbnails.enable || i[n].navigation.tabs.enable), i[n].c.find("rs-bgvideo").each(function() { "RS-BGVIDEO" !== this.tagName || this.id !== t && "" !== this.id || (this.id = "rs-bg-video-" + Math.round(1e6 * Math.random())) }), tpGS.force3D = "auto", !0 === i[n].modal.useAsModal && -1 === i.RS_prioList.indexOf(n) && (i.RS_toInit[n] = !1, i.RS_prioList.push(n)), i.RS_killedlist !== t && -1 !== i.RS_killedlist.indexOf(n) && (i.RS_toInit[n] = !1, i.RS_prioList.push(n)), !0 === i.RS_prioListFirstInit && !0 !== i[n].modal.useAsModal && -1 === i.RS_prioList.indexOf(n) && (i.RS_toInit[n] = !1, i.RS_prioList.push(n)), i.initNextRevslider(n) }) }, getRSJASONOptions: function(e) { console.log(JSON.stringify(i[e].option_export)) }, getRSVersion: function(e) { var t, i, a = window.SliderRevolutionVersion; if (!e) { for (var r in t = i = "---------------------------------------------------------\n", t += " Currently Loaded Slider Revolution & SR Modules :\n" + i, a) a.hasOwnProperty(r) && (t += a[r].alias + ": " + a[r].ver + "\n"); t += i } return e ? a : t }, revremoveslide: function(t) { return this.each(function() { var a = this.id; if (!(t < 0 || t > i[a].slideamount) && i[a] && i[a].slides.length > 0 && (t > 0 || t <= i[a].slides.length)) { var r = i.gA(i[a].slides[t], "key"); i[a].slideamount = i[a].slideamount - 1, i[a].realslideamount = i[a].realslideamount - 1, s("rs-bullet", r, a), s("rs-tab", r, a), s("rs-thumb", r, a), e(i[a].slides[t]).remove(), i[a].thumbs = o(i[a].thumbs, t), i.updateNavIndexes && i.updateNavIndexes(a), t <= i[a].pr_active_key && (i[a].pr_active_key = i[a].pr_active_key - 1) } }) }, revaddcallback: function(e) { return this.each(function() { i[this.id] && (i[this.id].callBackArray === t && (i[this.id].callBackArray = []), i[this.id].callBackArray.push(e)) }) }, revgetparallaxproc: function() { if (i[this[0].id]) return i[this[0].id].scrollproc }, revdebugmode: function() {}, revscroll: function(t) { return this.each(function() { var i = e(this); e("body,html").animate({ scrollTop: i.offset().top + i.height() - t + "px" }, { duration: 400 }) }) }, revredraw: function() { return this.each(function() { f(this.id) }) }, revkill: function() { return this.each(function() { var a = this.id; i[a].c.data("conthover", 1), i[a].c.data("conthoverchanged", 1), i[a].c.trigger("revolution.slide.onpause"), i[a].tonpause = !0, i[a].c.trigger("stoptimer"), i[a].sliderisrunning = !1; var r = "updateContainerSizes." + i[a].c.attr("id"); i.window.unbind(r), tpGS.gsap.killTweensOf(i[a].c.find("*"), !1), tpGS.gsap.killTweensOf(i[a].c, !1), i[a].c.unbind("hover, mouseover, mouseenter,mouseleave, resize"), i[a].c.find("*").each(function() { var i = e(this); i.unbind("on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer"), i.off("on, hover, mouseenter,mouseleave,mouseover, resize"), i.data("mySplitText", null), i.data("ctl", null), i.data("tween") != t && i.data("tween").kill(), i.data("pztl") != t && i.data("pztl").kill(), i.data("timeline_out") != t && i.data("timeline_out").kill(), i.data("timeline") != t && i.data("timeline").kill(), i.remove(), i.empty(), i = null }), tpGS.gsap.killTweensOf(i[a].c.find("*"), !1), tpGS.gsap.killTweensOf(i[a].c, !1), i[a].progressC.remove(); try { i[a].c.closest(".rev_slider_wrapper").detach() } catch (e) {} try { i[a].c.closest("rs-fullwidth-wrap").remove() } catch (e) {} try { i[a].c.closest("rs-module-wrap").remove() } catch (e) {} try { i[a].c.remove() } catch (e) {} i[a].cpar.detach(), i[a].c.html(""), i[a].c = null, delete i[a], i.RS_prioList.splice(i.RS_prioList.indexOf(a), 1), i.RS_toInit[a] = !1, i.RS_killedlist = i.RS_killedlist === t ? [] : i.RS_killedlist, -1 === i.RS_killedlist.indexOf(a) && i.RS_killedlist.push(a) }) }, revpause: function() { return this.each(function() { var a = e(this); a != t && a.length > 0 && e("body").find("#" + a.attr("id")).length > 0 && (a.data("conthover", 1), a.data("conthoverchanged", 1), a.trigger("revolution.slide.onpause"), i[this.id].tonpause = !0, a.trigger("stoptimer")) }) }, revresume: function() { return this.each(function() { if (i[this.id] !== t) { var a = e(this); a.data("conthover", 0), a.data("conthoverchanged", 1), a.trigger("revolution.slide.onresume"), i[this.id].tonpause = !1, a.trigger("starttimer") } }) }, revmodal: function(a) { var r = this instanceof e ? this[0] : this, o = r.id; i[r.id] !== t && i.revModal(o, a) }, revstart: function() { var a = this instanceof e ? this[0] : this; return i[a.id] === t ? (console.log("Slider is Not Existing"), !1) : i[a.id].sliderisrunning || !0 === i[a.id].initEnded ? (console.log("Slider Is Running Already"), !1) : (i[a.id].c = e(a), i[a.id].canvas = i[a.id].c.find("rs-slides"), u(a.id), !0) }, revnext: function() { return this.each(function() { i[this.id] !== t && i.callingNewSlide(this.id, 1, "carousel" === i[this.id].sliderType) }) }, revprev: function() { return this.each(function() { i[this.id] !== t && i.callingNewSlide(this.id, -1, "carousel" === i[this.id].sliderType) }) }, revmaxslide: function() { return e(this).find("rs-slide").length }, revcurrentslide: function() { if (i[e(this)[0].id] !== t) return parseInt(i[e(this)[0].id].pr_active_key, 0) + 1 }, revlastslide: function() { return e(this).find("rs-slide").length }, revshowslide: function(e) { return this.each(function() { i[this.id] !== t && e !== t && i.callingNewSlide(this.id, "to" + (e - 1)) }) }, revcallslidewithid: function(e) { return this.each(function() { i[this.id] !== t && i.callingNewSlide(this.id, e, "carousel" === i[this.id].sliderType) }) } }), i = e.fn.revolution, e.extend(!0, i, { pageHandler: function(r) { window._TA = i, window._T = i[r], i.globalListener = !0, i.window = e(window), i.document = e(document), i.RS_toInit = {}, i.RS_prioList = [], i.RS_swapping = [], i.RS_swapList = {}, window.isSafari11 === t && (window.isSafari11 = i.isSafari11()), window.addEventListener("resize", i.getWindowDimension), a && window.addEventListener("orientationchange", function() { i.getWindowDimension(!1), setTimeout(function() { i.getWindowDimension(!0) }, 400) }), i.getWindowDimension(!1), i.stickySupported = !1, "IE" !== window.RSBrowser && (i.stickySupported = !0, /*! Custom Eases */ tpGS.SFXBounceLite = tpGS.CustomBounce.create("SFXBounceLite", { strength: .3, squash: 1, squashID: "SFXBounceLite-squash" }), tpGS.SFXBounceSolid = tpGS.CustomBounce.create("SFXBounceSolid", { strength: .5, squash: 2, squashID: "SFXBounceSolid-squash" }), tpGS.SFXBounceStrong = tpGS.CustomBounce.create("SFXBounceStrong", { strength: .7, squash: 3, squashID: "SFXBounceStrong-squash" }), tpGS.SFXBounceExtrem = tpGS.CustomBounce.create("SFXBounceExtrem", { strength: .9, squash: 4, squashID: "SFXBounceExtrem-squash" }), tpGS.BounceLite = tpGS.CustomBounce.create("BounceLite", { strength: .3 }), tpGS.BounceSolid = tpGS.CustomBounce.create("BounceSolid", { strength: .5 }), tpGS.BounceStrong = tpGS.CustomBounce.create("BounceStrong", { strength: .7 }), tpGS.BounceExtrem = tpGS.CustomBounce.create("BounceExtrem", { strength: .9 })), i.checkParrentOverflows(r); var o = document.getElementsByTagName("rs-module"); for (var s in o) o.hasOwnProperty(s) && (i.RS_toInit[o[s].id] = !1, i.RS_prioList.push(o[s].id)); i.nextSlider = r, i.RS_prioListFirstInit = !0 }, checkParrentOverflows: function(e) { window.requestAnimationFrame(function() { for (var t = i[e].cpar[0]; t.parentNode && !1 !== i.stickySupported;) { if ("RS-MODULE-WRAP" !== t.tagName && "RS-FULLWIDTH-WRAP" !== t.tagName && "RS-MODULE-WRAP" !== t.tagName && -1 === t.className.indexOf("wp-block-themepunch-revslider")) { var a = window.getComputedStyle(t); i.stickySupported = "hidden" !== a.overflow && "hidden" !== a.overflowX && "hidden" !== a.overflowY } t = t.parentNode } }) }, initNextRevslider: function(e) { i.RS_prioList[0] === e && !1 === i.RS_toInit[e] ? (i.RS_toInit[e] = "waiting", c(e), setTimeout(function() { i.initNextRevslider(e) }, 19)) : i.RS_prioList[0] === e && "waiting" === i.RS_toInit[e] ? setTimeout(function() { i.initNextRevslider(e) }, 19) : i.RS_prioList[0] === e && !0 === i.RS_toInit[e] ? (i.RS_prioList.shift(), 0 !== i.RS_prioList.length && setTimeout(function() { i.initNextRevslider(e) }, 19)) : i.RS_prioList[0] !== e && !1 === i.RS_toInit[e] ? setTimeout(function() { i.initNextRevslider(e) }, 19) : 0 === i.RS_prioList.length && !0 === i.RS_toInit[e] && c(e) }, scrollTicker: function(e) { 1 != i.scrollTickerAdded && (i.slidersToScroll = [], i.scrollTickerAdded = !0, a ? (tpGS.gsap.ticker.fps(150), tpGS.gsap.ticker.add(function() { i.generalObserver() })) : document.addEventListener("scroll", function(e) { i.scrollRaF === t && (i.scrollRaF = requestAnimationFrame(i.generalObserver.bind(this, !0))) }, { passive: !0 })), i.slidersToScroll.push(e), i.generalObserver(a) }, generalObserver: function(e) { for (var t in i.scrollRaF && (i.scrollRaF = cancelAnimationFrame(i.scrollRaF)), i.lastwindowheight = i.lastwindowheight || i.winH, i.scrollY = window.scrollY, i.slidersToScroll) i.slidersToScroll.hasOwnProperty(t) && i.scrollHandling(i.slidersToScroll[t], e) }, enterViewPort: function(a, r) { !0 !== i[a].started ? (i[a].started = !0, setTimeout(function() { R(a), "hero" !== i[a].sliderType && i.manageNavigation && i[a].navigation.use && !0 === i[a].navigation.createNavigationDone && i.manageNavigation(a), i[a].slideamount > 1 && G(a), setTimeout(function() { i[a] !== t && (i[a].revolutionSlideOnLoaded = !0, i[a].c.trigger("revolution.slide.onloaded")) }, 50) }, i[a].startDelay), i[a].startDelay = 0, window.requestAnimationFrame(function() { h(a) })) : (i[a].waitForCountDown && (G(a), i[a].waitForCountDown = !1), "playing" != i[a].sliderlaststatus && i[a].sliderlaststatus != t || i[a].c.trigger("starttimer"), i[a].lastplayedvideos != t && i[a].lastplayedvideos.length > 0 && e.each(i[a].lastplayedvideos, function(e, t) { i.playVideo(t, a) })) }, leaveViewPort: function(a) { i[a].sliderlaststatus = i[a].sliderstatus, i[a].c.trigger("stoptimer"), i[a].playingvideos != t && i[a].playingvideos.length > 0 && (i[a].lastplayedvideos = e.extend(!0, [], i[a].playingvideos), i[a].playingvideos && e.each(i[a].playingvideos, function(e, t) { i[a].leaveViewPortBasedStop = !0, i.stopVideo && i.stopVideo(t, a) })) }, scrollHandling: function(e, a, r, o) { if (i[e] !== t) { var s = i[e].topc !== t ? i[e].topc[0].getBoundingClientRect() : 0 === i[e].conh ? i[e].cpar[0].getBoundingClientRect() : i[e].c[0].getBoundingClientRect(); s.hheight = 0 === s.height ? 0 === i[e].conh ? i[e].height : i[e].conh : s.height, i[e].scrollproc = s.top < 0 || s.hheight > i.lastwindowheight && s.top < i.lastwindowheight ? s.top / s.hheight : s.bottom > i.lastwindowheight ? (s.bottom - i.lastwindowheight) / s.hheight : 0; var n = Math.max(0, 1 - Math.abs(i[e].scrollproc)); i[e].viewPort.enable && ("%" === i[e].viewPort.vaType[i[e].level] && (i[e].viewPort.visible_area[i[e].level] <= n || n >= 0 && n <= 1 && i[e].sbtimeline.fixed) || "px" === i[e].viewPort.vaType[i[e].level] && (s.top <= 0 && s.bottom >= i.lastwindowheight || s.top >= 0 && s.bottom <= i.lastwindowheight || s.top >= 0 && s.top < i.lastwindowheight - i[e].viewPort.visible_area[i[e].level] || s.bottom >= i[e].viewPort.visible_area[i[e].level] && s.bottom < i.lastwindowheight) ? i[e].inviewport || (i[e].inviewport = !0, i.enterViewPort(e, !0), i[e].c.trigger("enterviewport")) : i[e].inviewport && (i[e].inviewport = !1, i.leaveViewPort(e), i[e].c.trigger("leftviewport"))), i[e].inviewport && (i.callBackHandling && i.callBackHandling(e, "parallax", "start"), i.parallaxProcesses(e, s, o, r), i.callBackHandling && i.callBackHandling(e, "parallax", "end")) } }, getWinH: function(e) { return i[e].ignoreHeightChange ? i.mobileWinH : i.winH }, getWindowDimension: function(e) { !1 === e ? (i.winWAll = window.innerWidth, i.winWSbar = document.documentElement.clientWidth, a ? (i.zoom = i.winWSbar / i.winWAll, i.winW = 1 !== i.zoom ? i.winWSbar * i.zoom : Math.min(i.winWAll, i.winWSbar), i.winH = 1 !== i.zoom ? window.innerHeight * i.zoom : window.innerHeight) : (i.scrollBarWidth = i.winWAll - i.winWSbar, i.winW = Math.min(i.winWAll, i.winWSbar), i.winH = window.innerHeight), a && i.winH > 125 && (i.lastwindowheight !== t && Math.abs(i.lastwindowheight - i.winH) < 125 ? i.mobileWinH = i.lastwindowheight : i.mobileWinH = i.winH)) : clearTimeout(i.windowDimenstionDelay), i.windowDimenstionDelay = setTimeout(function() { i.winWAll = window.innerWidth, i.winWSbar = document.documentElement.clientWidth, a ? (i.zoom = i.winWSbar / i.winWAll, i.winW = 1 !== i.zoom ? i.winWSbar * i.zoom : Math.min(i.winWAll, i.winWSbar), i.winH = 1 !== i.zoom ? window.innerHeight * i.zoom : window.innerHeight) : (i.scrollBarWidth = i.winWAll - i.winWSbar, i.winW = Math.min(i.winWAll, i.winWSbar), i.winH = window.innerHeight), a && i.winH > 125 && (i.lastwindowheight !== t && Math.abs(i.lastwindowheight - i.winH) < 125 ? i.mobileWinH = i.lastwindowheight : i.mobileWinH = i.winH), !1 !== e && i.document.trigger("updateContainerSizes") }, 100) }, sA: function(e, t, i) { e && e.setAttribute && e.setAttribute("data-" + t, i) }, gA: function(e, i, a) { return e === t ? t : e.hasAttribute && e.hasAttribute("data-" + i) && e.getAttribute("data-" + i) !== t && null !== e.getAttribute("data-" + i) ? e.getAttribute("data-" + i) : a !== t ? a : t }, iWA: function(e, a) { return i[e].justifyCarousel ? "static" === a ? i[e].carousel.wrapwidth : i[e].carousel.slide_widths[a !== t ? a : i[e].carousel.focused] : i[e].gridwidth[i[e].level] }, iHE: function(e, t) { return i[e].useFullScreenHeight ? i[e].conh : Math.max(i[e].currentRowsHeight, i[e].gridheight[i[e].level]) }, updateFixedScrollTimes: function(e) { !0 === i[e].sbtimeline.set && !0 === i[e].sbtimeline.fixed && "auto" !== i[e].sliderLayout && (i[e].sbtimeline.rest = i[e].duration - i[e].sbtimeline.fixEnd, i[e].sbtimeline.time = i[e].duration - (i[e].sbtimeline.fixStart + i[e].sbtimeline.rest), i[e].sbtimeline.extended = i[e].sbtimeline.time / 10) }, addSafariFix: function(e) { !0 === window.isSafari11 && !0 !== i[e].safari3dFix && (i[e].safari3dFix = !0, i[e].c[0].className += " safarifix") }, callContWidthManager: function(e) { i.contWidthManager(e, "CallContWidthManager") }, showModalCover: function(a, r, o) { switch (o) { case "show": var s; r.spin !== t && "off" !== r.spin && (s = i.buildSpinner(a, "spinner" + r.spin, r.spinc, "modalspinner")), r.bg !== t && !1 !== r.bg && "false" !== r.bg && "transparent" !== r.bg ? (i[a].modalLoader = e(''), e("body").append(i[a].modalLoader), tpGS.gsap.set(i[a].modalLoader, { display: "none", background: r.bg, opacity: 0 }), tpGS.gsap.to(i[a].modalLoader, .5, { display: "block", opacity: 1, ease: "power3.inOut" }), i.isModalOpen = !0, s !== t && i[a].modalLoader.append(s)) : s !== t && i[a].c.append(s); break; case "hide": i[a].modalLoader !== t ? (i[a].modalLoader.find(".modalspinner").remove(), tpGS.gsap.to(i[a].modalLoader, 2, { delay: 1, display: "none", opacity: 0, ease: "power3.in", onComplete: function() { i.isModalOpen = !1 } })) : i[a].c.find(".modalspinner").remove() } }, revModal: function(a, r) { if (a !== t && i[a] !== t && "clicked" !== i[a].modal.closeProtection) { if (!0 === i[a].modal.closeProtection) return i[a].modal.closeProtection, void setTimeout(function() { i[a].modal.closeProtection = !1, i.revModal(a, r) }, 750); switch (r.mode) { case "show": if (!0 === i[a].modal.isLive) return; i[a].modal.isLive = !0, r.slide = r.slide === t ? "to0" : r.slide, i[a].modal.bodyclass !== t && i[a].modal.bodyclass.length >= 0 && document.body.classList.add(i[a].modal.bodyclass), tpGS.gsap.to(i[a].modal.bg, 2, { display: "block", opacity: 1, ease: "power3.inOut" }), tpGS.gsap.set(i[a].modal.c, { display: "auto" === i[a].sliderLayout ? "inline-block" : "block", opacity: 0 }), i[a].cpar.removeClass("hideallscrollbars"), tpGS.gsap.set(i[a].cpar, { display: "block", opacity: 1 }); var o = { a: 0 }; i.isModalOpen = !0, tpGS.gsap.fromTo(o, .01, { a: 0 }, { a: 10, ease: "power3.inOut", onStart: function() { i[a].sliderisrunning && i.updateDimensions(a, "revModal") }, onComplete: function() { i.openModalId = a, i[a].sliderisrunning ? i.callingNewSlide(a, r.slide) : ("to0" !== r.slide && (i[a].startWithSlideKey = r.slide), u(a)) } }), tpGS.gsap.fromTo([i[a].modal.c], .01, { opacity: 0 }, { opacity: 1, delay: .5, ease: "power3.inOut", onComplete: function() {} }), window.overscrollhistory = document.body.style.overflow, setTimeout(function() { document.body.style.overflow = "hidden" }, 250), i.getWindowDimension(); break; case "close": i.openModalId = t, A(a), document.body.style.overflow = window.overscrollhistory, i[a].cpar.addClass("hideallscrollbars"), i[a].modal.bodyclass !== t && i[a].modal.bodyclass.length >= 0 && document.body.classList.remove(i[a].modal.bodyclass), tpGS.gsap.to(i[a].modal.bg, 2, { display: "none", opacity: 0, ease: "power3.inOut" }), tpGS.gsap.to(i[a].modal.c, .3, { display: "none", delay: .5, opacity: 0, onComplete: function() { tpGS.gsap.set(i[a].cpar, { display: "none", opacity: 0 }), i.document.trigger("revolution.all.resize"), i.getWindowDimension(), i.isModalOpen = !1 } }), i[a].modal.closeProtection = !0, setTimeout(function() { i[a].modal.isLive = !1, i[a].modal.closeProtection = !1 }, 750); break; case "init": if (window.RS_60_MODALS = window.RS_60_MODALS === t ? [] : window.RS_60_MODALS, -1 === e.inArray(i[a].modal.alias, window.RS_60_MODALS) && window.RS_60_MODALS.push(i[a].modal.alias), i[a].modal.listener === t && (i[a].modal.c = e("#" + a + "_modal"), i[a].modal.bg = e(''), "auto" === i[a].sliderLayout && i[a].modal.cover ? e("body").append(i[a].modal.bg) : i[a].modal.c.append(i[a].modal.bg), i[a].modal.c[0].className += "rs-modal-" + i[a].sliderLayout, i[a].modal.calibration = { left: "auto" === i[a].sliderLayout ? "center" === i[a].modal.horizontal ? "50%" : "left" === i[a].modal.horizontal ? "0px" : "auto" : "0px", right: "auto" === i[a].sliderLayout ? "center" === i[a].modal.horizontal ? "auto" : "left" === i[a].modal.horizontal ? "auto" : "0px" : "0px", top: "auto" === i[a].sliderLayout || "fullwidth" === i[a].sliderLayout ? "middle" === i[a].modal.vertical ? "50%" : "top" === i[a].modal.vertical ? "0px" : "auto" : "0px", bottom: "auto" === i[a].sliderLayout || "fullwidth" === i[a].sliderLayout ? "middle" === i[a].modal.vertical ? "auto" : "top" === i[a].modal.vertical ? "auto" : "0px" : "0px", y: ("auto" === i[a].sliderLayout || "fullwidth" === i[a].sliderLayout) && "middle" === i[a].modal.vertical ? "-50%" : 0, x: "auto" === i[a].sliderLayout && "center" === i[a].modal.horizontal ? "-50%" : 0 }, "-50%" === i[a].modal.calibration.y && (i[a].modal.calibration.filter = "blur(0px)"), tpGS.gsap.set(i[a].modal.c, "auto" === i[a].sliderLayout || "fullscreen" === i[a].sliderLayout ? e.extend(!0, i[a].modal.calibration, { opacity: 0, display: "none" }) : { opacity: 0, display: "none" }), "fullwidth" === i[a].sliderLayout && tpGS.gsap.set(i[a].modal.c.find("rs-module-wrap"), i[a].modal.calibration), !1 !== i[a].modal.cover && "false" !== i[a].modal.cover || (i[a].modal.coverColor = "transparent"), tpGS.gsap.set(i[a].modal.bg, { display: "none", background: i[a].modal.coverColor, opacity: 0 }), i.document.on("RS_OPENMODAL_" + i[a].modal.alias, function(e, t) { i.revModal(a, { mode: "show", slide: t }) }), i.document.on("click", "rs-modal-cover", function() { i.revModal(i.gA(this, "rid"), { mode: "close" }) }), i[a].modal.listener = !0, i[a].modal.trigger !== t)) { var s, n = i[a].modal.trigger.split(";"); for (o in i[a].modal.trigger = {}, n) if (n.hasOwnProperty(o)) switch ((s = n[o].split(":"))[0]) { case "t": i[a].modal.trigger.time = parseInt(s[1], 0); break; case "s": i[a].modal.trigger.scroll = s[1]; break; case "so": i[a].modal.trigger.scrollo = parseInt(s[1], 0); break; case "e": i[a].modal.trigger.event = s[1] } if (i[a].modal.trigger.time !== t && 0 !== i[a].modal.trigger.time && setTimeout(function() { i.document.trigger("RS_OPENMODAL_" + i[a].modal.alias) }, i[a].modal.trigger.time), i[a].modal.trigger.scrollo !== t || i[a].modal.trigger.scroll !== t) { i[a].modal.trigger.scroll !== t && e(i[a].modal.trigger.scroll)[0] !== t && (i[a].modal.trigger.scroll = e(i[a].modal.trigger.scroll)[0]); var l = function() { if (i[a].modal.trigger.scroll !== t) var e = i[a].modal.trigger.scroll.getBoundingClientRect(); (i[a].modal.trigger.scroll !== t && Math.abs(e.top + (e.bottom - e.top) / 2 - i.getWinH(a) / 2) < 50 || i[a].modal.trigger.scrollo !== t && Math.abs(i[a].modal.trigger.scrollo - (i.scrollY !== t ? i.scrollY : window.scrollY)) < 100) && (i.document.trigger("RS_OPENMODAL_" + i[a].modal.alias), document.removeEventListener("scroll", l)) }; document.addEventListener("scroll", l, { id: a, passive: !0 }) } i[a].modal.trigger.event !== t && i.document.on(i[a].modal.trigger.event, function() { i.document.trigger("RS_OPENMODAL_" + i[a].modal.alias) }) } } } }, smartConvertDivs: function(e) { var t = ""; if ("string" == typeof e && e.indexOf("#") >= 0) { var i = e.split(","), a = i.length - 1; for (var r in i) t = "string" == typeof i[r] && "#" === i[r][0] ? t + i[r][1] / i[r][3] * 100 + "%" + (r < a ? "," : "") : t + i[r] + (r < a ? "," : "") } else t = e; return t }, revToResp: function(e, i, a, r) { if ((e = e === t ? a : e) !== t) { if (r = r === t ? "," : r, "boolean" != typeof e && ("object" != typeof e || Array.isArray(e))) { try { e = e.replace(/[[\]]/g, "").replace(/\'/g, "").split(r) } catch (e) {} for (e = Array.isArray(e) ? e : [e]; e.length < i;) e[e.length] = e[e.length - 1] } return e } }, loadImages: function(a, r, o, s) { if (a !== t && 0 !== a.length) { var n = []; if (e.isArray(a)) for (var l in a) a.hasOwnProperty(l) && a[l] !== t && n.push(a[l]); else n.push(a); for (var d in n) if (n.hasOwnProperty(d)) { var c = n[d].querySelectorAll("img, rs-sbg, .rs-svg"); for (var l in c) if (c.hasOwnProperty(l)) { var p = g(c[l], t, r), u = p !== t ? p : i.gA(c[l], "svg_src") != t ? i.gA(c[l], "svg_src") : c[l].src === t ? e(c[l]).data("src") : c[l].src, h = i.gA(c[l], "svg_src") != t ? "svg" : "img"; u !== t && i[r].loadqueue !== t && 0 == i[r].loadqueue.filter(function(e) { return e.src === u }).length && i[r].loadqueue.push({ src: u, index: l, starttoload: e.now(), type: h || "img", prio: o, progress: c[l].complete && u === c[l].src ? "loaded" : "prepared", static: s, width: c[l].complete && u === c[l].src ? c[l].width : t, height: c[l].complete && u === c[l].src ? c[l].height : t }) } } L(r) } }, waitForCurrentImages: function(r, o, s) { if (r !== t && 0 !== r.length && i[o] !== t) { var n = !1, l = []; if (e.isArray(r)) for (var d in r) r.hasOwnProperty(d) && r[d] !== t && l.push(r[d]); else l.push(r); for (var c in l) if (l.hasOwnProperty(c)) { var p = l[c].querySelectorAll("img, rs-sbg, .rs-svg"); for (d in p) if (p.hasOwnProperty(d) && "length" !== d && !(p[d].className.indexOf("rs-pzimg") >= 0)) { var u = e(p[d]).data(), h = g(p[d], t, o), f = h !== t ? h : i.gA(p[d], "svg_src") != t ? i.gA(p[d], "svg_src") : p[d].src === t ? u.src : p[d].src, m = i.getLoadObj(o, f); if (i.sA(p[d], "src-rs-ref", f), u.loaded === t && m !== t && m.progress && "loaded" == m.progress) { if (p[d].src = m.src, "img" == m.type) { if (u.slidebgimage) { -1 == m.src.indexOf("images/transparent.png") && -1 == m.src.indexOf("assets/transparent.png") || u.bgcolor === t ? p[d].style.backgroundImage = 'url("' + m.src + '")' : u.bgcolor !== t && (p[d].style.background = u.bgcolor), i.sA(l[c], "owidth", m.width), i.sA(l[c], "oheight", m.height); var v = l[c].getElementsByTagName("rs-sbg-wrap"); if (v.length > 0 && (i.sA(v[0], "owidth", m.width), i.sA(v[0], "oheight", m.height)), "carousel" === i[o].sliderType) { var y = e(v), b = i.getSlideIndex(o, i.gA(l[c], "key")); y.data("panzoom") === t || i[o].panzoomTLs !== t && i[o].panzoomTLs[b] !== t || i.startPanZoom(y, o, 0, b, "prepare") } } } else "svg" == m.type && "loaded" == m.progress && (p[d].innerHTML = m.innerHTML); u.loaded = !0 } m && m.progress && m.progress.match(/inprogress|inload|prepared/g) && (!m.error && e.now() - m.starttoload < 3e3 ? n = !0 : (m.progress = "failed", m.reported_img || (m.reported_img = !0, console.log(f + " Could not be loaded !")))), 1 != i[o].youtubeapineeded || window.YT && YT.Player != t || (n = O("youtube", o)), 1 != i[o].vimeoapineeded || window.Vimeo || (n = O("vimeo", o)) } }!a && i[o].audioqueue && i[o].audioqueue.length > 0 && e.each(i[o].audioqueue, function(t, i) { i.status && "prepared" === i.status && e.now() - i.start < i.waittime && (n = !0) }), e.each(i[o].loadqueue, function(t, i) { !0 === i.static && ("loaded" != i.progress && "done" !== i.progress || "failed" === i.progress) && ("failed" != i.progress || i.reported ? !i.error && e.now() - i.starttoload < 5e3 ? n = !0 : i.reported || (i.reported = T(i.src, i.error)) : i.reported = T(i.src, i.error)) }), n ? tpGS.gsap.delayedCall(.02, i.waitForCurrentImages, [r, o, s]) : s !== t && tpGS.gsap.delayedCall(1e-4, s) } }, updateVisibleArea: function(a) { for (var r in i[a].viewPort.visible_area = i.revToResp(i[a].viewPort.visible_area, i[a].rle, "0px"), i[a].viewPort.vaType = new Array(4), i[a].viewPort.visible_area) i[a].viewPort.visible_area.hasOwnProperty(r) && (e.isNumeric(i[a].viewPort.visible_area[r]) && (i[a].viewPort.visible_area[r] += "%"), i[a].viewPort.visible_area[r] !== t && (i[a].viewPort.vaType[r] = i[a].viewPort.visible_area[r].indexOf("%") >= 0 ? "%" : "px"), i[a].viewPort.visible_area[r] = parseInt(i[a].viewPort.visible_area[r], 0), i[a].viewPort.visible_area[r] = "%" == i[a].viewPort.vaType[r] ? i[a].viewPort.visible_area[r] / 100 : i[a].viewPort.visible_area[r]) }, observeFonts: function(e, a, r) { r = r === t ? 0 : r, i.fonts === t && (i.fonts = {}, i.monoWidth = n("monospace"), i.sansWidth = n("sans-serif"), i.serifWidth = n("serif")), r++; var o = i.fonts[e]; !0 !== i.fonts[e] && (i.fonts[e] = i.monoWidth !== n(e + ",monospace") || i.sansWidth !== n(e + ",sans-serif") || i.serifWidth !== n(e + ",serif")), 100 === r || (!1 === o || o === t) && !0 === i.fonts[e] ? (n(e + ",monospace", !0), n(e + ",sans-serif", !0), n(e + ",serif", !0), a()) : setTimeout(function() { i.observeFonts(e, a, r) }, 19) }, getversion: function() { return "Slider Revolution 6.2.21" }, currentSlideIndex: function(e) { return i[e].pr_active_key }, iOSVersion: function() { return !!(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i)) && navigator.userAgent.match(/OS 4_\d like Mac OS X/i) }, isIE: function(t, i) { var a = e('
').appendTo(e("body")); a.html("\x3c!--[if " + (i || "") + " IE " + (t || "") + "]>  1) || i); return i }, is_android: function() { var e = ["android", "Android"], t = !1; for (var i in e) e.hasOwnProperty(i) && (t = !!(t || navigator.userAgent.split(e[i]).length > 1) || t); return t }, callBackHandling: function(t, a, r) { i[t].callBackArray && e.each(i[t].callBackArray, function(e, t) { t && t.inmodule && t.inmodule === a && t.atposition && t.atposition === r && t.callback && t.callback.call() }) }, get_browser: function() { var e, t = navigator.userAgent, i = t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; return /trident/i.test(i[1]) ? (e = /\brv[ :]+(\d+)/g.exec(t) || [], "IE") : "Chrome" === i[1] && null != (e = t.match(/\b(OPR|Edge)\/(\d+)/)) ? e[1].replace("OPR", "Opera") : (i = i[2] ? [i[1], i[2]] : [navigator.appName, navigator.appVersion, "-?"], null != (e = t.match(/version\/(\d+)/i)) && i.splice(1, 1, e[1]), i[0]) }, get_browser_version: function() { var e, t = navigator.appName, i = navigator.userAgent, a = i.match(/(edge|opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); return a && null != (e = i.match(/version\/([\.\d]+)/i)) && (a[2] = e[1]), (a = a ? [a[1], a[2]] : [t, navigator.appVersion, "-?"])[1] }, isFirefox: function(e) { return i[e].isFirefox = i[e].isFirefox === t ? "Firefox" === i.get_browser() : i[e].isFirefox, i[e].isFirefox }, isSafari11: function() { return "safari" === e.trim(i.get_browser().toLowerCase()) && parseFloat(i.get_browser_version()) >= 11 }, isWebkit: function() { var e = /(webkit)[ \/]([\w.]+)/.exec(navigator.userAgent.toLowerCase()); return e && e[1] && "webkit" === e[1] }, getHorizontalOffset: function(e, t) { var i = d(e, ".outer-left"), a = d(e, ".outer-right"); return "left" == t ? i : "right" == t ? a : "all" == t ? { left: i, right: a, both: i + a, inuse: i + a != 0 } : i + a }, getComingSlide: function(a, r) { var o = i[a].pr_next_key !== t ? i[a].pr_next_key : i[a].pr_processing_key !== t ? i[a].pr_processing_key : i[a].pr_active_key, s = 0; if (s = 0, i[a].pr_active_slide !== t && "true" == i.gA(i[a].pr_active_slide[0], "not_in_nav") && (o = i[a].pr_lastshown_key), r !== t && e.isNumeric(r) || r !== t && r.match(/to/g)) s = 1 === r || -1 === r ? parseInt(o, 0) + r < 0 ? i[a].slideamount - 1 : parseInt(o, 0) + r >= i[a].slideamount ? 0 : parseInt(o, 0) + r : (r = e.isNumeric(r) ? r : parseInt(r.split("to")[1], 0)) < 0 ? 0 : r > i[a].slideamount - 1 ? i[a].slideamount - 1 : r; else if (r) for (var n in i[a].slides) i[a].slides.hasOwnProperty(n) && (s = i[a].slides && i[a].slides[n] && i.gA(i[a].slides[n], "key") === r ? n : s); return { nindex: s, aindex: o } }, callingNewSlide: function(e, a, r) { var o = i.getComingSlide(e, a); i[e].pr_next_key = o.nindex, i[e].sdir = i[e].pr_next_key < i[e].pr_active_key ? 1 : 0, r && i[e].carousel !== t && (i[e].carousel.focused = i[e].pr_next_key), i[e].ctNavElement ? i[e].ctNavElement = !1 : i[e].c.trigger("revolution.nextslide.waiting"), (i[e].started && o.aindex === i[e].pr_next_key && o.aindex === i[e].pr_lastshown_key || i[e].pr_next_key !== o.aindex && -1 != i[e].pr_next_key && i[e].pr_lastshown_key !== t) && R(e, r) }, getLoadObj: function(e, a) { var r = i[e].loadqueue !== t && i[e].loadqueue.filter(function(e) { return e.src === a })[0]; return r === t ? { src: a } : r }, updateDimensions: function(e, a) { if (!1 !== i[e].dimensionChanged || i[e].conw === t || i[e].conh === t || 0 === i[e].conw || 0 === i[e].conh) { var r = i[e].width; i[e].height; i[e].navOutterOffsets = i[e].navOutterOffsets === t ? i.getHorizontalOffset(i[e].c, "all") : i[e].navOutterOffsets, i[e].lastconw = i[e].conw, i[e].lastconh = i[e].conh, i[e].conw = i[e].c.width(), i[e].conh = i[e].infullscreenmode ? i[e].minHeight : i[e].c.height(), i[e].width = "carousel" === i[e].sliderType ? i[e].navOutterOffsets.inuse ? i[e].canvas.width() : i[e].conw : i[e].canvasWidth === t ? i[e].canvas.width() : i[e].canvasWidth, i[e].height = "carousel" === i[e].sliderType ? i[e].navOutterOffsets.inuse ? i[e].canvas.height() : i[e].conh : i[e].canvas.height(), i[e].navigation.thumbnails.enable && i[e].navOutterOffsets !== t && 0 !== i[e].navOutterOffsets.both && r !== i[e].width && (v(e), i.setSize(e, !0, "updateDimensions"), "carousel" === i[e].sliderType && i[e].carousel.carouselInitialised && (i.setCarouselDefaults(e), i.organiseCarousel(e, "right", !0, !1, !1)), i[e].conw = i[e].c.width(), i[e].conh = i[e].infullscreenmode ? i[e].minHeight : i[e].c.height()), i[e].dimensionChanged = !1, i.scrollBarWidth > 0 && i.openModalId !== t && e !== i.openModalId && (i[e].lastconw = i[e].lastconw - i.scrollBarWidth, i[e].conw = i[e].conw - i.scrollBarWidth, i[e].width = i[e].width - i.scrollBarWidth), i[e].gridOffsetWidth = (i[e].width - i[e].gridwidth[i[e].level]) / 2, i[e].gridOffsetHeight = (i[e].height - i[e].gridheight[i[e].level]) / 2, !0 !== i[e].navigation.initialised && window.requestAnimationFrame(function() { i[e].width === t && i.updateDimensions(e, "self"), "hero" !== i[e].sliderType && i.createNavigation && i[e].navigation.use && !0 !== i[e].navigation.createNavigationDone && i.createNavigation(e), i.resizeThumbsTabs && i.resizeThumbsTabs && i[e].navigation.use && i.resizeThumbsTabs(e) }), i[e].rebuildProgressBar && window.requestAnimationFrame(function() { C(e) }) } }, getSlideIndex: function(e, t) { var a = !1; for (var r in i[e].slides) { if (!i[e].slides.hasOwnProperty(r) || !1 !== a) continue; a = i.gA(i[e].slides[r], "key") === t ? r : a } return !1 === a ? 0 : a }, loadUpcomingContent: function(e) { if ("smart" == i[e].lazyType) { var t = [], a = parseInt(i.getSlideIndex(e, i.gA(i[e].pr_next_slide[0], "key")), 0), r = a - 1 < 0 ? i[e].realslideamount - 1 : a - 1, o = a + 1 == i[e].realslideamount ? 0 : a + 1; r !== a && t.push(i[e].slides[r]), o !== a && t.push(i[e].slides[o]), t.length > 0 && (i.loadImages(t, e, 2), i.waitForCurrentImages(t, e, function() {})) } }, getFullscreenOffsets: function(a) { var r = 0; if (i[a].fullScreenOffsetContainer != t) { var o = ("" + i[a].fullScreenOffsetContainer).split(","); for (var s in o) o.hasOwnProperty(s) && (r += e(o[s]).outerHeight(!0) || 0) } return i[a].fullScreenOffset != t && (!e.isNumeric(i[a].fullScreenOffset) && i[a].fullScreenOffset.split("%").length > 1 ? r += i.getWinH(a) * parseInt(i[a].fullScreenOffset, 0) / 100 : e.isNumeric(parseInt(i[a].fullScreenOffset, 0)) && (r += parseInt(i[a].fullScreenOffset, 0) || 0)), r }, contWidthManager: function(e, a) { i[e].CWMDONE = !0; var r = i[e].navOutterOffsets !== t ? i[e].navOutterOffsets.both : 0; !i[e].thumbResized && i.resizeThumbsTabs && i[e].navigation.use && i[e].navigation.thumbnails.enable && i.resizeThumbsTabs(e), i[e].navOutterOffsets = i.getHorizontalOffset(i[e].c, "all"); var o, s = i[e].navOutterOffsets.left, n = i[e].blockSpacing !== t && i[e].blockSpacing.left !== t ? parseInt(i[e].blockSpacing.left[i[e].level], 0) : 0, l = n + (i[e].blockSpacing !== t && i[e].blockSpacing.right !== t ? parseInt(i[e].blockSpacing.right[i[e].level], 0) : 0), d = i[e].modal !== t && i[e].modal.useAsModal ? i.winWAll : i.winW; i[e].conw = i[e].conw === t ? i[e].c.width() : i[e].conw, "auto" === i[e].sliderLayout || "fullscreen" === i[e].sliderLayout && !0 === i[e].disableForceFullWidth ? "fullscreen" == i[e].sliderLayout && 1 == i[e].disableForceFullWidth ? o = { left: 0, width: "auto" } : (i[e].canvasWidth = i[e].conw - i[e].navOutterOffsets.both, i[e].navOutterOffsets.both > 0 && tpGS.gsap.set(i[e].canvas, { left: "carousel" === i[e].sliderType && i[e].carousel.wrapoffset > 0 ? 0 : s, width: i[e].canvasWidth })) : o = { left: 0 - Math.ceil(i[e].rsFullWidthWrap.offset().left - (s + n)), width: d - (i[e].navOutterOffsets.both + l) }, o === t || i[e].caches.contWidthManager !== t && i[e].caches.contWidthManager.left === o.left && i[e].caches.contWidthManager.width === o.width || (tpGS.gsap.set(i[e].cpar, o), i[e].caches.contWidthManager = { left: o.left, width: o.width }, i[e].dimensionChanged = !0), "auto" === i[e].sliderLayout && i[e].modal !== t && i[e].modal.useAsModal && (i[e].canvasWidth = Math.min(i[e].gridwidth[i[e].level], d), tpGS.gsap.set([i[e].modal.c, i[e].canvas], { width: i[e].canvasWidth })), i[e].slayers && i[e].slayers.length > 0 && "fullwidth" != i[e].sliderLayout && "fullscreen" != i[e].sliderLayout && tpGS.gsap.set(i[e].slayers, { left: s }), i[e].navOutterOffsets.both !== r && (i[e].dimensionChanged = !0, i.updateDimensions(e, "contWidthManager"), i.updateAnimatingLayerPositions(i[e].lastAnimateLayersCall)), tpGS.gsap.delayedCall(.3, function() { i.isModalOpen || window.innerWidth - document.documentElement.clientWidth === i.scrollBarWidth || (i.winWAll = window.innerWidth, i.winWSbar = document.documentElement.clientWidth, i.scrollBarWidth = i.winWAll - i.winWSbar, i.winW = Math.min(i.winWAll, i.winWSbar), i.document.trigger("updateContainerSizes")) }) }, setSize: function(e, a, r) { var o, s, n = parseInt(i[e].top_outer || 0) + parseInt(i[e].bottom_outer || 0), l = 0, d = 0, c = 0, p = i[e].pr_processing_key || i[e].pr_active_key || 0, g = i[e].pr_active_key || 0, u = {}, h = {}; if (u.marginTop = "carousel" == i[e].sliderType ? parseInt(i[e].carousel.padding_top || 0, 0) : 0, u.marginBottom = "carousel" == i[e].sliderType ? parseInt(i[e].carousel.padding_bottom || 0, 0) : 0, i[e].blockSpacing !== t && tpGS.gsap.set(i[e].blockSpacing.block, { paddingLeft: i[e].blockSpacing.left[i[e].level], paddingRight: i[e].blockSpacing.right[i[e].level], marginTop: i[e].blockSpacing.top[i[e].level], marginBottom: i[e].blockSpacing.bottom[i[e].level] }), i[e].paddings === t && (i[e].paddings = { top: parseInt(i[e].cpar.css("paddingTop"), 0) || 0, bottom: parseInt(i[e].cpar.css("paddingBottom"), 0) || 0 }), i[e].rowzones && i[e].rowzones.length > 0) { if (i[e].rowzones[p] !== t) for (o = 0; o < i[e].rowzones[p].length; o++) i[e].rowzonesHeights[p][o] = i[e].rowzones[p][o][0].offsetHeight, l += i[e].rowzonesHeights[p][o]; if (g !== p) for (o = 0; o < i[e].rowzones[g].length; o++) i[e].rowzonesHeights[g][o] = i[e].rowzones[g][o][0].offsetHeight, d += i[e].rowzonesHeights[g][o]; l = d / 2 > l ? d : l } if (i[e].srowzones && i[e].srowzones.length > 0) for (o = 0; o < i[e].srowzones.length; o++) c += i[e].srowzones[o][0].offsetHeight; if (l = l < c ? c : l, "fullwidth" != i[e].sliderLayout || i[e].autoHeight || (u.maxHeight = Math.max(Math.max(i[e].minHeight, i[e].gridheight[i[e].level]), l), u.maxHeight = 0 !== i[e].maxHeight ? Math.min(i[e].maxHeight, u.maxHeight) : u.maxHeight), i[e].width = i[e].width === t || 0 === i[e].width ? i[e].canvas.width() : i[e].width, i[e].height = i[e].height === t || 0 === i[e].height ? i[e].canvas.height() : i[e].height, "fullscreen" == i[e].sliderLayout || i[e].infullscreenmode) { var f = i.getWinH(e) - i.getFullscreenOffsets(e); i[e].height = Math.max(l, Math.max(f - n, i[e].minHeight)), g !== p && (i[e].currentSlideHeight = Math.max(d, Math.max(f - n, i[e].minHeight)), i[e].slides[g].style.maxHeight = i[e].currentSlideHeight !== i[e].height ? i[e].currentSlideHeight + "px" : "none"), h.height = i[e].height, u.height = "100%" } else i[e].height = Math.round(i[e].gridheight[i[e].level] * (i[e].keepBPHeight ? 1 : i[e].width / i[e].gridwidth[i[e].level])), i[e].height = Math.max(l, Math.max(i[e].autoHeight ? i[e].height : Math.min(i[e].height, i[e].gridheight[i[e].level]), i[e].minHeight)), !1 !== a && (u.height = i[e].height); if (s = u.marginTop + u.marginBottom + n + i[e].height + i[e].paddings.top + i[e].paddings.bottom, u.marginTop = 0, u.marginBottom = 0, !1 !== a && (h.height = s), i[e].sbtimeline.set && i[e].sbtimeline.fixed) { i[e].curheight = s, i[e].sbtimeline.extended === t && i.updateFixedScrollTimes(e); var m = 2 * s + i[e].sbtimeline.extended; m !== i[e].caches.setsize__h && (i[e].caches.setsize__h = m, tpGS.gsap.set(i[e].forcer, { height: m })) } else !1 !== a && s !== i[e].caches.setsize_h && i[e].forcer !== t && (i[e].caches.setsize_h = s, tpGS.gsap.set(i[e].forcer, { height: s })); u !== i[e].emptyObject && JSON.stringify(u) !== i[e].caches.setsizeCOBJ && (i[e].caches.setsizeCOBJ = JSON.stringify(u), tpGS.gsap.set(i[e].c, u)), h !== i[e].emptyObject && JSON.stringify(h) !== i[e].caches.setsizeCPAROBJ && (i[e].caches.setsizeCPAROBJ = JSON.stringify(h), tpGS.gsap.set(i[e].cpar, h)), i[e].currentRowsHeight = l, i[e].modal !== t && i[e].modal.useAsModal && i[e].modal.calibration !== t && "middle" === i[e].modal.vertical && (i[e].modal.calibration.top = i.getWinH(e) < s ? "0%" : "50%", i[e].modal.calibration.y = i.getWinH(e) < s ? "0px" : "-50%", "fullwidth" === i[e].sliderLayout && tpGS.gsap.set(i[e].modal.c.find("rs-module-wrap"), i[e].modal.calibration)), i.requestLayerUpdates(e, "enterstage"), v(e); var y = i[e].inviewport && (i[e].heightInLayers !== t && i[e].height !== i[e].heightInLayers || i[e].widthInLayers !== t && i[e].width !== i[e].widthInLayers); i[e].heightInLayers = t, i[e].widthInLayers = t, y && (i[e].autoHeight && (i[e].dimensionChanged = !0), i.updateDimensions(e, "setSize"), i[e].pr_next_key !== t ? i.animateTheLayers({ slide: i[e].pr_next_key, id: e, mode: "rebuild", caller: "swapSlideProgress_1" }) : i[e].pr_processing_key !== t ? i.animateTheLayers({ slide: i[e].pr_processing_key, id: e, mode: "rebuild", caller: "swapSlideProgress_2" }) : i[e].pr_active_key !== t && i.animateTheLayers({ slide: i[e].pr_active_key, id: e, mode: "rebuild", caller: "swapSlideProgress_3" })) }, unToggleState: function(e) { if (e !== t) for (var i = 0; i < e.length; i++) try { document.getElementById(e[i]).classList.remove("rs-tc-active") } catch (e) {} }, toggleState: function(e) { if (e !== t) for (var i = 0; i < e.length; i++) try { document.getElementById(e[i]).classList.add("rs-tc-active") } catch (e) {} }, swaptoggleState: function(e) { if (e != t && e.length > 0) for (var a = 0; a < e.length; a++) { var r = document.getElementById(e[a]); if (i.gA(r, "toggletimestamp") !== t && (new Date).getTime() - i.gA(r, "toggletimestamp") < 250) return; i.sA(r, "toggletimestamp", (new Date).getTime()), null !== r && (r.className.indexOf("rs-tc-active") >= 0 ? r.classList.remove("rs-tc-active") : r.classList.add("rs-tc-active")) } }, lastToggleState: function(e) { var i; if (e !== t) for (var a = 0; a < e.length; a++) { var r = document.getElementById(e[a]); i = !0 === i || null !== r && r.className.indexOf("rs-tc-active") >= 0 || i } return i }, revCheckIDS: function(a, r) { if (i.gA(r, "idcheck") === t) { var o = r.id, s = e.inArray(r.id, window.RSANYID), n = -1; - 1 !== s && (n = e.inArray(r.id, i[a].anyid), window.RSANYID_sliderID[s] === a && -1 === n || (r.id = r.id + "_" + Math.round(9999 * Math.random()), console.log("Warning - ID:" + o + " exists already. New Runtime ID:" + r.id), s = n = -1)), -1 === n && i[a].anyid.push(r.id), -1 === s && (window.RSANYID.push(r.id), window.RSANYID_sliderID.push(a)) } return i.sA(r, "idcheck", !0), r.id }, buildSpinner: function(i, a, r, o) { var s; if ("off" !== a) { o = o === t ? "" : o, r = r === t ? "#ffffff" : r; var n = parseInt(a.replace("spinner", ""), 10); if (isNaN(n) || n < 6) { var l = 'style="background-color:' + r + '"', d = o === t || 3 !== n && 4 != n ? "" : l; s = e("
') } else { var c, p = '
2 && (c = "rgba(" + c[0].trim() + ", " + c[1].trim() + ", " + c[2].trim() + ", "), c && "string" == typeof c && (p += ' style="border-top-color: ' + c + "0.65); border-bottom-color: " + c + "0.15); border-left-color: " + c + "0.65); border-right-color: " + c + '0.15)"'); else 12 === n && (p += ' style="background:' + r + '"'); p += ">"; for (var g = [10, 0, 4, 2, 5, 9, 0, 4, 4, 2][n - 6], u = 0; u < g; u++) u > 0 && (p += " "), p += ''; s = e('' + (p += "
") + "
") } return s } }, playBGVideos: function(r, o) { i[r].pr_next_slide.find("rs-bgvideo").each(function(s) { if (a && !i[r].fallbacks.allowHTML5AutoPlayOnAndroid) return !1; if (!0 !== i[r].videos[this.id].waitToSlideTrans || "swapSlideProgress" !== o) { var n = e(this); i.resetVideo(n, r, !1, !0), i[r].videoOutAnim !== t && i[r].videoOutAnim[this.id] !== t && i[r].videoOutAnim[this.id].pause(), tpGS.gsap.to(n, .01, { autoAlpha: 1, ease: "power3.out", onComplete: function() { i.animcompleted(n, r, !0) } }) } else { n = e(this); i.resetVideo(n, r, !1, !0) } }) } }); var a = i.is_mobile(), r = (i.is_android(), function(e) { i[e].responsiveLevels = i.revToResp(i[e].responsiveLevels, i[e].rle), i[e].visibilityLevels = i.revToResp(i[e].visibilityLevels, i[e].rle), i[e].responsiveLevels[0] = 9999, i[e].rle = i[e].responsiveLevels.length || 1, i[e].gridwidth = i.revToResp(i[e].gridwidth, i[e].rle), i[e].gridheight = i.revToResp(i[e].gridheight, i[e].rle), i[e].editorheight !== t && (i[e].editorheight = i.revToResp(i[e].editorheight, i[e].rle)), l(e), v(e); var a = Math.max(i[e].minHeight, i[e].gridheight[i[e].level] * i[e].bw); i[e].editorheight !== t && (a = Math.max(a, i[e].editorheight[i[e].level] * i[e].bw)), i[e].cpar !== t && i[e].cpar[0].offsetHeight < a ? tpGS.gsap.set([i[e].cpar, i[e].c], { height: a }) : tpGS.gsap.set(i[e].c, { height: a }) }), o = function(t, i) { var a = []; return e.each(t, function(e, t) { e != i && a.push(t) }), a }, s = function(t, a, r) { i[r].c.find(t).each(function() { var t = e(this); t.data("key") === a && t.remove() }) }, n = function(e, a) { if (i["rsfont_" + e] == t && (i["rsfont_" + e] = document.createElement("span"), i["rsfont_" + e].innerHTML = Array(100).join("wi"), i["rsfont_" + e].style.cssText = ["position:absolute", "width:auto", "font-size:128px", "left:-99999px"].join(" !important;"), i["rsfont_" + e].style.fontFamily = e, document.body.appendChild(i["rsfont_" + e])), a === t) return i["rsfont_" + e].clientWidth; document.body.removeChild(i["rsfont_" + e]) }, l = function(t, a) { var r = 9999, o = 0, s = 0, n = a && 9999 == i[t].responsiveLevels ? i[t].visibilityLevels : i[t].responsiveLevels; n && n.length && e.each(n, function(e, a) { i.winWAll < a && (0 == o || o > parseInt(a)) && (r = parseInt(a), i[t].level = e, o = parseInt(a)), i.winWAll > a && o < a && (o = parseInt(a), s = e) }), o < r && (i[t].level = s), i[t].levelForced = i[t].level }, d = function(t, i) { var a = 0; return t.find(i).each(function() { var t = e(this); !t.hasClass("tp-forcenotvisible") && a < t.outerWidth() && (a = t.outerWidth()) }), a }, c = function(r) { if (r === t || i[r] === t || i[r].c === t) return !1; if (i[r].cpar !== t && i[r].cpar.data("aimg") != t && ("enabled" == i[r].cpar.data("aie8") && i.isIE(8) || "enabled" == i[r].cpar.data("amobile") && a)) i[r].c.html(''); else { window._rs_firefox13 = !1, window._rs_ie = window._rs_ie === t ? !e.support.opacity : window._rs_ie, window._rs_ie9 = window._rs_ie9 === t ? 9 == document.documentMode : window._rs_ie9; var o = e.fn.jquery.split("."), s = parseFloat(o[0]), n = parseFloat(o[1]); 1 == s && n < 7 && i[r].c.html('
The Current Version of jQuery:' + o + "
Please update your jQuery Version to min. 1.7 in Case you wish to use the Revolution Slider Plugin
"), s > 1 && (window._rs_ie = !1), i[r].realslideamount = i[r].slideamount = 0; var l = i[r].canvas[0].getElementsByTagName("rs-slide"), d = []; for (var c in i[r].notInNav = [], i[r].slides = [], l) l.hasOwnProperty(c) && ("on" == i.gA(l[c], "hsom") && a ? d.push(l[c]) : (i.gA(l[c], "invisible") || 1 == i.gA(l[c], "invisible") ? i[r].notInNav.push(l[c]) : (i[r].slides.push(l[c]), i[r].slideamount++), i[r].realslideamount++, i.sA(l[c], "originalindex", i[r].realslideamount), i.sA(l[c], "origindex", i[r].realslideamount - 1))); for (c in d) d.hasOwnProperty(c) && d[c].remove(); for (c in i[r].notInNav) i[r].notInNav.hasOwnProperty(c) && (i.sA(i[r].notInNav[c], "not_in_nav", !0), i[r].canvas[0].appendChild(i[r].notInNav[c])); if (i[r].canvas.css({ visibility: "visible" }), i[r].slayers = i[r].c.find("rs-static-layers"), i[r].slayers.length > 0 && i.sA(i[r].slayers[0], "key", "staticlayers"), !0 === i[r].modal.useAsModal && (i[r].cpar.wrap(''), i[r].modal.c = i[r].cpar.closest("rs-modal"), i[r].modal.c.appendTo(e("body")), i[r].modal !== t && i[r].modal.alias !== t && i.revModal(r, { mode: "init" })), 1 == i[r].waitForInit || 1 == i[r].modal.useAsModal) return i.RS_toInit !== t && (i.RS_toInit[r] = !0), i[r].c.trigger("revolution.slide.waitingforinit"), void(i[r].waitingForInit = !0); window.requestAnimationFrame(function() { u(r) }), i[r].initEnded = !0 } }, p = function() { e("body").data("rs-fullScreenMode", !e("body").data("rs-fullScreenMode")), e("body").data("rs-fullScreenMode") && setTimeout(function() { i.window.trigger("resize") }, 200) }, g = function(e, a, r) { return i.gA(e, "lazyload") !== t ? i.gA(e, "lazyload") : i[r].lazyloaddata !== t && i[r].lazyloaddata.length > 0 && i.gA(e, i[r].lazyloaddata) !== t ? i.gA(e, i[r].lazyloaddata) : i.gA(e, "lazy-src") !== t ? i.gA(e, "lazy-src") : i.gA(e, "lazy-wpfc-original-src") !== t ? i.gA(e, "lazy-wpfc-original-src") : i.gA(e, "lazy") !== t ? i.gA(e, "lazy") : a }, u = function(r) { if (i[r] !== t) { if (i[r].sliderisrunning = !0, !0 !== i[r].noDetach && i[r].c.detach(), i[r].shuffle) { for (var o = i[r].canvas.find("rs-slide:first-child"), s = i.gA(o[0], "firstanim"), n = 0; n < i[r].slideamount; n++) i[r].canvas.find("rs-slide:eq(" + Math.round(Math.random() * i[r].slideamount) + ")").prependTo(i[r].canvas); i.sA(i[r].canvas.find("rs-slide:first-child")[0], "firstanim", s) } i[r].slides = i[r].canvas[0].getElementsByTagName("rs-slide"), i[r].thumbs = new Array(i[r].slides.length), i[r].slots = 4, i[r].firststart = 1, i[r].loadqueue = [], i[r].syncload = 0; var d = 0, c = "carousel" === i[r].sliderType && i[r].carousel.border_radius !== t ? parseInt(i[r].carousel.border_radius, 0) : 0; for (var u in i[r].slides) if (i[r].slides.hasOwnProperty(u) && "length" !== u) { var h = i[r].slides[u], m = h.getElementsByTagName("img")[0]; i.gA(h, "key") === t && i.sA(h, "key", "rs-" + Math.round(999999 * Math.random())); var v = { params: Array(12), id: i.gA(h, "key"), src: i.gA(h, "thumb") !== t ? i.gA(h, "thumb") : g(m, m !== t ? m.src : t, r) }; i.gA(h, "title") === t && i.sA(h, "title", ""), i.gA(h, "description") === t && i.sA(h, "description", ""), v.params[0] = { from: RegExp("\\{\\{title\\}\\}", "g"), to: i.gA(h, "title") }, v.params[1] = { from: RegExp("\\{\\{description\\}\\}", "g"), to: i.gA(h, "description") }; for (var b = 1; b <= 10; b++) i.gA(h, "p" + b) !== t ? v.params[b + 1] = { from: RegExp("\\{\\{param" + b + "\\}\\}", "g"), to: i.gA(h, "p" + b) } : v.params[b + 1] = { from: RegExp("\\{\\{param" + b + "\\}\\}", "g"), to: "" }; if (i[r].thumbs[d] = e.extend({}, !0, v), c > 0 && tpGS.gsap.set(h, { borderRadius: c + "px" }), i.gA(h, "link") != t || i.gA(h, "linktoslide") !== t) { var _ = i.gA(h, "link") !== t ? i.gA(h, "link") : "slide", w = "slide" != _ ? "no" : i.gA(h, "linktoslide"), x = i.gA(h, "seoz"); if (w != t && "no" != w && "next" != w && "prev" != w) for (var k in i[r].slides) i[r].slides.hasOwnProperty(k) && parseInt(i.gA(i[r].slides[k], "origindex"), 0) + 1 == i.gA(h, "linktoslide") && (w = i.gA(i[r].slides[k], "key")); e(h).prepend('" + (a ? "" : "") + "") } d++ } if (i[r].simplifyAll && (i.isIE(8) || i.iOSVersion()) && (i[r].c.find(".rs-layer").each(function() { var t = e(this); t.removeClass("customin customout").addClass("fadein fadeout"), t.data("splitin", ""), t.data("speed", 400) }), i[r].c.find("rs-slide").each(function() { var t = e(this); t.data("transition", "fade"), t.data("masterspeed", 500), t.data("slotamount", 1), (t.find(".rev-slidebg") || t.find(">img").first()).data("panzoom", null) })), window._rs_desktop = window._rs_desktop === t ? !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i) : window._rs_desktop, i[r].autoHeight = "fullscreen" == i[r].sliderLayout || i[r].autoHeight, "fullwidth" != i[r].sliderLayout || i[r].autoHeight || i[r].c.css({ maxHeight: i[r].gridheight[i[r].level] + "px" }), "auto" == i[r].sliderLayout || 0 != i[r].c.closest("rs-fullwidth-wrap").length || "fullscreen" === i[r].sliderLayout && 1 == i[r].disableForceFullWidth) i[r].topc = i[r].cpar; else { var S = i[r].cpar[0].style.marginTop, L = i[r].cpar[0].style.marginBottom; S = S === t || "" === S ? "" : "margin-top:" + S + ";", L = L === t || "" === L ? "" : "margin-bottom:" + L + ";", i[r].rsFullWidthWrap = i[r].topc = e(''), i[r].forcer = e(''), i[r].topc.append(i[r].forcer), i[r].topc.insertBefore(i[r].cpar), i[r].cpar.detach(), i[r].cpar.css({ marginTop: "0px", marginBottom: "0px", position: "absolute" }), i[r].cpar.prependTo(i[r].topc) } if (i[r].forceOverflow && i[r].topc[0].classList.add("rs-forceoverflow"), "carousel" === i[r].sliderType && !0 !== i[r].overflowHidden && i[r].c.css({ overflow: "visible" }), 0 !== i[r].maxHeight && tpGS.gsap.set([i[r].cpar, i[r].c, i[r].topc], { maxHeight: i[r].maxHeight + "px" }), i[r].fixedOnTop && tpGS.gsap.set(i[r].blockSpacing !== t && i[r].blockSpacing.block !== t ? i[r].blockSpacing.block : i[r].topc, { position: "fixed", top: "0px", left: "0px", pointerEvents: "none", zIndex: 5e3 }), i[r].shadow !== t && i[r].shadow > 0 && i[r].cpar.addClass("tp-shadow" + i[r].shadow).append('
'), l(r), !i[r].c.hasClass("revslider-initialised")) { i[r].c[0].classList.add("revslider-initialised"), i[r].c[0].id = i[r].c[0].id === t ? "revslider-" + Math.round(1e3 * Math.random() + 5) : i[r].c[0].id, i.revCheckIDS(r, i[r].c[0]), i[r].origcd = parseInt(i[r].duration, 0), i[r].scrolleffect._L = [], i[r].sbas = i[r].sbas === t ? {} : i[r].sbas, i[r].layers = i[r].layers || {}, i[r].sortedLayers = i[r].sortedLayers || {}, i[r].c.find("rs-layer, rs-row, rs-column, rs-group, rs-bgvideo, .rs-layer").each(function() { var a, o, s = e(this), n = s.data(); if (n.startclasses = this.className, n.startclasses = n.startclasses === t || null === n.startclasses ? "" : n.startclasses, n.animationonscroll = !!i[r].sbtimeline.set && i[r].sbtimeline.layers, n.animationonscroll = !0 === n.animationonscroll || "true" == n.animationonscroll, n.filteronscroll = !!i[r].scrolleffect.set && i[r].scrolleffect.layers, n.pxundermask = n.startclasses.indexOf("rs-pxmask") >= 0 && "off" !== i[r].parallax.type && n.startclasses.indexOf("rs-pxl-") >= 0, n.noPevents = n.startclasses.indexOf("rs-noevents") >= 0, n.sba) for (var l in a = n.sba.split(";")) a.hasOwnProperty(l) && ("t" == (o = a[l].split(":"))[0] && (n.animationonscroll = o[1], "false" == o[1] && (n.animOnScrollForceDisable = !0)), "e" == o[0] && (n.filteronscroll = o[1]), "so" == o[0] && (n.scrollBasedOffset = parseInt(o[1]) / 1e3)); if ("true" != n.animationonscroll && 1 != n.animationonscroll || (n.startclasses += " rs-sba", s[0].className += " rs-sba"), n.startclasses.indexOf("rs-layer-static") >= 0 && i.handleStaticLayers && i.handleStaticLayers(s, r), "RS-BGVIDEO" !== s[0].tagName) { if (s[0].classList.add("rs-layer"), "column" === n.type && (n.columnwidth = "33.33%", n.verticalalign = "top", n.column !== t)) for (var d in a = n.column.split(";")) a.hasOwnProperty(d) && ("w" === (o = a[d].split(":"))[0] && (n.columnwidth = o[1]), "a" === o[0] && (n.verticalalign = o[1])); var c = n.startclasses.indexOf("slidelink") >= 0 ? "width:100% !important;height:100% !important;" : "", p = "column" !== n.type ? "" : n.verticalalign === t ? " vertical-align:top;" : " vertical-align:" + n.verticalalign + ";", g = "row" === n.type || "column" === n.type ? "position:relative;" : "position:absolute;", u = "", h = "row" === n.type ? "rs-row-wrap" : "column" === n.type ? "rs-column-wrap" : "group" === n.type ? "rs-group-wrap" : "rs-layer-wrap", f = "", m = "", v = (n.noPevents, ";pointer-events:none"); "row" === n.type || "column" === n.type || "group" === n.type ? (s[0].classList.remove("tp-resizeme"), "column" === n.type && (n.width = "auto", s[0].group = "row", tpGS.gsap.set(s, { width: "auto" }), n.filteronscroll = !1)) : (f = "display:" + ("inline-block" === s[0].style.display ? "inline-block" : "block") + ";", s.closest("rs-column").length > 0 ? (s[0].group = "column", n.filteronscroll = !1) : s.closest("rs-group-wrap").length > 0 && (s[0].group = "group", n.filteronscroll = !1)), n.wrpcls !== t && (u = u + " " + n.wrpcls), n.wrpid !== t && (m = 'id="' + n.wrpid + '"'), s.wrap("<" + h + " " + m + ' class="rs-parallax-wrap ' + u + '" style="' + p + " " + c + g + f + v + '">' + (n.pxundermask ? "" : "") + ""), !0 !== n.filteronscroll && "true" != n.filteronscroll || i[r].scrolleffect._L.push(s.parent()), s[0].id = s[0].id === t ? "layer-" + Math.round(999999999 * Math.random()) : s[0].id, i.revCheckIDS(r, s[0]), "column" === n.type && s.closest(".rs-parallax-wrap").append(''), "text" === n.type && s[0].getElementsByTagName("iframe").length > 0 && (i[r].slideHasIframe = !0, s[0].classList.add("rs-ii-o")), i[r].BUG_safari_clipPath && "true" != n.animationonscroll && 1 != n.animationonscroll && s[0].classList.add("rs-pelock") } i.gA(s[0], "actions") && i.checkActions && i.checkActions(s, r, i[r]), !i.checkVideoApis || window.rs_addedvim && window.rs_addedyt || i[r].youtubeapineeded && i[r].vimeoapineeded || i.checkVideoApis(s, r) }), i.checkActions && i.checkActions(t, r), i[r].c[0].addEventListener("mouseenter", function() { i[r].c.trigger("tp-mouseenter"), i[r].overcontainer = !0 }, { passive: !0 }), i[r].c[0].addEventListener("mouseover", function() { i[r].c.trigger("tp-mouseover"), i[r].overcontainer = !0 }, { passive: !0 }), i[r].c[0].addEventListener("mouseleave", function() { i[r].c.trigger("tp-mouseleft"), i[r].overcontainer = !1 }, { passive: !0 }), i[r].c.find(".rs-layer video").each(function(t) { var i = e(this); i.removeClass("video-js vjs-default-skin"), i.attr("preload", ""), i.css({ display: "none" }) }), i[r].rs_static_layer = i[r].c[0].getElementsByTagName("rs-static-layers"), i.preLoadAudio && i[r].rs_static_layer.length > 0 && i.preLoadAudio(e(i[r].rs_static_layer), r, 1), i[r].rs_static_layer.length > 0 && (i.loadImages(i[r].rs_static_layer[0], r, 0, !0), i.waitForCurrentImages(i[r].rs_static_layer[0], r, function() { i[r] !== t && i[r].c.find("rs-static-layers img").each(function() { this.src = i.getLoadObj(r, i.gA(this, "src") != t ? i.gA(this, "src") : this.src).src }) })), i[r].rowzones = [], i[r].rowzonesHeights = [], i[r].middleZones = []; var T = j("#")[0]; if (T !== t && T.length < 9 && T.split("slide").length > 1 && -1 == T.indexOf("slider")) { var O = parseInt(T.split("slide")[1], 0); e.isNumeric(parseInt(O, 0)) && ((O = parseInt(O, 0)) < 1 && (O = 1), O > i[r].slideamount && (O = i[r].slideamount), i[r].startWithSlide = O) } i[r].loader = i.buildSpinner(r, i[r].spinner, i[r].spinnerclr), i[r].loaderVisible = !0, i[r].c.append(i[r].loader), i[r].height = i[r].cpar.height() - ("fullscreen" === i[r].sliderLayout ? i.getFullscreenOffsets(r) : 0), i[r].c.height(i[r].height), y(r), ("off" !== i[r].parallax.type || i[r].scrolleffect.set || i[r].sbtimeline.set) && i.checkForParallax && i.checkForParallax(r), i[r].fallbacks.disableFocusListener || "true" == i[r].fallbacks.disableFocusListener || !0 === i[r].fallbacks.disableFocusListener || (i[r].c.addClass("rev_redraw_on_blurfocus"), H()); var A = i[r].viewPort; for (var b in i[r].slides) if (i[r].slides.hasOwnProperty(b)) { var R = e(i[r].slides[b]); i[r].rowzones[b] = [], i[r].rowzonesHeights[b] = [], i[r].middleZones[b] = [], R.find("rs-zone").each(function() { i[r].rowzones[b].push(e(this)), this.className.indexOf("rev_row_zone_middle") >= 0 && i[r].middleZones[b].push(this) }), (A.enable && i[r].inviewport || !A.enable) && "all" == i[r].lazyType && (i.loadImages(R[0], r, b), i.waitForCurrentImages(R[0], r, function() {})) } i[r].srowzones = [], i[r].smiddleZones = [], i[r].slayers && i[r].slayers.find("rs-zone").each(function() { i[r].srowzones.push(e(this)), this.className.indexOf("rev_row_zone_middle") >= 0 && i[r].smiddleZones.push(this) }), "carousel" === i[r].sliderType && tpGS.gsap.set(i[r].canvas, { scale: 1, perspective: 1200, transformStyle: "flat", opacity: 0 }), i[r].c.prependTo(i[r].cpar), e("body").data("rs-fullScreenMode", !1), window.addEventListener("fullscreenchange", p, { passive: !0 }), window.addEventListener("mozfullscreenchange", p, { passive: !0 }), window.addEventListener("webkitfullscreenchange", p, { passive: !0 }), i.document.on("updateContainerSizes." + i[r].c.attr("id"), function() { if (i[r] !== t) { if (i[r].c == t) return !1; 0 != e("body").find(i[r].c) && (l(r), i.contWidthManager(r, "onResize_RunSlider")), i[r].fullScreenMode = i.checkfullscreenEnabled(r), i[r].c.outerWidth(!0) != i[r].width || i[r].c.is(":hidden") || "fullscreen" == i[r].sliderLayout && i.getWinH(r) != i.lastwindowheight ? (i.lastwindowheight = i.getWinH(r), f(r)) : i[r].levelInLayers !== t && i[r].levelInLayers !== i[r].level && (i.lastwindowheight = i.getWinH(r), f(r)) } }), A.presize && (i[r].pr_next_slide = e(i[r].slides[0]), i.loadImages(i[r].pr_next_slide[0], r, 0, !0), i.waitForCurrentImages(i[r].pr_next_slide.find(".tp-layers"), r, function() { i.animateTheLayers && i.animateTheLayers({ slide: i[r].pr_next_key, id: r, mode: "preset", caller: "runSlider" }) })), ("off" != i[r].parallax.type || i[r].sbtimeline.set || !0 === A.enable) && i.scrollTicker(r), !0 !== A.enable && (i[r].inviewport = !0, i.enterViewPort(r)), i.RS_toInit !== t && (i.RS_toInit[r] = !0) } } }, h = function(e, a) { i.winW < i[e].hideSliderAtLimit ? (i[e].c.trigger("stoptimer"), !0 !== i[e].sliderIsHidden && (i.sA(i[e].cpar[0], "displaycache", "none" != i[e].cpar.css("display") ? i[e].cpar.css("display") : i.gA(i[e].cpar[0], "displaycache")), i[e].cpar.css({ display: "none" }), i[e].sliderIsHidden = !0)) : (!0 === i[e].sliderIsHidden || i[e].sliderIsHidden === t && i[e].c.is(":hidden")) && a && (i[e].cpar[0].style.display = i.gA(i[e].cpar[0], "displaycache") != t && "none" != i.gA(i[e].cpar[0], "displaycache") ? i.gA(i[e].cpar[0], "displaycache") : "block", i[e].sliderIsHidden = !1, i[e].c.trigger("restarttimer"), window.requestAnimationFrame(function() { f(e, !0) })), i.hideUnHideNav && i[e].navigation.use && i.hideUnHideNav(e) }, f = function(e, r) { if (i[e].c === t) return !1; if (i[e].dimensionReCheck = {}, i[e].dimensionChanged = !0, i[e].c.trigger("revolution.slide.beforeredraw"), 1 == i[e].infullscreenmode && (i[e].minHeight = i.getWinH(e)), a && (i[e].lastMobileHeight = i.getWinH(e)), l(e), !i.resizeThumbsTabs || !0 === i.resizeThumbsTabs(e)) { if (window.requestAnimationFrame(function() { h(e, !0 !== r), C(e) }), i[e].widthTester = i[e].width, i[e].canvasWidthTester = i[e].canvasWidth, i.contWidthManager(e, "containerResized_1"), i.updateDimensions(e, "containerResized_1"), i.setSize(e, t, "containerResized_1"), i.contWidthManager(e, "containerResized_2"), i[e].widthTester === i[e].width && i[e].canvasWidthTester === i[e].canvasWidth || (i[e].dimensionChanged = !0, i.updateDimensions(e, "containerResized_2"), i.setSize(e, t, "containerResized_2")), i[e].started) { if ("carousel" == i[e].sliderType && i.prepareCarousel(e), "standard" === i[e].sliderType && i[e].mtl !== t && i.animateSlide({ recall: !0, id: e }), "carousel" === i[e].sliderType && i[e].carCheckconW != i[e].conw && (clearTimeout(i[e].pcartimer), i[e].pcartimer = setTimeout(function() { i.prepareCarousel(e), i.animateTheLayers({ slide: "individual", id: e, mode: "rebuild", caller: "containerResized_1" }), i[e].carCheckconW = i[e].conw }, 100), i[e].lastconw = i[e].conw), i.animateTheLayers && (i[e].pr_processing_key !== t ? i.animateTheLayers({ slide: i[e].pr_processing_key, id: e, mode: "rebuild", caller: "containerResized_2" }) : i[e].pr_active_key !== t && i.animateTheLayers({ slide: i[e].pr_active_key, id: e, mode: "rebuild", caller: "containerResized_3" })), "carousel" === i[e].sliderType) for (var o in i[e].panzoomTLs) i[e].panzoomTLs.hasOwnProperty(o) && i.startPanZoom(i[e].panzoomBGs[o], e, i[e].panzoomTLs[o].progress(), o, i[e].panzoomTLs[o].isActive() ? "play" : "reset"); else m(e, i[e].pr_active_bg), m(e, i[e].pr_next_bg); clearTimeout(i[e].mNavigTimeout), i.manageNavigation && (i[e].mNavigTimeout = setTimeout(function() { i.manageNavigation(e) }, 20)) } i.prepareCoveredVideo(e) } i[e].c.trigger("revolution.slide.afterdraw") }, m = function(e, a) { if (a && a.data("panzoom") !== t) { var r = i.getSlideIndex(e, i.gA(i[e].slides[i[e].pr_active_key], "key")); i.startPanZoom(a, e, i[e].panzoomTLs[r] !== t ? i[e].panzoomTLs[r].progress() : 0, r, "play") } }, v = function(e) { i[e].justifyCarousel ? i[e].bh = i[e].bw = 1 : (i[e].bw = i[e].width / i[e].gridwidth[i[e].level], i[e].bh = i[e].height / i[e].gridheight[i[e].level], i[e].bw = isNaN(i[e].bw) ? 1 : i[e].bw, i[e].bh = isNaN(i[e].bh) ? 1 : i[e].bh, 1 == i[e].enableUpscaling ? i[e].bh = i[e].bw : (i[e].bh > i[e].bw ? i[e].bh = i[e].bw : i[e].bw = i[e].bh, (i[e].bh > 1 || i[e].bw > 1) && (i[e].bw = 1, i[e].bh = 1))) }, y = function(a) { if (!0 !== i[a].noDetach && i[a].canvas.detach(), i[a].autoHeight && tpGS.gsap.set([i[a].c, i[a].cpar], { maxHeight: "none" }), tpGS.gsap.set(i[a].canvas, i[a].modal !== t && i[a].modal.useAsModal ? { overflow: "hidden", width: "100%", height: "100%" } : { overflow: "hidden", width: "100%", height: "100%", maxHeight: i[a].autoHeight ? "none" : i[a].cpar.css("maxHeight") }), "carousel" === i[a].sliderType) { var r = "margin-top:" + parseInt(i[a].carousel.padding_top || 0, 0) + "px;"; i[a].canvas.css({ overflow: "visible" }).wrap(''), i[a].cpar.prepend("").append(""), i.defineCarouselElements(a) } i[a].startWithSlide = i[a].startWithSlide === t ? t : Math.max(1, (i[a].sliderType, parseInt(i[a].startWithSlide))), i[a].cpar.css({ overflow: "visible" }), i[a].scrolleffect.bgs = []; for (var o = 0; o < i[a].slides.length; o++) { var s = e(i[a].slides[o]), n = s.find(">img"), l = s.find("rs-bgvideo"); n.detach(), l.detach(), (i[a].startWithSlide != t && i.gA(i[a].slides[o], "originalindex") == i[a].startWithSlide || i[a].startWithSlide === t && 0 == o) && (i[a].pr_next_key = s.index()), tpGS.gsap.set(s, { width: "100%", height: "100%", overflow: "hidden" }), n.wrap(""); var d = n.closest("rs-sbg-wrap"), c = s.data("mediafilter"), p = b(n.data(), a), u = p.bgcolor !== t && p.bgcolor.indexOf("gradient") >= 0, h = p.bgcolor !== t && p.bgcolor.indexOf("gradient") >= 0 ? "background:" + p.bgcolor + ";" : "background-color:" + p.bgcolor + ";"; p.src = n[0].src, p.lazyload = g(n[0], t, a), p.slidebgimage = !0, c = "none" === c || c === t ? "" : c, l.length > 0 && (l.addClass("defaultvid").css({ zIndex: 30 }), c !== t && "" !== c && "none" !== c && l.addClass(c), l.appendTo(d), p.parallax != t && (l.data("parallax", p.parallax), l.data("showcoveronpause", "on"), l.data("mediafilter", c))), "none" != i[a].dottedOverlay && i[a].dottedOverlay != t && d.append(''), h += (u ? "" : "background-repeat:" + p.bgrepeat + ";background-image:url(" + p.src + ");background-size:" + p.bgfit + ";background-position:" + p.bgposition + ";") + "width:100%;height:100%;", h += "standard" === i[a].sliderType || "undefined" === i[a].sliderType ? "opacity:0;" : "", n.data("mediafilter", c), c = n.data("panzoom") !== t ? "" : c; var f = e("'); d.append(f); var m = document.createComment("Runtime Modification - Img tag is Still Available for SEO Goals in Source - " + n.get(0).outerHTML); n.replaceWith(m), d.data(p), f.data(p), i.gA(s[0], "sba") === t && i.sA(s[0], "sba", ""); var v = {}, y = i.gA(s[0], "sba").split(";"); for (var _ in y) if (y.hasOwnProperty(_)) { var w = y[_].split(":"); switch (w[0]) { case "f": v.f = w[1]; break; case "b": v.b = w[1]; break; case "g": v.g = w[1]; break; case "t": v.s = w[1] } } i.sA(s[0], "scroll-based", !!i[a].sbtimeline.set && (v.s !== t && v.s)), i[a].scrolleffect.set ? (i[a].scrolleffect.bgs.push({ fade: v.f !== t ? v.f : !!i[a].scrolleffect.slide && i[a].scrolleffect.fade, blur: v.b !== t ? v.b : !!i[a].scrolleffect.slide && i[a].scrolleffect.blur, grayscale: v.g !== t ? v.g : !!i[a].scrolleffect.slide && i[a].scrolleffect.grayscale, c: d.wrap("").parent() }), s.prepend(d.parent().parent())) : s.prepend(d.parent()) } "carousel" === i[a].sliderType ? (tpGS.gsap.set(i[a].carousel.wrap, { opacity: 0 }), i[a].c[0].appendChild(i[a].carousel.wrap[0])) : i[a].c[0].appendChild(i[a].canvas[0]) }, b = function(r, o) { r.bg = r.bg === t ? "" : r.bg; var s = r.bg.split(";"), n = { bgposition: "50% 50%", bgfit: "cover", bgrepeat: "no-repeat", bgcolor: "transparent" }; for (var l in s) if (s.hasOwnProperty(l)) { var d = s[l].split(":"), c = d[0], p = d[1], g = ""; switch (c) { case "p": g = "bgposition"; break; case "f": g = "bgfit"; break; case "r": g = "bgrepeat"; break; case "c": g = "bgcolor" } g !== t && (n[g] = p) } return i[o].fallbacks.panZoomDisableOnMobile && a && (n.panzoom = null, n.bgfit = "cover"), e.extend(!0, r, n) }, _ = function(t, a) { a.find(".slot, .slot-circle-wrapper").each(function() { e(this).remove() }), i[t].transition = 0 }, w = function(e) { var i = e; return e != t && e.length > 0 && (i = e.split("?")[0]), i }, x = function(e) { var i = e; return e != t && e.length > 0 && (i = i.replace(document.location.protocol, "")), i }, k = function(e, t) { var i = e.split("/"), a = t.split("/"); i.pop(); for (var r = 0; r < a.length; r++) "." != a[r] && (".." == a[r] ? i.pop() : i.push(a[r])); return i.join("/") }, S = function(e, a, r) { if (i[a] !== t) { for (var o in i[a].syncload--, i[a].loadqueue) if (i[a].loadqueue.hasOwnProperty(o) && "loaded" !== i[a].loadqueue[o].progress) { var s = i[a].loadqueue[o].src !== t ? i[a].loadqueue[o].src.replace(/\.\.\/\.\.\//gi, "") : i[a].loadqueue[o].src; s.indexOf("www.") < 13 && (s = s.replace("www.", "")); var n = e.src.indexOf("www.") < 13 ? e.src.replace("www.", "") : e.src; (s === e.src || x(s) === x(n) || w(document.location.protocol + s) === w(decodeURIComponent(n)) || w(document.location.origin + s) === w(decodeURIComponent(n)) || w(document.location.origin.replace("/www.", "/") + s) === w(decodeURIComponent(n)) || w(document.location.origin.replace("/www.", "/") + s) === w(decodeURIComponent(n).replace("/www.", "/")) || w(self.location.href.substring(0, self.location.href.length - 1) + s) === w(decodeURIComponent(n)) || w(k(self.location.href, i[a].loadqueue[o].src)) === w(decodeURIComponent(n)) || w(document.location.origin + "/" + s) === w(decodeURIComponent(n)) || w(self.location.href.substring(0, self.location.href.length - 1) + "/" + s) === w(decodeURIComponent(n)) || w(i[a].loadqueue[o].src) === w(decodeURIComponent(n)) || "file://" === window.location.origin && w(e.src).match(new RegExp(s))) && (i[a].loadqueue[o].img = e, i[a].loadqueue[o].progress = r, i[a].loadqueue[o].width = e.width, i[a].loadqueue[o].height = e.height) } L(a) } }, L = function(a) { 4 != i[a].syncload && i[a].loadqueue && e.each(i[a].loadqueue, function(r, o) { if ("prepared" == o.progress && i[a].syncload <= 4) { if (i[a].syncload++, "img" == o.type) { var s = new Image; /^([\w]+\:)?\/\//.test(o.src) && -1 === o.src.indexOf(location.host) && "" !== i[a].imgCrossOrigin && i[a].imgCrossOrigin !== t && (s.crossOrigin = i[a].imgCrossOrigin), s.onload = function() { S(this, a, "loaded"), o.error = !1 }, s.onerror = function() { S(this, a, "failed"), o.error = !0 }, s.src = o.src, o.starttoload = e.now() } else e.get(o.src, function(e) { o.innerHTML = (new XMLSerializer).serializeToString(e.documentElement), o.progress = "loaded", i[a].syncload--, L(a) }).fail(function() { o.progress = "failed", i[a].syncload--, L(a) }); o.progress = "inload" } }) }, T = function(e, t) { return console.log("Static Image " + e + " Could not be loaded in time. Error Exists:" + t), !0 }, O = function(t, a) { if (e.now() - i[a][t + "starttime"] > 5e3 && 1 != i[a][t + "warning"]) { i[a][t + "warning"] = !0; var r = t + " Api Could not be loaded !"; "https:" === location.protocol && (r += " Please Check and Renew SSL Certificate !"), console.error(r), i[a].c.append('
' + r + "
") } return !0 }, A = function(a) { i[a] !== t && (i[a].pr_active_slide = e(i[a].slides[i[a].pr_active_key]), i[a].pr_next_slide = e(i[a].slides[i[a].pr_processing_key]), i[a].pr_active_bg = i[a].pr_active_slide.find("rs-sbg-wrap"), i[a].pr_next_bg = i[a].pr_next_slide.find("rs-sbg-wrap"), i[a].pr_active_bg !== t && i[a].pr_active_bg.length > 0 && tpGS.gsap.to(i[a].pr_active_bg, .5, { opacity: 0 }), i[a].pr_next_bg !== t && i[a].pr_next_bg.length > 0 && tpGS.gsap.to(i[a].pr_next_bg, .5, { opacity: 0 }), tpGS.gsap.set(i[a].pr_active_slide, { zIndex: 18 }), i[a].pr_next_slide !== t && i[a].pr_next_slide.length > 0 && tpGS.gsap.set(i[a].pr_next_slide, { autoAlpha: 0, zIndex: 20 }), i[a].tonpause = !1, i[a].pr_active_key !== t && i.removeTheLayers(i[a].pr_active_slide, a, !0), i[a].firststart = 1, setTimeout(function() { delete i[a].pr_active_key, delete i[a].pr_processing_key }, 200)) }, R = function(a, r) { if (i[a] !== t) if (clearTimeout(i[a].waitWithSwapSlide), i[a].pr_processing_key === t || !0 !== i[a].firstSlideShown) { if (clearTimeout(i[a].waitWithSwapSlide), i[a].startWithSlideKey !== t && (i[a].pr_next_key = i.getComingSlide(a, i[a].startWithSlideKey).nindex, delete i[a].startWithSlideKey), i[a].pr_active_slide = e(i[a].slides[i[a].pr_active_key]), i[a].pr_next_slide = e(i[a].slides[i[a].pr_next_key]), i[a].pr_next_key == i[a].pr_active_key) return delete i[a].pr_next_key; i[a].pr_processing_key = i[a].pr_next_key, i[a].pr_cache_pr_next_key = i[a].pr_next_key, delete i[a].pr_next_key, i[a].pr_next_slide !== t && i[a].pr_next_slide[0] !== t && i.gA(i[a].pr_next_slide[0], "hal") !== t && i.sA(i[a].pr_next_slide[0], "sofacounter", i.gA(i[a].pr_next_slide[0], "sofacounter") === t ? 1 : parseInt(i.gA(i[a].pr_next_slide[0], "sofacounter"), 0) + 1), i[a].stopLoop && i[a].pr_processing_key == i[a].lastslidetoshow - 1 && (i[a].progressC.css({ visibility: "hidden" }), i[a].c.trigger("revolution.slide.onstop"), i[a].noloopanymore = 1), i[a].pr_next_slide.index() === i[a].slideamount - 1 && i[a].looptogo > 0 && "disabled" !== i[a].looptogo && (i[a].looptogo--, i[a].looptogo <= 0 && (i[a].stopLoop = !0)), i[a].tonpause = !0, i[a].slideInSwapTimer = !0, i[a].c.trigger("stoptimer"), "off" === i[a].spinner ? i[a].loader !== t && !0 === i[a].loaderVisible && (i[a].loader.css({ display: "none" }), i[a].loaderVisible = !1) : i[a].loadertimer = setTimeout(function() { i[a].loader !== t && !0 !== i[a].loaderVisible && (i[a].loader.css({ display: "block" }), i[a].loaderVisible = !0) }, 50); var o = "carousel" === i[a].sliderType && "all" !== i[a].lazyType ? i.loadVisibleCarouselItems(a) : i[a].pr_next_slide[0]; i.loadImages(o, a, 1), i.preLoadAudio && i.preLoadAudio(i[a].pr_next_slide, a, 1), i.waitForCurrentImages(o, a, function() { i[a].firstSlideShown = !0, i[a].pr_next_slide.find("rs-bgvideo").each(function() { var t = e(this); t.hasClass("HasListener") || (t.data("bgvideo", 1), i.manageVideoLayer(t, a, i.gA(i[a].pr_next_slide[0], "key")), i.prepareCoveredVideo(a)), 0 == t.find(".rs-fullvideo-cover").length && t.append('
') }), i.loadUpcomingContent(a), window.requestAnimationFrame(function() { i.contWidthManager(a, "SwapSlide"), i.setSize(a, !1, "SwapSlide"), I(i[a].pr_next_slide.find("rs-sbg"), a, r), i.setSize(a, t, "SwapSlide Again") }) }) } else i[a].waitWithSwapSlide = setTimeout(function() { R(a, r) }, 18) }, I = function(a, r, o) { if (i[r] !== t) { if (C(r), i[r].pr_active_slide = e(i[r].slides[i[r].pr_active_key]), i[r].pr_next_slide = e(i[r].slides[i[r].pr_processing_key]), i[r].pr_active_bg = i[r].pr_active_slide.find("rs-sbg-wrap"), i[r].pr_next_bg = i[r].pr_next_slide.find("rs-sbg-wrap"), i[r].tonpause = !1, clearTimeout(i[r].loadertimer), i[r].loader !== t && !0 === i[r].loaderVisible && (window.requestAnimationFrame(function() { i[r].loader.css({ display: "none" }) }), i[r].loaderVisible = !1), i[r].onBeforeSwap = { slider: r, slideIndex: parseInt(i[r].pr_active_key, 0) + 1, slideLIIndex: i[r].pr_active_key, nextSlideIndex: parseInt(i[r].pr_processing_key, 0) + 1, nextSlideLIIndex: i[r].pr_processing_key, nextslide: i[r].pr_next_slide, slide: i[r].pr_active_slide, currentslide: i[r].pr_active_slide, prevslide: i[r].pr_lastshown_key !== t ? i[r].slides[i[r].pr_lastshown_key] : "" }, i[r].c.trigger("revolution.slide.onbeforeswap", i[r].onBeforeSwap), i[r].transition = 1, i[r].stopByVideo = !1, i[r].pr_next_slide[0] !== t && i.gA(i[r].pr_next_slide[0], "duration") != t && "" != i.gA(i[r].pr_next_slide[0], "duration") ? i[r].duration = parseInt(i.gA(i[r].pr_next_slide[0], "duration"), 0) : i[r].duration = i[r].origcd, i[r].pr_next_slide[0] === t || "true" != i.gA(i[r].pr_next_slide[0], "ssop") && !0 !== i.gA(i[r].pr_next_slide[0], "ssop") ? i[r].ssop = !1 : i[r].ssop = !0, i[r].sbtimeline.set && i[r].sbtimeline.fixed && i.updateFixedScrollTimes(r), i[r].c.trigger("nulltimer"), i[r].sdir = i[r].pr_processing_key < i[r].pr_active_key ? 1 : 0, "arrow" == i[r].sc_indicator && (0 == i[r].pr_active_key && i[r].pr_processing_key == i[r].slideamount - 1 && (i[r].sdir = 1), i[r].pr_active_key == i[r].slideamount - 1 && 0 == i[r].pr_processing_key && (i[r].sdir = 0)), i[r].lsdir = i[r].sdir, i[r].pr_active_key != i[r].pr_processing_key && 1 != i[r].firststart && "carousel" !== i[r].sliderType && i.removeTheLayers && i.removeTheLayers(i[r].pr_active_slide, r), 1 !== i.gA(i[r].pr_next_slide[0], "rspausetimeronce") && 1 !== i.gA(i[r].pr_next_slide[0], "rspausetimeralways") ? i[r].c.trigger("restarttimer") : (i[r].stopByVideo = !0, i.unToggleState(i[r].slidertoggledby)), i.sA(i[r].pr_next_slide[0], "rspausetimeronce", 0), i[r].pr_next_slide[0] !== t && i.sA(i[r].c[0], "slideactive", i.gA(i[r].pr_next_slide[0], "key")), "carousel" == i[r].sliderType) i[r].mtl = tpGS.gsap.timeline(), i.prepareCarousel(r), z(r), i.playBGVideos(r, "carousel"), i[r].transition = 0; else { i[r].mtl = tpGS.gsap.timeline({ paused: !0, onComplete: function() { z(r) } }), i[r].mtl.add(tpGS.gsap.set(i[r].pr_next_bg.find("rs-sbg"), { opacity: 0 })), i[r].pr_next_key !== t ? i.animateTheLayers({ slide: i[r].pr_next_key, id: r, mode: "preset", caller: "swapSlideProgress_1" }) : i[r].pr_processing_key !== t ? i.animateTheLayers({ slide: i[r].pr_processing_key, id: r, mode: "preset", caller: "swapSlideProgress_2" }) : i[r].pr_active_key !== t && i.animateTheLayers({ slide: i[r].pr_active_key, id: r, mode: "preset", caller: "swapSlideProgress_3" }), 1 == i[r].firststart && (i[r].pr_active_slide[0] !== t && tpGS.gsap.set(i[r].pr_active_slide, { autoAlpha: 0 }), i[r].firststart = 0), i[r].pr_active_slide[0] !== t && tpGS.gsap.set(i[r].pr_active_slide, { zIndex: 18 }), i[r].pr_next_slide[0] !== t && tpGS.gsap.set(i[r].pr_next_slide, { autoAlpha: 0, zIndex: 20 }), "prepared" == i.gA(i[r].pr_next_slide[0], "differentissplayed") && (i.sA(i[r].pr_next_slide[0], "differentissplayed", "done"), i.sA(i[r].pr_next_slide[0], "anim", i.gA(i[r].pr_next_slide[0], "savedanim"))), i.gA(i[r].pr_next_slide[0], "firstanim") != t && "done" != i.gA(i[r].pr_next_slide[0], "differentissplayed") && (i.sA(i[r].pr_next_slide[0], "savedanim", i.gA(i[r].pr_next_slide[0], "anim")), i.sA(i[r].pr_next_slide[0], "anim", i.gA(i[r].pr_next_slide[0], "firstanim")), i.sA(i[r].pr_next_slide[0], "differentissplayed", "prepared")); var s = function(e) { var i = (e = e === t ? "t:random" : e).split(";"), a = {}; for (var r in i) if (i.hasOwnProperty(r)) { var o = i[r].split(":"), s = o[0], n = o[1], l = "transition"; switch (s) { case "ei": l = "easein"; break; case "eo": l = "easeout"; break; case "s": l = "masterspeed"; break; case "sl": l = "slotamount"; break; case "r": l = "rotate" } s !== t && n !== t && (a[l] = n.split(",")) } a.transition === t && (a = { transition: ["fade"] }); return a }(i.gA(i[r].pr_next_slide[0], "anim")); i.sA(i[r].pr_next_slide[0], "ntrid", "on" == i.gA(i[r].pr_next_slide[0], "rndtrans") ? Math.round(80 * Math.random()) : parseInt(i.gA(i[r].pr_next_slide[0], "ntrid"), 0) + 1 || 0), i.sA(i[r].pr_next_slide[0], "ntrid", s.transition === t || i.gA(i[r].pr_next_slide[0], "ntrid") == s.transition.length ? 0 : i.gA(i[r].pr_next_slide[0], "ntrid")), i.animateSlide({ animation: s, ntrid: i.gA(i[r].pr_next_slide[0], "ntrid"), id: r }), i.playBGVideos(r, "swapSlideProgress"), i[r].pr_next_bg.data("panzoom") !== t && (requestAnimationFrame(function() { i.startPanZoom(i[r].pr_next_bg, r, 0, i.getSlideIndex(r, i.gA(i[r].pr_next_slide[0], "key")), "first") }), i[r].mtl.add(tpGS.gsap.set(i[r].pr_next_bg, { autoAlpha: 0, immediateRender: !0 }), 0)), i[r].mtl.pause() } i.animateTheLayers ? "carousel" === i[r].sliderType ? (!1 !== i[r].carousel.showLayersAllTime && (i[r].carousel.allLayersStarted ? i.animateTheLayers({ slide: "individual", id: r, mode: "rebuild", caller: "swapSlideProgress_5" }) : i.animateTheLayers({ slide: "individual", id: r, mode: "start", caller: "swapSlideProgress_4" }), i[r].carousel.allLayersStarted = !0), 0 !== i[r].firststart ? i.animateTheLayers({ slide: 0, id: r, mode: "start", caller: "swapSlideProgress_6" }) : !0 !== o && i.animateTheLayers({ slide: i[r].pr_next_key !== t ? i[r].pr_next_key : i[r].pr_processing_key !== t ? i[r].pr_processing_key : i[r].pr_active_key, id: r, mode: "start", caller: "swapSlideProgress_7" }), i[r].firststart = 0) : i.animateTheLayers({ slide: i[r].pr_next_key !== t ? i[r].pr_next_key : i[r].pr_processing_key !== t ? i[r].pr_processing_key : i[r].pr_active_key, id: r, mode: "start", caller: "swapSlideProgress_8" }) : i[r].mtl != t && setTimeout(function() { i[r].mtl.resume() }, 18), "carousel" !== i[r].sliderType && tpGS.gsap.to(i[r].pr_next_slide, .001, { autoAlpha: 1 }) } }; var z = function(r) { if (i[r] !== t) { if ("done" !== i.RS_swapList[r]) { i.RS_swapList[r] = "done"; var o = e.inArray(r, i.RS_swapping); i.RS_swapping.splice(o, 1) } if (i[r].firstSlideAvailable === t && (i[r].firstSlideAvailable = !0, window.requestAnimationFrame(function() { "hero" !== i[r].sliderType && i.createNavigation && i[r].navigation.use && !0 !== i[r].navigation.createNavigationDone && i.createNavigation(r) })), "carousel" === i[r].sliderType ? tpGS.gsap.to(i[r].carousel.wrap, 1, { opacity: 1 }) : (tpGS.gsap.set(i[r].pr_next_bg.find("rs-sbg"), { zIndex: 20, autoAlpha: 1 }), _(r, i[r].pr_next_slide), i[r].pr_next_slide.index() != i[r].pr_active_slide.index() && i[r].pr_active_slide[0] !== t && (tpGS.gsap.set(i[r].pr_active_slide, { zIndex: 18, autoAlpha: 0 }), _(r, i[r].pr_active_slide))), i[r].pr_active_key = i[r].pr_processing_key !== t ? i[r].pr_processing_key : i[r].pr_active_key, delete i[r].pr_processing_key, "scroll" != i[r].parallax.type && "scroll+mouse" != i[r].parallax.type && "mouse+scroll" != i[r].parallax.type || (i[r].lastscrolltop = -999, i.generalObserver(a)), i[r].mtldiff = i[r].mtl.time(), delete i[r].mtl, i[r].pr_active_key !== t) { i.gA(i[r].slides[i[r].pr_active_key], "sloop") !== t && function(e) { if (i[e] !== t) { i[e].sloops = i[e].sloops === t ? {} : i[e].sloops; var a = i.gA(i[e].slides[i[e].pr_active_key], "key"), r = i[e].sloops[a]; if (r === t) { r = { s: 2500, e: 4500, r: "unlimited" }; var o = i.gA(i[e].slides[i[e].pr_active_key], "sloop").split(";"); for (var s in o) if (o.hasOwnProperty(s)) { var n = o[s].split(":"); switch (n[0]) { case "s": r.s = parseInt(n[1], 0) / 1e3; break; case "e": r.e = parseInt(n[1], 0) / 1e3; break; case "r": r.r = n[1] } } r.r = "unlimited" === r.r ? -1 : parseInt(r.r, 0), i[e].sloops[a] = r, r.key = a } r.ct = { time: r.s }, r.tl = tpGS.gsap.timeline({}), r.timer = tpGS.gsap.fromTo(r.ct, r.e - r.s, { time: r.s }, { time: r.e, ease: "none", onRepeat: function() { for (var a in i[e].layers[r.key]) i[e].layers[r.key].hasOwnProperty(a) && i[e]._L[a].timeline.play(r.s); var o = i[e].progressC; o !== t && o[0] !== t && o[0].tween !== t && o[0].tween.time(r.s) }, onUpdate: function() {}, onComplete: function() {} }).repeat(r.r), r.tl.add(r.timer, r.s), r.tl.time(i[e].mtldiff) } }(r), i.sA(i[r].slides[i[r].activeRSSlide], "isactiveslide", !1), i[r].activeRSSlide = i[r].pr_active_key, i.sA(i[r].slides[i[r].activeRSSlide], "isactiveslide", !0); var s = i.gA(i[r].slides[i[r].pr_active_key], "key"), n = i.gA(i[r].slides[i[r].pr_lastshown_key], "key"); i.sA(i[r].c[0], "slideactive", s), n !== t && i[r].panzoomTLs !== t && i[r].panzoomTLs[i.getSlideIndex(r, n)] !== t && (i[r].panzoomTLs[i.getSlideIndex(r, n)].timeScale(3), i[r].panzoomTLs[i.getSlideIndex(r, n)].reverse()), i[r].pr_next_bg.data("panzoom") !== t && (i[r].panzoomTLs !== t && i[r].panzoomTLs[i.getSlideIndex(r, s)] !== t ? (i[r].panzoomTLs[i.getSlideIndex(r, s)].timeScale(1), i[r].panzoomTLs[i.getSlideIndex(r, s)].play()) : i.startPanZoom(i[r].pr_next_bg, r, 0, i.getSlideIndex(r, s), "play")), "carousel" !== i[r].sliderType && i.playBGVideos(r, "letItFree"), i[r].pr_active_bg.find("rs-bgvideo").each(function(o) { if (a && !i[r].fallbacks.allowHTML5AutoPlayOnAndroid) return !1; var s = e(this); i.stopVideo && (i.resetVideo(s, r), i.stopVideo(s, r)), i[r].videoOutAnim = i[r].videoOutAnim === t ? {} : i[r].videoOutAnim, i[r].videoOutAnim[this.id] = tpGS.gsap.to(s, 1, { autoAlpha: 1, ease: "power3.inOut", delay: .2 }) }); var l = { slider: r, slideIndex: parseInt(i[r].pr_active_key, 0) + 1, slideLIIndex: i[r].pr_active_key, slide: i[r].pr_next_slide, currentslide: i[r].pr_next_slide, prevSlideIndex: i[r].pr_lastshown_key !== t && parseInt(i[r].pr_lastshown_key, 0) + 1, prevSlideLIIndex: i[r].pr_lastshown_key !== t && parseInt(i[r].pr_lastshown_key, 0), prevSlide: i[r].pr_lastshown_key !== t && i[r].slides[i[r].pr_lastshown_key] }; i[r].c.trigger("revolution.slide.onchange", l), i[r].c.trigger("revolution.slide.onafterswap", l), i[r].pr_lastshown_key = i[r].pr_active_key, i[r].startWithSlide !== t && "done" !== i[r].startWithSlide && "carousel" === i[r].sliderType && (i[r].firststart = 0), i[r].duringslidechange = !1, i[r].pr_active_slide.length > 0 && 0 != i.gA(i[r].pr_active_slide[0], "hal") && i.gA(i[r].pr_active_slide[0], "hal") <= i.gA(i[r].pr_active_slide[0], "sofacounter") && i[r].c.revremoveslide(i[r].pr_active_slide.index()); var d = i[r].pr_processing_key || i[r].pr_active_key || 0; i[r].rowzones != t && (d = d > i[r].rowzones.length ? i[r].rowzones.length : d), i[r].rowzones != t && i[r].rowzones.length > 0 && i[r].rowzones[d] != t && d >= 0 && d <= i[r].rowzones.length && i[r].rowzones[d].length > 0 && i.setSize(r, t, "letItFree"), delete i[r].sc_indicator, delete i[r].sc_indicator_dir, i[r].firstLetItFree === t && (i.generalObserver(a), i[r].firstLetItFree = !0) } } }, C = function(a) { var r = i[a].progressBar; if (i[a].progressC === t || 0 == i[a].progressC.length) if (i[a].progressC = e(''), "horizontal" === r.style || "vertical" === r.style) { if ("module" === r.basedon) { for (var o = "", s = 0; s < i[a].slideamount; s++) o += ""; o += ""; for (s = 0; s < i[a].slideamount; s++) o += ""; if (o += "", "nogap" !== r.gaptype) for (s = 0; s < i[a].slideamount; s++) o += ""; i[a].progressC[0].innerHTML = o, !0 === i[a].noDetach && i[a].c.append(i[a].progressC), i[a].progressCBarBGS = i[a].progressC[0].getElementsByTagName("RS-PROGRESS-BG"), i[a].progressCBarGAPS = i[a].progressC[0].getElementsByTagName("RS-PROGRESS-GAP"), "nogap" !== r.gaptype && tpGS.gsap.set(i[a].progressCBarGAPS, { backgroundColor: r.gapcolor, zIndex: "gapbg" === r.gaptype ? 17 : 27 }), tpGS.gsap.set(i[a].progressCBarBGS, { backgroundColor: r.bgcolor }) } else i[a].progressC[0].innerHTML = "", !0 === i[a].noDetach && i[a].c.append(i[a].progressC); i[a].progressCBarInner = i[a].progressC[0].getElementsByTagName("RS-PROGRESS-BAR"), tpGS.gsap.set(i[a].progressCBarInner, { background: r.color }) } else i[a].progressC[0].innerHTML = '', !0 === i[a].noDetach && i[a].c.append(i[a].progressC), i[a].progressCBarInner = i[a].progressC[0].getElementsByClassName("rs-progress-bar")[0], i[a].progressBCanvas = i[a].progressCBarInner.getContext("2d"), i[a].progressBar.degree = "cw" === i[a].progressBar.style ? 360 : 0, P(a); if (!0 !== i[a].noDetach && i[a].progressC.detach(), i[a].progressBar.visibility[i[a].level] && 1 != i[a].progressBar.disableProgressBar) if ("horizontal" === r.style || "vertical" === r.style) { var n, l, d = i[a].slideamount - 1; if ("horizontal" === r.style) { var c = "grid" === r.alignby ? i[a].gridwidth[i[a].level] : i[a].width; n = Math.ceil(c / i[a].slideamount), l = Math.ceil((c - d * r.gapsize) / i[a].slideamount), tpGS.gsap.set(i[a].progressC, { visibility: "visible", top: "top" === r.vertical ? r.y + ("grid" === r.alignby && i[a].gridOffsetHeight !== t ? Math.max(0, i[a].gridOffsetHeight) : 0) : "center" === r.vertical ? "50%" : "auto", bottom: "top" === r.vertical || "center" === r.vertical ? "auto" : r.y + ("grid" === r.alignby && i[a].gridOffsetHeight !== t ? Math.max(0, i[a].gridOffsetHeight) : 0), left: "left" === r.horizontal && "grid" === r.alignby && i[a].gridOffsetWidth !== t ? Math.max(0, i[a].gridOffsetWidth) : "auto", right: "right" === r.horizontal && "grid" === r.alignby && i[a].gridOffsetWidth !== t ? Math.max(0, i[a].gridOffsetWidth) : "auto", y: "center" === r.vertical ? r.y : 0, height: r.size, backgroundColor: "module" === r.basedon ? "transparent" : r.bgcolor, marginTop: "bottom" === r.vertical ? 0 : "top" === r.vertical ? 0 : parseInt(r.size, 0) / 2, width: "grid" === r.alignby ? i[a].gridwidth[i[a].level] : "100%" }), tpGS.gsap.set(i[a].progressCBarInner, { x: "module" === r.basedon ? r.gap ? function(e) { return ("right" === r.horizontal ? d - e : e) * (l + r.gapsize) } : function(e) { return ("right" === r.horizontal ? d - e : e) * n } : 0, width: "module" === r.basedon ? r.gap ? l + "px" : 100 / i[a].slideamount + "%" : "100%" }), "module" === r.basedon && (tpGS.gsap.set(i[a].progressCBarBGS, { x: "module" === r.basedon ? r.gap ? function(e) { return e * (l + r.gapsize) } : function(e) { return e * n } : 0, width: "module" === r.basedon ? r.gap ? l + "px" : 100 / i[a].slideamount + "%" : "100%" }), tpGS.gsap.set(i[a].progressCBarGAPS, { width: r.gap ? r.gapsize + "px" : 0, x: r.gap ? function(e) { return (e + 1) * l + parseInt(r.gapsize, 0) * e } : 0 })) } else if ("vertical" === r.style) { c = "grid" === r.alignby ? i[a].gridheight[i[a].level] : i[a].height; n = Math.ceil(c / i[a].slideamount), l = Math.ceil((c - d * r.gapsize) / i[a].slideamount), tpGS.gsap.set(i[a].progressC, { visibility: "visible", left: "left" === r.horizontal ? r.x + ("grid" === r.alignby && i[a].gridOffsetWidth !== t ? Math.max(0, i[a].gridOffsetWidth) : 0) : "center" === r.horizontal ? "50%" : "auto", right: "left" === r.horizontal || "center" === r.horizontal ? "auto" : r.x + ("grid" === r.alignby && i[a].gridOffsetWidth !== t ? Math.max(0, i[a].gridOffsetWidth) : 0), x: "center" === r.horizontal ? r.x : 0, top: "top" === r.vertical && "grid" === r.alignby && i[a].gridOffsetHeight !== t ? Math.max(i[a].gridOffsetHeight, 0) : "auto", bottom: "bottom" === r.vertical && "grid" === r.alignby && i[a].gridOffsetHeight !== t ? Math.max(i[a].gridOffsetHeight, 0) : "auto", width: r.size, marginLeft: "left" === r.horizontal ? 0 : "right" === r.horizontal ? 0 : parseInt(r.size, 0) / 2, backgroundColor: "module" === r.basedon ? "transparent" : r.bgcolor, height: "grid" === r.alignby ? i[a].gridheight[i[a].level] : "100%" }), tpGS.gsap.set(i[a].progressCBarInner, { y: "module" === r.basedon ? r.gap ? function(e) { return ("bottom" === r.vertical ? d - e : e) * (l + r.gapsize) } : function(e) { return ("bottom" === r.vertical ? d - e : e) * n } : 0, height: "module" === r.basedon ? r.gap ? l + "px" : 100 / i[a].slideamount + "%" : "100%" }), "module" === r.basedon && (tpGS.gsap.set(i[a].progressCBarBGS, { y: "module" === r.basedon ? r.gap ? function(e) { return e * (l + r.gapsize) } : function(e) { return e * n } : 0, height: "module" === r.basedon ? r.gap ? l + "px" : 100 / i[a].slideamount + "%" : "100%" }), tpGS.gsap.set(i[a].progressCBarGAPS, { height: r.gap ? r.gapsize + "px" : 0, y: r.gap ? function(e) { return (e + 1) * l + parseInt(r.gapsize, 0) * e } : 0 })) } } else tpGS.gsap.set(i[a].progressC, { top: "top" === r.vertical ? r.y + ("grid" === r.alignby && i[a].gridOffsetHeight !== t ? Math.max(0, i[a].gridOffsetHeight) : 0) : "center" === r.vertical ? "50%" : "auto", bottom: "top" === r.vertical || "center" === r.vertical ? "auto" : r.y + ("grid" === r.alignby && i[a].gridOffsetHeight !== t ? Math.max(0, i[a].gridOffsetHeight) : 0), left: "left" === r.horizontal ? r.x + ("grid" === r.alignby && i[a].gridOffsetWidth !== t ? Math.max(0, i[a].gridOffsetWidth) : 0) : "center" === r.horizontal ? "50%" : "auto", right: "left" === r.horizontal || "center" === r.horizontal ? "auto" : r.x + ("grid" === r.alignby && i[a].gridOffsetWidth !== t ? Math.max(0, i[a].gridOffsetWidth) : 0), y: "center" === r.vertical ? r.y : 0, x: "center" === r.horizontal ? r.x : 0, width: 2 * r.radius, height: 2 * r.radius, marginTop: "center" === r.vertical ? 0 - r.radius : 0, marginLeft: "center" === r.horizontal ? 0 - r.radius : 0, backgroundColor: "transparent", visibility: "visible" }); else i[a].progressC[0].style.visibility = "hidden"; !0 !== i[a].noDetach && i[a].c.append(i[a].progressC), i[a].gridOffsetWidth === t && "grid" === r.alignby ? i[a].rebuildProgressBar = !0 : i[a].rebuildProgressBar = !1 }, P = function(e) { var t = i[e].progressBar, a = parseInt(t.radius), r = parseInt(t.radius); i[e].progressBCanvas.lineCap = "round", i[e].progressBCanvas.clearRect(0, 0, 2 * t.radius, 2 * t.radius), i[e].progressBCanvas.beginPath(), i[e].progressBCanvas.arc(a, r, t.radius - parseInt(t.size, 0), Math.PI / 180 * 270, Math.PI / 180 * 630), i[e].progressBCanvas.strokeStyle = t.bgcolor, i[e].progressBCanvas.lineWidth = parseInt(t.size, 0) - 1, i[e].progressBCanvas.stroke(), i[e].progressBCanvas.beginPath(), i[e].progressBCanvas.strokeStyle = t.color, i[e].progressBCanvas.lineWidth = parseInt(t.size, 0), i[e].progressBCanvas.arc(a, r, t.radius - parseInt(t.size, 0), Math.PI / 180 * 270, Math.PI / 180 * (270 + i[e].progressBar.degree), "cw" !== t.style), i[e].progressBCanvas.stroke() }, B = function(a) { var r = function() { a !== t && i !== t && i[a] !== t && (0 == e("body").find(i[a].c).length || null === i[a] || null === i[a].c || i[a].c === t || 0 === i[a].length ? (! function(t) { i[t].c.children().each(function() { try { e(this).die("click") } catch (e) {} try { e(this).die("mouseenter") } catch (e) {} try { e(this).die("mouseleave") } catch (e) {} try { e(this).unbind("hover") } catch (e) {} }); try { i[t].c.die("click", "mouseenter", "mouseleave") } catch (e) {} clearInterval(i[t].cdint), i[t].c = null }(a), clearInterval(i[a].cdint)) : (i[a].c.trigger("revolution.slide.slideatend"), 1 == i[a].c.data("conthoverchanged") && (i[a].conthover = i[a].c.data("conthover"), i[a].c.data("conthoverchanged", 0)), i.callingNewSlide(a, 1, !0))) }, o = tpGS.gsap.timeline({ paused: !0 }), s = "reset" === i[a].progressBar.reset || i[a].progressBar.notnew === t ? 0 : .2, n = "slide" === i[a].progressBar.basedon ? 0 : i[a].pr_processing_key !== t ? i[a].pr_processing_key : i[a].pr_active_key; if (n = n === t ? 0 : n, "horizontal" === i[a].progressBar.style) { if (o.add(tpGS.gsap.to(i[a].progressCBarInner[n], s, { scaleX: 0, transformOrigin: "right" === i[a].progressBar.horizontal ? "100% 50%" : "0% 50%" })), o.add(tpGS.gsap.to(i[a].progressCBarInner[n], i[a].duration / 1e3, { transformOrigin: "right" === i[a].progressBar.horizontal ? "100% 50%" : "0% 50%", force3D: "auto", scaleX: 1, onComplete: r, delay: .5, ease: i[a].progressBar.ease })), "module" === i[a].progressBar.basedon) for (var l = 0; l < i[a].slideamount; l++) l !== n && o.add(tpGS.gsap.set(i[a].progressCBarInner[l], { scaleX: l < n ? 1 : 0, transformOrigin: "right" === i[a].progressBar.horizontal ? "100% 50%" : "0% 50%" }), 0) } else if ("vertical" === i[a].progressBar.style) { if (i[a].progressCBarInner[n] !== t && o.add(tpGS.gsap.to(i[a].progressCBarInner[n], s, { scaleY: 0, transformOrigin: "bottom" === i[a].progressBar.vertical ? "50% 100%" : "50% 0%" })), i[a].progressCBarInner[n] !== t && o.add(tpGS.gsap.to(i[a].progressCBarInner[n], i[a].duration / 1e3, { transformOrigin: "bottom" === i[a].progressBar.vertical ? "50% 100%" : "50% 0%", force3D: "auto", scaleY: 1, onComplete: r, delay: .5, ease: i[a].progressBar.ease })), "module" === i[a].progressBar.basedon) for (l = 0; l < i[a].slideamount; l++) l !== n && i[a].progressCBarInner[l] !== t && o.add(tpGS.gsap.set(i[a].progressCBarInner[l], { scaleY: l < n ? 1 : 0, transformOrigin: "botton" === i[a].progressBar.vertical ? "50% 100%" : "50% 0%" }), 0) } else { var d = "slide" === i[a].progressBar.basedon ? 0 : Math.max(0, 360 / i[a].slideamount * n), c = "slide" === i[a].progressBar.basedon ? 360 : 360 / i[a].slideamount * (n + 1); "ccw" === i[a].progressBar.style && "slide" !== i[a].progressBar.basedon && (d = 360 - c, c = 360 - 360 / i[a].slideamount * n), o.add(tpGS.gsap.to(i[a].progressBar, s, { degree: "cw" === i[a].progressBar.style ? d : c, onUpdate: function() { P(a) } })), o.add(tpGS.gsap.to(i[a].progressBar, i[a].duration / 1e3, { degree: "cw" === i[a].progressBar.style ? c : d, onUpdate: function() { P(a) }, onComplete: r, delay: .5, ease: i[a].progressBar.ease })) } return i[a].progressBar.notnew = !0, o }, G = function(e) { i[e].progressC == t && C(e), i[e].loop = 0, i[e].stopAtSlide != t && i[e].stopAtSlide > -1 ? i[e].lastslidetoshow = i[e].stopAtSlide : i[e].lastslidetoshow = 999, i[e].stopLoop = !1, 0 == i[e].looptogo && (i[e].stopLoop = !0), i[e].c.on("stoptimer", function() { i[e].progressC != t && (i[e].progressC[0].tween.pause(), i[e].progressBar.disableProgressBar && (i[e].progressC[0].style.visibility = "hidden"), i[e].sliderstatus = "paused", i[e].slideInSwapTimer || i.unToggleState(i[e].slidertoggledby), i[e].slideInSwapTimer = !1) }), i[e].c.on("starttimer", function() { i[e].progressC != t && (i[e].forcepaused || (1 != i[e].conthover && 1 != i[e].stopByVideo && i[e].width > i[e].hideSliderAtLimit && 1 != i[e].tonpause && 1 != i[e].overnav && 1 != i[e].ssop && (1 === i[e].noloopanymore || i[e].viewPort.enable && !i[e].inviewport || (i[e].progressBar.visibility[i[e].level] || (i[e].progressC[0].style.visibility = "visible"), i[e].progressC[0].tween.resume(), i[e].sliderstatus = "playing")), !i[e].progressBar.disableProgressBar && i[e].progressBar.visibility[i[e].level] || (i[e].progressC[0].style.visibility = "hidden"), i.toggleState(i[e].slidertoggledby))) }), i[e].c.on("restarttimer", function() { if (i[e].progressC != t && !i[e].forcepaused) { if (i[e].mouseoncontainer && "on" == i[e].navigation.onHoverStop && !a) return !1; 1 === i[e].noloopanymore || i[e].viewPort.enable && !i[e].inviewport || 1 == i[e].ssop ? i.unToggleState(i[e].slidertoggledby) : (i[e].progressBar.visibility[i[e].level] || (i[e].progressC[0].style.visibility = "visible"), i[e].progressC[0].tween !== t && i[e].progressC[0].tween.kill(), i[e].progressC[0].tween = B(e), i[e].progressC[0].tween.play(), i[e].sliderstatus = "playing", i.toggleState(i[e].slidertoggledby)), !i[e].progressBar.disableProgressBar && i[e].progressBar.visibility[i[e].level] || (i[e].progressC[0].style.visibility = "hidden"), i[e].mouseoncontainer && 1 == i[e].navigation.onHoverStop && !a && (i[e].c.trigger("stoptimer"), i[e].c.trigger("revolution.slide.onpause")) } }), i[e].c.on("nulltimer", function() { i[e].progressC != t && i[e].progressC[0] !== t && (i[e].progressC[0].tween !== t && i[e].progressC[0].tween.kill(), i[e].progressC[0].tween = B(e), i[e].progressC[0].tween.pause(0), !i[e].progressBar.disableProgressBar && i[e].progressBar.visibility[i[e].level] || (i[e].progressC[0].style.visibility = "hidden"), i[e].sliderstatus = "paused") }), i[e].progressC !== t && (i[e].progressC[0].tween = B(e)), i[e].slideamount > 1 && (0 != i[e].stopAfterLoops || 1 != i[e].stopAtSlide) ? i[e].c.trigger("starttimer") : (i[e].noloopanymore = 1, i[e].c.trigger("nulltimer")), i[e].c.on("tp-mouseenter", function() { i[e].mouseoncontainer = !0, 1 != i[e].navigation.onHoverStop || a || (i[e].c.trigger("stoptimer"), i[e].c.trigger("revolution.slide.onpause")) }), i[e].c.on("tp-mouseleft", function() { i[e].mouseoncontainer = !1, 1 != i[e].c.data("conthover") && 1 == i[e].navigation.onHoverStop && (1 == i[e].viewPort.enable && i[e].inviewport || 0 == i[e].viewPort.enable) && (i[e].c.trigger("revolution.slide.onresume"), i[e].c.trigger("starttimer")) }) }, M = function() { e(".rev_redraw_on_blurfocus").each(function() { var e = this.id; if (i[e] == t || i[e].c == t || 0 === i[e].c.length) return !1; 1 != i[e].windowfocused && (i[e].windowfocused = !0, tpGS.gsap.delayedCall(.1, function() { i[e].fallbacks.nextSlideOnWindowFocus && i[e].c.revnext(), i[e].c.revredraw(), "playing" == i[e].lastsliderstatus && i[e].c.revresume(), i[e].c.trigger("revolution.slide.tabfocused") })) }) }, D = function() { document.hasFocus() || e(".rev_redraw_on_blurfocus").each(function(e) { var a = this.id; i[a].windowfocused = !1, i[a].lastsliderstatus = i[a].sliderstatus, i[a].c.revpause(), i[a].pr_next_bg !== t && i[a].pr_next_bg.data("panzoom") !== t && i.stopPanZoom(i[a].pr_next_bg, i[a]), i[a].pr_active_bg !== t && i[a].pr_active_bg.data("panzoom") !== t && i.stopPanZoom(i[a].pr_active_bg, i[a]), i[a].c.trigger("revolution.slide.tabblured") }) }, H = function() { var e = document.documentMode === t, a = window.chrome; 1 !== i.revslider_focus_blur_listener && (i.revslider_focus_blur_listener = 1, e && !a ? i.window.on("focusin", function() { !0 !== i.windowIsFocused && M(), i.windowIsFocused = !0 }).on("focusout", function() { !0 !== i.windowIsFocused && i.windowIsFocused !== t || D(), i.windowIsFocused = !1 }) : window.addEventListener ? (window.addEventListener("focus", function(e) { !0 !== i.windowIsFocused && M(), i.windowIsFocused = !0 }, { capture: !1, passive: !0 }), window.addEventListener("blur", function(e) { !0 !== i.windowIsFocused && i.windowIsFocused !== t || D(), i.windowIsFocused = !1 }, { capture: !1, passive: !0 })) : (window.attachEvent("focus", function(e) { !0 !== i.windowIsFocused && M(), i.windowIsFocused = !0 }), window.attachEvent("blur", function(e) { !0 !== i.windowIsFocused && i.windowIsFocused !== t || D(), i.windowIsFocused = !1 }))) }, j = function(e) { for (var t, i = [], a = window.location.href.slice(window.location.href.indexOf(e) + 1).split("_"), r = 0; r < a.length; r++) a[r] = a[r].replace("%3D", "="), t = a[r].split("="), i.push(t[0]), i[t[0]] = t[1]; return i }, W = function(e) { if (i[e].blockSpacing !== t) { var a = i[e].blockSpacing.split(";"); for (var r in i[e].blockSpacing = {}, a) if (a.hasOwnProperty(r)) { var o = a[r].split(":"); switch (o[0]) { case "t": i[e].blockSpacing.top = i.revToResp(o[1], 4, 0); break; case "b": i[e].blockSpacing.bottom = i.revToResp(o[1], 4, 0); break; case "l": i[e].blockSpacing.left = i.revToResp(o[1], 4, 0); break; case "r": i[e].blockSpacing.right = i.revToResp(o[1], 4, 0) } } i[e].blockSpacing.block = i[e].c.closest(".wp-block-themepunch-revslider"), i[e].level !== t && i[e].blockSpacing !== t && tpGS.gsap.set(i[e].blockSpacing.block, { paddingLeft: i[e].blockSpacing.left[i[e].level], paddingRight: i[e].blockSpacing.right[i[e].level], marginTop: i[e].blockSpacing.top[i[e].level], marginBottom: i[e].blockSpacing.bottom[i[e].level] }) } }, N = function(e) { return e.charAt(0).toUpperCase() + e.slice(1) }, F = function(i) { return function(i) { for (var a in i.minHeight = i.minHeight !== t ? "none" === i.minHeight || "0" === i.minHeight || "0px" === i.minHeight || "" == i.minHeight || " " == i.minHeight ? 0 : parseInt(i.minHeight, 0) : 0, i.maxHeight = "none" === i.maxHeight || "0" === i.maxHeight ? 0 : parseInt(i.maxHeight, 0), i.carousel.maxVisibleItems = i.carousel.maxVisibleItems < 1 ? 999 : i.carousel.maxVisibleItems, i.carousel.vertical_align = "top" === i.carousel.vertical_align ? "0%" : "bottom" === i.carousel.vertical_align ? "100%" : "50%", i.carousel.space = parseInt(i.carousel.space, 0), i.carousel.maxOpacity = parseInt(i.carousel.maxOpacity, 0), i.carousel.maxOpacity = i.carousel.maxOpacity > 1 ? i.carousel.maxOpacity / 100 : i.carousel.maxOpacity, i.carousel.showLayersAllTime = "true" === i.carousel.showLayersAllTime || !0 === i.carousel.showLayersAllTime ? "all" : i.carousel.showLayersAllTime, i.carousel.maxRotation = parseInt(i.carousel.maxRotation, 0), i.carousel.minScale = parseInt(i.carousel.minScale, 0), i.carousel.minScale = i.carousel.minScale > .9 ? i.carousel.minScale / 100 : i.carousel.minScale, i.carousel.speed = parseInt(i.carousel.speed, 0), i.navigation.maintypes = ["arrows", "tabs", "thumbnails", "bullets"], i.perspective = parseInt(i.perspective, 0), i.navigation.maintypes) i.navigation.maintypes.hasOwnProperty(a) && i.navigation[i.navigation.maintypes[a]] !== t && (i.navigation[i.navigation.maintypes[a]].animDelay = i.navigation[i.navigation.maintypes[a]].animDelay === t ? 1e3 : i.navigation[i.navigation.maintypes[a]].animDelay, i.navigation[i.navigation.maintypes[a]].animSpeed = i.navigation[i.navigation.maintypes[a]].animSpeed === t ? 1e3 : i.navigation[i.navigation.maintypes[a]].animSpeed, i.navigation[i.navigation.maintypes[a]].animDelay = parseInt(i.navigation[i.navigation.maintypes[a]].animDelay, 0) / 1e3, i.navigation[i.navigation.maintypes[a]].animSpeed = parseInt(i.navigation[i.navigation.maintypes[a]].animSpeed, 0) / 1e3); if (e.isNumeric(i.scrolleffect.tilt) || -1 !== i.scrolleffect.tilt.indexOf("%") && (i.scrolleffect.tilt = parseInt(i.scrolleffect.tilt)), i.scrolleffect.tilt = i.scrolleffect.tilt / 100, i.navigation.thumbnails.position = "outer-horizontal" == i.navigation.thumbnails.position ? "bottom" == i.navigation.thumbnails.v_align ? "outer-bottom" : "outer-top" : "outer-vertical" == i.navigation.thumbnails.position ? "left" == i.navigation.thumbnails.h_align ? "outer-left" : "outer-right" : i.navigation.thumbnails.position, i.navigation.tabs.position = "outer-horizontal" == i.navigation.tabs.position ? "bottom" == i.navigation.tabs.v_align ? "outer-bottom" : "outer-top" : "outer-vertical" == i.navigation.tabs.position ? "left" == i.navigation.tabs.h_align ? "outer-left" : "outer-right" : i.navigation.tabs.position, i.sbtimeline.speed = parseInt(i.sbtimeline.speed, 0) / 1e3 || .5, !0 === i.sbtimeline.set && !0 === i.sbtimeline.fixed && "auto" !== i.sliderLayout ? (i.sbtimeline.fixStart = parseInt(i.sbtimeline.fixStart), i.sbtimeline.fixEnd = parseInt(i.sbtimeline.fixEnd)) : i.sbtimeline.fixed = !1, i.progressBar === t || "true" != i.progressBar.disableProgressBar && 1 != i.progressBar.disableProgressBar || (i.progressBar.disableProgressBar = !0), i.startDelay = parseInt(i.startDelay, 0) || 0, i.navigation !== t && i.navigation.arrows != t && i.navigation.arrows.hide_under != t && (i.navigation.arrows.hide_under = parseInt(i.navigation.arrows.hide_under)), i.navigation !== t && i.navigation.bullets != t && i.navigation.bullets.hide_under != t && (i.navigation.bullets.hide_under = parseInt(i.navigation.bullets.hide_under)), i.navigation !== t && i.navigation.thumbnails != t && i.navigation.thumbnails.hide_under != t && (i.navigation.thumbnails.hide_under = parseInt(i.navigation.thumbnails.hide_under)), i.navigation !== t && i.navigation.tabs != t && i.navigation.tabs.hide_under != t && (i.navigation.tabs.hide_under = parseInt(i.navigation.tabs.hide_under)), i.navigation !== t && i.navigation.arrows != t && i.navigation.arrows.hide_over != t && (i.navigation.arrows.hide_over = parseInt(i.navigation.arrows.hide_over)), i.navigation !== t && i.navigation.bullets != t && i.navigation.bullets.hide_over != t && (i.navigation.bullets.hide_over = parseInt(i.navigation.bullets.hide_over)), i.navigation !== t && i.navigation.thumbnails != t && i.navigation.thumbnails.hide_over != t && (i.navigation.thumbnails.hide_over = parseInt(i.navigation.thumbnails.hide_over)), i.navigation !== t && i.navigation.tabs != t && i.navigation.tabs.hide_over != t && (i.navigation.tabs.hide_over = parseInt(i.navigation.tabs.hide_over)), i.lazyloaddata !== t && i.lazyloaddata.length > 0 && i.lazyloaddata.indexOf("-") > 0) { var r = i.lazyloaddata.split("-"); for (i.lazyloaddata = r[0], a = 1; a < r.length; a++) i.lazyloaddata += N(r[a]) } return i.duration = parseInt(i.duration), "single" === i.lazyType && "carousel" === i.sliderType && (i.lazyType = "smart"), "carousel" === i.sliderType && i.carousel.justify && (i.justifyCarousel = !0, i.keepBPHeight = !0), i.enableUpscaling = 1 == i.enableUpscaling && "carousel" !== i.sliderType && "fullwidth" === i.sliderLayout, i.useFullScreenHeight = "carousel" === i.sliderType && "fullscreen" === i.sliderLayout && !0 === i.useFullScreenHeight, i.progressBar.y = parseInt(i.progressBar.y, 0), i.progressBar.x = parseInt(i.progressBar.x, 0), i }(e.extend(!0, { sliderType: "standard", sliderLayout: "auto", dottedOverlay: "none", duration: 9e3, imgCrossOrigin: "", modal: { useAsModal: !1, cover: !0, coverColor: "rgba(0,0,0,0.5)", horizontal: "center", vertical: "middle" }, navigation: { keyboardNavigation: !1, keyboard_direction: "horizontal", mouseScrollNavigation: "off", onHoverStop: !0, mouseScrollReverse: "default", touch: { touchenabled: !1, touchOnDesktop: !1, swipe_treshold: 75, swipe_min_touches: 1, swipe_direction: "horizontal", drag_block_vertical: !1, mobileCarousel: !0, desktopCarousel: !0 }, arrows: { style: "", enable: !1, hide_onmobile: !1, hide_under: 0, hide_onleave: !1, hide_delay: 200, hide_delay_mobile: 1200, hide_over: 9999, tmp: "", rtl: !1, left: { h_align: "left", v_align: "center", h_offset: 20, v_offset: 0, container: "slider" }, right: { h_align: "right", v_align: "center", h_offset: 20, v_offset: 0, container: "slider" } }, bullets: { enable: !1, hide_onmobile: !1, hide_onleave: !1, hide_delay: 200, hide_delay_mobile: 1200, hide_under: 0, hide_over: 9999, direction: "horizontal", h_align: "center", v_align: "bottom", space: 5, h_offset: 0, v_offset: 20, tmp: '', container: "slider", rtl: !1, style: "" }, thumbnails: { container: "slider", rtl: !1, style: "", enable: !1, width: 100, height: 50, min_width: 100, wrapper_padding: 2, wrapper_color: "transparent", tmp: '', visibleAmount: 5, hide_onmobile: !1, hide_onleave: !1, hide_delay: 200, hide_delay_mobile: 1200, hide_under: 0, hide_over: 9999, direction: "horizontal", span: !1, position: "inner", space: 2, h_align: "center", v_align: "bottom", h_offset: 0, v_offset: 20 }, tabs: { container: "slider", rtl: !1, style: "", enable: !1, width: 100, min_width: 100, height: 50, wrapper_padding: 10, wrapper_color: "transparent", tmp: '', visibleAmount: 5, hide_onmobile: !1, hide_onleave: !1, hide_delay: 200, hide_delay_mobile: 1200, hide_under: 0, hide_over: 9999, direction: "horizontal", span: !1, space: 0, position: "inner", h_align: "center", v_align: "bottom", h_offset: 0, v_offset: 20 } }, responsiveLevels: 4064, visibilityLevels: [2048, 1024, 778, 480], gridwidth: 960, gridheight: 500, minHeight: 0, maxHeight: 0, keepBPHeight: !1, useFullScreenHeight: !0, overflowHidden: !1, forceOverflow: !1, fixedOnTop: !1, autoHeight: !1, gridEQModule: !1, disableForceFullWidth: !1, fullScreenOffsetContainer: "", fullScreenOffset: "0", hideLayerAtLimit: 0, hideAllLayerAtLimit: 0, hideSliderAtLimit: 0, progressBar: { disableProgressBar: !1, style: "horizontal", size: "5px", radius: 10, vertical: "bottom", horizontal: "left", x: 0, y: 0, color: "rgba(255,255,255,0.5)", bgcolor: "transparent", basedon: "slide", gapsize: 0, reset: "reset", gaptype: "gapboth", gapcolor: "rgba(255,255,255,0.5)", ease: "none", visibility: { 0: !0, 1: !0, 2: !0, 3: !0 } }, stopAtSlide: -1, stopAfterLoops: 0, shadow: 0, startDelay: 0, lazyType: "none", spinner: "off", shuffle: !1, perspective: "600px", perspectiveType: "local", viewPort: { enable: !1, outof: "wait", visible_area: "200px", presize: !1 }, fallbacks: { isJoomla: !1, panZoomDisableOnMobile: !1, simplifyAll: !0, nextSlideOnWindowFocus: !1, disableFocusListener: !1, allowHTML5AutoPlayOnAndroid: !0 }, parallax: { type: "off", levels: [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85], origo: "enterpoint", disable_onmobile: !1, ddd_shadow: !1, ddd_bgfreeze: !1, ddd_overflow: "visible", ddd_layer_overflow: "visible", ddd_z_correction: 65, speed: 400, speedbg: 0, speedls: 0 }, scrolleffect: { set: !1, fade: !1, blur: !1, scale: !1, grayscale: !1, maxblur: 10, layers: !1, slide: !1, direction: "both", multiplicator: 1.35, multiplicator_layers: .5, tilt: 30, disable_onmobile: !1 }, sbtimeline: { set: !1, fixed: !1, fixStart: 0, fixEnd: 0, layers: !1, slide: !1, ease: "none", speed: 500 }, carousel: { easing: "power3.inOut", speed: 800, showLayersAllTime: !1, horizontal_align: "center", vertical_align: "center", infinity: !1, space: 0, maxVisibleItems: 3, stretch: !1, fadeout: !0, maxRotation: 0, maxOpacity: 100, minScale: 0, offsetScale: !1, vary_fade: !1, vary_rotation: !1, vary_scale: !1, border_radius: "0px", padding_top: 0, padding_bottom: 0 }, extensions: "extensions/", extensions_suffix: ".min.js", stopLoop: !1, waitForInit: !1, ignoreHeightChange: !0 }, i)) } }(jQuery), function($, undefined) { "use strict"; var _R = jQuery.fn.revolution, _ISM = _R.is_mobile(); jQuery.extend(!0, _R, { checkActions: function(e, t) { e === undefined ? moduleEnterLeaveActions(t) : checkActions_intern(e, t) }, getURLDetails: function(e) { (e = e === undefined ? {} : e).url = e.url === undefined ? window.location.href : e.url, e.url = e.url.replace("www", ""), e.protocol = 0 === e.url.indexOf("http://") ? "http://" : 0 === e.url.indexOf("https://") ? "https://" : 0 === e.url.indexOf("//") ? "//" : "relative"; var t = e.url.replace("https://", ""); t = t.replace("http://", ""), "relative" === e.protocol && (t = t.replace("//", "")), t = t.split("#"), e.anchor = (e.anchor === undefined || "" == e.anchor || 0 == e.anchor.length) && t.length > 1 ? t[1] : e.anchor === undefined ? "" : e.anchor.replace("#", ""), e.anchor = e.anchor.split("?"), e.queries = t[0].split("?"), e.queries = e.queries.length > 1 ? e.queries[1] : "", e.queries = e.queries.length > 1 ? e.queries[1] : e.anchor.length > 1 ? e.anchor[1] : e.queries, e.anchor = e.anchor[0]; (t = t[0]).split("/"); var i = t.split("/"); return e.host = i[0], i.splice(0, 1), e.path = "/" + i.join("/"), "/" == e.path[e.path.length - 1] && (e.path = e.path.slice(0, -1)), e.origin = "relative" !== e.protocol ? e.protocol + e.host : window.location.origin.replace("www", "") + window.location.pathname, e.hash = ("" !== e.queries && e.queries !== undefined ? "?" + e.queries : "") + ("" !== e.anchor && e.anchor !== undefined ? "#" + e.anchor : ""), e }, scrollToId: function(e) { var t = "scrollbelow" === e.action ? (getOffContH(_R[e.id].fullScreenOffsetContainer) || 0) - (parseInt(e.offset, 0) || 0) || 0 : 0 - (parseInt(e.offset, 0) || 0), i = "scrollbelow" === e.action ? _R[e.id].c : jQuery("#" + e.anchor), a = i.length > 0 ? i.offset().top : 0, r = { _y: window.pageYOffset !== document.documentElement.scrollTop ? 0 !== window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop : window.pageYOffset }; a += "scrollbelow" === e.action ? jQuery(_R[e.id].slides[0]).height() : 0, tpGS.gsap.to(r, e.speed / 1e3, { _y: a - t, ease: e.ease, onUpdate: function() { _R.document.scrollTop(r._y) }, onComplete: function() { e.hash !== undefined && (window.location.hash = e.hash) } }) } }); var moduleEnterLeaveActions = function(e) { !_R[e].moduleActionsPrepared && _R[e].c[0].getElementsByClassName("rs-on-sh").length > 0 && (_R[e].c.on("tp-mouseenter", function() { _R[e].mouseoncontainer = !0; var t, i = _R[e].pr_next_key !== undefined ? _R[e].pr_next_key : _R[e].pr_processing_key !== undefined ? _R[e].pr_processing_key : _R[e].pr_active_key !== undefined ? _R[e].pr_active_key : _R[e].pr_next_key; if ("none" !== i && i !== undefined) { if ((i = _R.gA(_R[e].slides[i], "key")) !== undefined && _R[e].layers[i]) for (t in _R[e].layers[i]) _R[e].layers[i][t].className.indexOf("rs-on-sh") >= 0 && _R.renderLayerAnimation({ layer: jQuery(_R[e].layers[i][t]), frame: "frame_1", mode: "trigger", id: e }); for (t in _R[e].layers.static) _R[e].layers.static[t].className.indexOf("rs-on-sh") >= 0 && _R.renderLayerAnimation({ layer: jQuery(_R[e].layers.static[t]), frame: "frame_1", mode: "trigger", id: e }) } }), _R[e].c.on("tp-mouseleft", function() { _R[e].mouseoncontainer = !0; var t, i = _R[e].pr_next_key !== undefined ? _R[e].pr_next_key : _R[e].pr_processing_key !== undefined ? _R[e].pr_processing_key : _R[e].pr_active_key !== undefined ? _R[e].pr_active_key : _R[e].pr_next_key; if ("none" !== i && i !== undefined) { if ((i = _R.gA(_R[e].slides[i], "key")) !== undefined && _R[e].layers[i]) for (t in _R[e].layers[i]) _R[e].layers[i][t].className.indexOf("rs-on-sh") >= 0 && _R.renderLayerAnimation({ layer: jQuery(_R[e].layers[i][t]), frame: "frame_999", mode: "trigger", id: e }); for (t in _R[e].layers.static) _R[e].layers.static[t].className.indexOf("rs-on-sh") >= 0 && _R.renderLayerAnimation({ layer: jQuery(_R[e].layers.static[t]), frame: "frame_999", mode: "trigger", id: e }) } })), _R[e].moduleActionsPrepared = !0 }, checkActions_intern = function(layer, id) { var actions = _R.gA(layer[0], "actions"), _L = layer.data(); for (var ei in actions = actions.split("||"), layer.addClass("rs-waction"), _L.events = _L.events === undefined ? [] : _L.events, actions) if (actions.hasOwnProperty(ei)) { var event = getEventParams(actions[ei].split(";")); _L.events.push(event), _R[id].fullscreen_esclistener || "exitfullscreen" != event.action && "togglefullscreen" != event.action || (_R.document.keyup(function(e) { 27 == e.keyCode && jQuery("#rs-go-fullscreen").length > 0 && layer.trigger(event.on) }), _R[id].fullscreen_esclistener = !0); var targetlayer = "backgroundvideo" == event.layer ? jQuery("rs-bgvideo") : "firstvideo" == event.layer ? jQuery("rs-slide").find(".rs-layer-video") : jQuery("#" + event.layer); switch (-1 != jQuery.inArray(event.action, ["toggleslider", "toggle_mute_video", "toggle_global_mute_video", "togglefullscreen"]) && (_L._togglelisteners = !0), event.action) { case "togglevideo": jQuery.each(targetlayer, function() { updateToggleByList(jQuery(this), "videotoggledby", layer[0].id) }); break; case "togglelayer": jQuery.each(targetlayer, function() { updateToggleByList(jQuery(this), "layertoggledby", layer[0].id), jQuery(this).data("triggered_startstatus", event.togglestate) }); break; case "toggle_global_mute_video": case "toggle_mute_video": jQuery.each(targetlayer, function() { updateToggleByList(jQuery(this), "videomutetoggledby", layer[0].id) }); break; case "toggleslider": _R[id].slidertoggledby == undefined && (_R[id].slidertoggledby = []), _R[id].slidertoggledby.push(layer[0].id); break; case "togglefullscreen": _R[id].fullscreentoggledby == undefined && (_R[id].fullscreentoggledby = []), _R[id].fullscreentoggledby.push(layer[0].id) } } _R[id].actionsPrepared = !0, layer.on("click mouseenter mouseleave", function(e) { for (var i in _L.events) if (_L.events.hasOwnProperty(i) && _L.events[i].on === e.type) { var event = _L.events[i]; if ("click" === event.on && layer.hasClass("tp-temporarydisabled")) return !1; var targetlayer = "backgroundvideo" == event.layer ? jQuery(_R[id].slides[_R[id].pr_active_key]).find("rs-sbg-wrap rs-bgvideo") : "firstvideo" == event.layer ? jQuery(_R[id].slides[_R[id].pr_active_key]).find(".rs-layer-video").first() : jQuery("#" + event.layer), tex = targetlayer.length > 0; switch (event.action) { case "menulink": var linkto = _R.getURLDetails({ url: event.url, anchor: event.anchor }), linkfrom = _R.getURLDetails(); linkto.host == linkfrom.host && linkto.path == linkfrom.path && "_self" === event.target ? _R.scrollToId({ id: id, offset: event.offset, action: event.action, anchor: event.anchor, hash: linkto.hash, speed: event.speed, ease: event.ease }) : "_self" === event.target ? window.location = linkto.url + (linkto.anchor !== undefined && "" !== linkto.anchor ? "#" + linkto.anchor : "") : window.open(linkto.url + (linkto.anchor !== undefined && "" !== linkto.anchor ? "#" + linkto.anchor : "")), e.preventDefault(); break; case "nextframe": case "prevframe": case "gotoframe": case "togglelayer": case "toggleframes": case "startlayer": case "stoplayer": if (targetlayer[0] === undefined) continue; var _ = _R[id]._L[targetlayer[0].id], frame = event.frame, tou = "triggerdelay"; if ("click" === e.type && _.clicked_time_stamp !== undefined && (new Date).getTime() - _.clicked_time_stamp < 300) return; if ("mouseenter" === e.type && _.mouseentered_time_stamp !== undefined && (new Date).getTime() - _.mouseentered_time_stamp < 300) return; if (clearTimeout(_.triggerdelayIn), clearTimeout(_.triggerdelayOut), clearTimeout(_.triggerdelay), "click" === e.type && (_.clicked_time_stamp = (new Date).getTime()), "mouseenter" === e.type && (_.mouseentered_time_stamp = (new Date).getTime()), "mouseleave" === e.type && (_.mouseentered_time_stamp = undefined), "nextframe" === event.action || "prevframe" === event.action) { _.forda = _.forda === undefined ? getFordWithAction(_) : _.forda; var inx = jQuery.inArray(_.currentframe, _.ford); for ("nextframe" === event.action && inx++, "prevframe" === event.action && inx--; "skip" !== _.forda[inx] && inx > 0 && inx < _.forda.length - 1;) "nextframe" === event.action && inx++, "prevframe" === event.action && inx--, inx = Math.min(Math.max(0, inx), _.forda.length - 1); frame = _.ford[inx] } jQuery.inArray(event.action, ["toggleframes", "togglelayer", "startlayer", "stoplayer"]) >= 0 && (_.triggeredstate = "startlayer" === event.action || "togglelayer" === event.action && "frame_1" !== _.currentframe || "toggleframes" === event.action && _.currentframe !== event.frameN, "togglelayer" === event.action && !0 === _.triggeredstate && _.currentframe !== undefined && "frame_999" !== _.currentframe && (_.triggeredstate = !1), frame = _.triggeredstate ? "toggleframes" === event.action ? event.frameN : "frame_1" : "toggleframes" === event.action ? event.frameM : "frame_999", tou = _.triggeredstate ? "triggerdelayIn" : "triggerdelayOut", _.triggeredstate ? _R.toggleState(_.layertoggledby) : (_R.stopVideo && _R.stopVideo(targetlayer, id), _R.unToggleState(_.layertoggledby))); var pars = { layer: targetlayer, frame: frame, mode: "trigger", id: id }; !0 === event.children && (pars.updateChildren = !0, pars.fastforward = !0), _R.renderLayerAnimation && (clearTimeout(_[tou]), _[tou] = setTimeout(function(e) { _R.renderLayerAnimation(e) }, 1e3 * event.delay, pars)); break; case "playvideo": tex && _R.playVideo(targetlayer, id); break; case "stopvideo": tex && _R.stopVideo && _R.stopVideo(targetlayer, id); break; case "togglevideo": tex && (_R.isVideoPlaying(targetlayer, id) ? _R.stopVideo && _R.stopVideo(targetlayer, id) : _R.playVideo(targetlayer, id)); break; case "mutevideo": tex && _R.Mute(targetlayer, id, !0); break; case "unmutevideo": tex && _R.Mute && _R.Mute(targetlayer, id, !1); break; case "toggle_mute_video": tex && (_R.Mute(targetlayer, id) ? _R.Mute(targetlayer, id, !1) : _R.Mute && _R.Mute(targetlayer, id, !0)); break; case "toggle_global_mute_video": var pvl = _R[id].playingvideos != undefined && _R[id].playingvideos.length > 0; pvl && (_R[id].globalmute ? jQuery.each(_R[id].playingvideos, function(e, t) { _R.Mute && _R.Mute(t, id, !1) }) : jQuery.each(_R[id].playingvideos, function(e, t) { _R.Mute && _R.Mute(t, id, !0) })), _R[id].globalmute = !_R[id].globalmute; break; default: tpGS.gsap.delayedCall(event.delay, function(targetlayer, id, event, layer) { switch (event.action) { case "openmodal": if (event.modalslide = event.modalslide === undefined ? 0 : event.modalslide, window.RS_60_MODALS === undefined || -1 == jQuery.inArray(event.modal, window.RS_60_MODALS)) { _R.showModalCover(id, event, "show"); var data = { action: "revslider_ajax_call_front", client_action: "get_slider_html", token: _R[id].ajaxNonce, alias: event.modal, usage: "modal" }; jQuery.ajax({ type: "post", url: _R[id].ajaxUrl, dataType: "json", data: data, success: function(e, t, i) { 1 == e.success && (jQuery("body").append(e.data), setTimeout(function() { _R.showModalCover(id, event, "hide"), _R.document.trigger("RS_OPENMODAL_" + event.modal, event.modalslide) }, 49)) }, error: function(e) { console.log("Modal Can not be Loaded"), console.log(e) } }) } else _R.document.trigger("RS_OPENMODAL_" + event.modal, event.modalslide); break; case "closemodal": _R.revModal(id, { mode: "close" }); break; case "callback": eval(event.callback); break; case "simplelink": window.open(event.url, event.target); break; case "simulateclick": targetlayer.length > 0 && targetlayer.click(); break; case "toggleclass": targetlayer.length > 0 && targetlayer.toggleClass(event.classname); break; case "scrollbelow": case "scrollto": "scrollbelow" === event.action && layer.addClass("tp-scrollbelowslider"), _R.scrollToId({ id: id, offset: event.offset, action: event.action, anchor: event.id, speed: event.speed, ease: event.ease }); break; case "jumptoslide": switch (event.slide.toLowerCase()) { case "+1": case "next": case "rs-next": _R[id].sc_indicator = "arrow", _R[id].sc_indicator_dir = 0, _R.callingNewSlide(id, 1, "carousel" === _R[id].sliderType); break; case "rs-previous": case "rs-prev": case "previous": case "prev": case "-1": _R[id].sc_indicator = "arrow", _R[id].sc_indicator_dir = 1, _R.callingNewSlide(id, -1, "carousel" === _R[id].sliderType); break; case "first": case "rs-first": _R[id].sc_indicator = "arrow", _R[id].sc_indicator_dir = 1, _R.callingNewSlide(id, 0, "carousel" === _R[id].sliderType); break; case "last": case "rs-last": _R[id].sc_indicator = "arrow", _R[id].sc_indicator_dir = 0, _R.callingNewSlide(id, _R[id].slideamount - 1, "carousel" === _R[id].sliderType); break; default: var ts = jQuery.isNumeric(event.slide) ? parseInt(event.slide, 0) : event.slide; _R.callingNewSlide(id, ts, "carousel" === _R[id].sliderType) } break; case "toggleslider": _R[id].noloopanymore = 0, "playing" == _R[id].sliderstatus ? (_R[id].c.revpause(), _R[id].forcepaused = !0, _R.unToggleState(_R[id].slidertoggledby)) : (_R[id].forcepaused = !1, _R[id].c.revresume(), _R.toggleState(_R[id].slidertoggledby)); break; case "pauseslider": _R[id].c.revpause(), _R.unToggleState(_R[id].slidertoggledby); break; case "playslider": _R[id].noloopanymore = 0, _R[id].c.revresume(), _R.toggleState(_R[id].slidertoggledby); break; case "gofullscreen": case "exitfullscreen": case "togglefullscreen": var gf; jQuery(".rs-go-fullscreen").length > 0 && ("togglefullscreen" == event.action || "exitfullscreen" == event.action) ? (jQuery(".rs-go-fullscreen").removeClass("rs-go-fullscreen"), gf = _R[id].c.closest("rs-fullwidth-wrap").length > 0 ? _R[id].c.closest("rs-fullwidth-wrap") : _R[id].c.closest("rs-module-wrap"), _R[id].minHeight = _R[id].oldminheight, _R[id].infullscreenmode = !1, _R[id].c.revredraw(), _R[id].c.revredraw(), jQuery(window).trigger("resize"), _R.unToggleState(_R[id].fullscreentoggledby)) : 0 != jQuery(".rs-go-fullscreen").length || "togglefullscreen" != event.action && "gofullscreen" != event.action || (gf = _R[id].c.closest("rs-fullwidth-wrap").length > 0 ? _R[id].c.closest("rs-fullwidth-wrap") : _R[id].c.closest("rs-module-wrap"), gf.addClass("rs-go-fullscreen"), _R[id].oldminheight = _R[id].minHeight, _R[id].minHeight = _R.getWinH(id), _R[id].infullscreenmode = !0, jQuery(window).trigger("resize"), _R.toggleState(_R[id].fullscreentoggledby), _R[id].c.revredraw()); break; default: _R[id].c.trigger("layeraction", [event.action, layer, event]) } }, [targetlayer, id, event, layer]) } } }) }; function getFordWithAction(e) { var t = []; for (var i in e.ford) e.frames[e.ford[i]].timeline.waitoncall ? t.push(e.ford[i]) : t.push("skip"); return t } function updateToggleByList(e, t, i) { var a = e.data(t); a === undefined && (a = []), a.push(i), e.data(t, a) } function getEventParams(e) { var t = { on: "click", delay: 0, ease: "power2.out", speed: 400 }; for (var i in e) if (e.hasOwnProperty(i)) { var a = e[i].split(":"); switch (a.length > 2 && "call" === a[0] && (a[1] = a.join(":").replace(a[0] + ":", "")), a[0]) { case "modal": t.modal = a[1]; break; case "ms": t.modalslide = a[1]; break; case "m": t.frameM = a[1]; break; case "n": t.frameN = a[1]; break; case "o": t.on = "click" === a[1] || "c" === a[1] ? "click" : "ml" === a[1] || "mouseleave" === a[1] ? "mouseleave" : "mouseenter" === a[1] || "me" === a[1] ? "mouseenter" : a[1]; break; case "d": t.delay = parseInt(a[1], 0) / 1e3, t.delay = "NaN" === t.delay || isNaN(t.delay) ? 0 : t.delay; break; case "a": t.action = a[1]; break; case "f": t.frame = a[1]; break; case "slide": t.slide = a[1]; break; case "layer": t.layer = a[1]; break; case "sp": t.speed = parseInt(a[1], 0); break; case "e": t.ease = a[1]; break; case "ls": t.togglestate = a[1]; break; case "offset": t.offset = a[1]; break; case "call": t.callback = a[1]; break; case "url": t.url = ""; for (var r = 1; r < a.length; r++) t.url += a[r] + (r === a.length - 1 ? "" : ":"); break; case "target": t.target = a[1]; break; case "class": t.classname = a[1]; break; case "ch": t.children = "true" == a[1] || 1 == a[1] || "t" == a[1]; break; default: a[0].length > 0 && "" !== a[0] && (t[a[0]] = a[1]) } } return t } var getOffContH = function(e) { if (e == undefined) return 0; if (e.split(",").length > 1) { var t = e.split(","), i = 0; return t && jQuery.each(t, function(e, t) { jQuery(t).length > 0 && (i += jQuery(t).outerHeight(!0)) }), i } return jQuery(e).height() } }(jQuery), function(e) { "use strict"; var t = jQuery.fn.revolution; t.is_mobile(); jQuery.extend(!0, t, { prepareCarousel: function(e, i, a) { if (void 0 !== e) { var o = t[e].carousel; o.slidepositions = void 0 === o.slidepositions ? [] : o.slidepositions, o.slideFakePositions = void 0 === o.slideFakePositions ? [] : o.slideFakePositions, i = o.lastdirection = r(i, o.lastdirection), t.setCarouselDefaults(e), void 0 === o.slidepositions[0] && (o.slideAnims = [], t.organiseCarousel(e, "right", !0, !1, !1), o.focused = 0, o.keepFocusedFirst = !0), o.slide_offset = void 0 !== o.slide_offset && jQuery.isNumeric(o.slide_offset) ? o.slide_offset : 0, o.swipeTo = o.slide_offset + s(e), o.swipeToDistance = Math.abs(o.slide_offset) + Math.abs(s(e)), void 0 !== o.swipeTo && jQuery.isNumeric(o.swipeTo) ? void 0 !== a ? t.swipeAnimate({ id: e, to: o.swipeTo, distance: o.swipeToDistance, direction: i, fix: !0, speed: a }) : t.swipeAnimate({ id: e, to: o.swipeTo, distance: o.swipeToDistance, direction: i, fix: !0 }) : t.swipeAnimate({ id: e, to: 0, direction: i, speed: 0 }), o.carouselInitialised = !0 } }, carouselToEvalPosition: function(e, a, o) { var s = t[e].carousel; if (s.justify) s.focused = void 0 === s.focused ? 0 : s.focused, s.slidepositions[s.focused] = void 0 === s.slidepositions[s.focused] ? 0 : s.slidepositions[s.focused], s.slide_offset_target = i(e, s.focused); else { a = s.lastdirection = r(a, s.lastdirection); var n = "center" === s.horizontal_align ? (s.wrapwidth / 2 - s.slide_width / 2 - s.slide_offset) / s.slide_width : (0 - s.slide_offset) / s.slide_width, l = n % t[e].slideamount, d = l - Math.floor(l), c = -1 * (Math.ceil(l) - l), p = -1 * (Math.floor(l) - l), g = d * s.slide_width, u = g >= 20 && "left" === a ? 1 : g >= s.slide_width - 20 && "right" === a ? 2 : g < 20 && "left" === a ? 3 : g < s.slide_width - 20 && "right" === a ? 4 : 5, h = 1 === u || 2 === u ? c : 3 === u || 4 === u ? p : 0; s.slide_offset_target = (s.infinity ? h : l < 0 ? l : n > t[e].slideamount - 1 ? n - (t[e].slideamount - 1) : h) * s.slide_width } return s.slide_offset_target !== s.slide_offset_targetCACHE && !0 !== o && (0 !== Math.abs(s.slide_offset_target) ? t.animateCarousel(e, a, !0) : t.organiseCarousel(e, a), s.slide_offset_targetCACHE = s.slide_offset_target), s.slide_offset_target }, loadVisibleCarouselItems: function(e, i) { var a = []; t[e].carousel.focused = parseInt(t[e].carousel.focused, 0), t[e].carousel.focused = jQuery.isNumeric(t[e].carousel.focused) ? t[e].carousel.focused : 0; for (var r = 0; r < Math.ceil(t[e].carousel.maxVisibleItems / 2); r++) { var o = "right" === t[e].carousel.horizontal_align ? t[e].carousel.focused - r : t[e].carousel.focused + r, s = "center" === t[e].carousel.horizontal_align ? t[e].carousel.focused - r : "left" === t[e].carousel.horizontal_align ? t[e].carousel.maxVisibleItems + o - 1 : o - t[e].carousel.maxVisibleItems + 1; o = o >= t[e].slideamount ? o - t[e].slideamount + 0 : o, s = s >= t[e].slideamount ? s - t[e].slideamount + 0 : s, o = o < 0 ? t[e].slideamount + o : o, s = s < 0 ? t[e].slideamount + s : s, a.push(t[e].slides[o]), o !== s && a.push(t[e].slides[s]) } return i && (t.loadImages(a, e, 1), t.waitForCurrentImages(a, e)), a }, organiseCarousel: function(e, i, a, r, o) { Math.round(1e5 * Math.random()); var s = t[e].carousel, n = "center" === s.horizontal_align ? 2 : 1, l = Math.ceil(s.maxVisibleItems / n), d = "center" === s.horizontal_align ? s.wrapwidth / 2 + s.maxwidth / 2 : s.maxwidth - s.slide_width, c = "center" === s.horizontal_align ? s.wrapwidth / 2 - s.maxwidth / 2 : 0 - s.slide_width, p = 0, g = 0, u = 0; if (i = s.slide_offset < s.cached_slide_offset ? "left" : "right", s.cached_slide_offset = s.slide_offset, !0 !== s.justify && "center" === s.horizontal_align) { var h = 2 * (s.windhalf - s.wrapoffset) + s.slide_width; h >= s.maxwidth && ("left" === i && (d = 2 * s.windhalf, c = 0 - (s.slide_width - (h - s.maxwidth))), "right" === i && (d = 2 * s.windhalf - (h - s.maxwidth), c = 0 - s.slide_width)) } for (var f = 2 * s.windhalf, m = 0, v = -1, y = 0; y < s.len; y++) !0 === s.justify ? (p += y > 0 ? s.slide_widths[y - 1] + s.space : s.slide_offset, s.wrapwidth >= s.maxwidth && "center" !== s.horizontal_align && (s.slideFakePositions[y] = p - s.slide_offset), c = 0 - s.slide_widths[y], d = s.maxwidth - s.slide_widths[y], s.inneroffset = 0) : (p = y * s.slide_width + s.slide_offset, s.wrapwidth >= s.maxwidth && "left" === s.horizontal_align && (s.slideFakePositions[y] = y * s.slide_width), s.wrapwidth >= s.maxwidth && "right" === s.horizontal_align && (s.slideFakePositions[y] = s.wrapwidth - (y + 1) * s.slide_width)), u = g = p, s.infinity && (g = g >= d - s.inneroffset ? g - s.maxwidth : g <= c - s.inneroffset ? g + s.maxwidth : g), f > g && (f = g, y), m < g && (m = g, v = y), s.slidepositions[y] = u > s.maxwidth + d ? g - s.maxwidth : u < c - s.maxwidth ? g + s.maxwidth : g; s.infinity && f > 0 && m > s.wrapwidth && (s.slidepositions[v] -= s.maxwidth); var b = 999, _ = 0, w = (t[e].width, !1), x = "right" === s.horizontal_align ? 0 : s.wrapwidth; if (t[e].slides) for (y = 0; y < t[e].slides.length; y++) { var k = { left: (g = s.slidepositions[y]) + s.inneroffset, width: !0 === s.justify ? s.slide_widths[y] : s.slide_width, x: 0 }, S = 0; if (void 0 === s.slideAnims[y] && (k.transformOrigin = "50% " + s.vertical_align, k.scale = 1, k.force3D = !0, k.transformStyle = "3D" != t[e].parallax.type && "3d" != t[e].parallax.type ? "flat" : "preserve-3d"), s.justify) k.autoAlpha = 1, s.wrapwidth >= s.maxwidth && "center" !== s.horizontal_align || ("center" === s.horizontal_align && s.slidepositions[y] < s.windhalf && s.slidepositions[y] + s.slide_widths[y] > s.windhalf ? s.focused = y : "left" === s.horizontal_align && s.slidepositions[y] >= -25 && s.slidepositions[y] < s.windhalf && (!w || s.slidepositions[y] < x) ? (s.focused = y, w = !0, x = s.slidepositions[y]) : "right" === s.horizontal_align && s.slidepositions[y] + s.slide_widths[y] <= s.wrapwidth + 25 && (s.slide_widths[y] < s.windhalf && s.slidepositions[y] > s.windhalf || s.slidepositions[y] > s.wrapwidth - s.slide_widths[y]) && (!w || s.slidepositions[y] > x) && (s.focused = y, w = !0, x = s.slidepositions[y]), s.focused = s.focused >= s.len ? s.infinity ? 0 : s.len - 1 : s.focused < 0 ? s.infinity ? s.len - 1 : 0 : s.focused); else { S = "center" === s.horizontal_align ? (Math.abs(s.wrapwidth / 2) - (k.left + s.slide_width / 2)) / s.slide_width : (s.inneroffset - k.left) / s.slide_width, (Math.abs(S) < b || 0 === S) && (b = Math.abs(S), s.focused = y), void 0 !== s.minScale && s.minScale > 0 && (s.vary_scale ? k.scale = 1 - Math.abs((1 - s.minScale) / l * S) : k.scale = S >= 1 || S <= -1 ? s.minScale : s.minScale + (1 - s.minScale) * (1 - Math.abs(S)), _ = S * (k.width - k.width * k.scale) / 2), s.fadeout && (s.vary_fade ? k.autoAlpha = 1 - Math.abs(s.maxOpacity / l * S) : k.autoAlpha = S >= 1 || S <= -1 ? s.maxOpacity : s.maxOpacity + (1 - s.maxOpacity) * (1 - Math.abs(S))); var L = Math.ceil(s.maxVisibleItems / n) - Math.abs(S); k.autoAlpha = void 0 === k.autoAlpha ? 1 : k.autoAlpha, k.autoAlpha = Math.max(0, Math.min(L, k.autoAlpha)), void 0 !== s.maxRotation && 0 != Math.abs(s.maxRotation) && (s.vary_rotation ? (k.rotationY = Math.abs(s.maxRotation) - Math.abs((1 - Math.abs(1 / l * S)) * s.maxRotation), k.autoAlpha = Math.abs(k.rotationY) > 90 ? 0 : k.autoAlpha) : k.rotationY = S >= 1 || S <= -1 ? s.maxRotation : Math.abs(S) * s.maxRotation, k.rotationY = S < 0 ? -1 * k.rotationY : k.rotationY, t.isSafari11() && (k.z = 0 !== S ? 0 - Math.abs(k.rotationY) : 0)), k.x = Math.floor(-1 * s.space * S * (s.offsetScale ? k.scale : 1)), void 0 !== k.scale && (k.x = k.x + _) } k.x += s.wrapwidth >= s.maxwidth && ("left" === s.horizontal_align || "right" === s.horizontal_align) ? s.slideFakePositions[y] : Math.floor(k.left), delete k.left, k.zIndex = s.justify ? 95 : Math.round(100 - Math.abs(5 * S)), !0 !== o && (void 0 !== s.slideAnims[y] && (k.width === s.slideAnims[y].width && delete k.width, k.x === s.slideAnims[y].x && delete k.x, k.autoAlpha === s.slideAnims[y].autoAlpha && delete k.autoAlpha, k.scale === s.slideAnims[y].scale && delete k.scale, k.zIndex === s.slideAnims[y].zIndex && delete k.zIndex, k.rotationY === s.slideAnims[y].rotationY && delete k.rotationY), tpGS.gsap.set(t[e].slides[y], k), s.slideAnims[y] = jQuery.extend(!0, s.slideAnims[y], k)) } r && !0 !== o && (s.focused = void 0 === s.focused ? 0 : s.focused, s.oldfocused = void 0 === s.oldfocused ? 0 : s.oldfocused, t[e].pr_next_key = s.focused, s.focused !== s.oldfocused && t.animateTheLayers && (t.removeTheLayers(jQuery(t[e].slides[s.oldfocused]), e), t.animateTheLayers({ slide: s.focused, id: e, mode: "start" }), t.loadVisibleCarouselItems(e, !0)), s.oldfocused = s.focused, t[e].c.trigger("revolution.nextslide.waiting")) }, swipeAnimate: function(e) { var i = t[e.id].carousel, r = { from: i.slide_offset, to: e.to }, o = void 0 === e.speed ? .5 : e.speed; if (i.distance = void 0 !== e.distance ? e.distance : e.to, void 0 !== i.positionanim && i.positionanim.pause(), e.fix) { if (!1 !== i.snap) { var s = i.slide_offset, n = "end" === e.phase ? i.focusedBeforeSwipe : i.focused; i.slide_offset = e.to, t.organiseCarousel(e.id, e.direction, !0, !1, !1), Math.abs(i.swipeDistance) > 40 && n == i.focused && (i.focused = "right" === e.direction ? i.focused - 1 : i.focused + 1, i.focused = i.focused >= i.len ? i.infinity ? 0 : i.len - 1 : i.focused < 0 ? i.infinity ? i.len - 1 : 0 : i.focused), r.to += t.carouselToEvalPosition(e.id, e.direction, !0), i.slide_offset = s, t.organiseCarousel(e.id, e.direction, !0, !1, !1), i.keepFocusedFirst && (i.keepFocusedFirst = !1, i.focused = 0) } else !0 !== i.infinity ? (r.to > 0 && (r.to = 0), r.to < i.wrapwidth - i.maxwidth && (r.to = i.wrapwidth - i.maxwidth)) : "end" === e.phase ? i.dragModeJustEnded = !0 : !0 !== i.dragModeJustEnded ? r.to += t.carouselToEvalPosition(e.id, e.direction, !0) : i.dragModeJustEnded = !1; 0 !== (o = i.speed / 1e3 * a(Math.abs(Math.abs(r.from) - Math.abs(i.distance)) / i.wrapwidth)) && o < .1 && Math.abs(r.to) > 25 && (o = .3) } i.swipeDistance = 0, o = !0 !== i.firstSwipedDone ? 0 : o, i.firstSwipedDone = !0, i.positionanim = tpGS.gsap.to(r, o, { from: r.to, onUpdate: function() { i.slide_offset = r.from % i.maxwidth, t.organiseCarousel(e.id, e.direction, !0 !== e.fix, !0 !== e.fix), i.slide_offset = r.from }, onComplete: function() { i.slide_offset = r.from % i.maxwidth, "carousel" !== t[e.id].sliderType || i.fadein || (tpGS.gsap.to(t[e.id].canvas, 1, { scale: 1, opacity: 1 }), i.fadein = !0), i.lastNotSimplifedSlideOffset = i.slide_offset, i.justDragged = !1, e.fix && (i.focusedAfterAnimation = i.focused, e.newSlide && i.focusedBeforeSwipe !== i.focused && t.callingNewSlide(e.id, jQuery(t[e.id].slides[i.focused]).data("key"), !0), t.organiseCarousel(e.id, e.direction, !0, !0), t[e.id].c.trigger("revolution.slide.carouselchange", { slider: e.id, slideIndex: parseInt(t[e.id].pr_active_key, 0) + 1, slideLIIndex: t[e.id].pr_active_key, slide: t[e.id].pr_next_slide, currentslide: t[e.id].pr_next_slide, prevSlideIndex: void 0 !== t[e.id].pr_lastshown_key && parseInt(t[e.id].pr_lastshown_key, 0) + 1, prevSlideLIIndex: void 0 !== t[e.id].pr_lastshown_key && parseInt(t[e.id].pr_lastshown_key, 0), prevSlide: void 0 !== t[e.id].pr_lastshown_key && t[e.id].slides[t[e.id].pr_lastshown_key] })) }, ease: e.easing ? e.easing : i.easing }) }, defineCarouselElements: function(e) { var i = t[e].carousel; i.infbackup = i.infinity, i.maxVisiblebackup = i.maxVisibleItems, i.slide_offset = "none", i.slide_offset = 0, i.cached_slide_offset = 0, i.wrap = jQuery(t[e].canvas[0].parentNode), 0 !== i.maxRotation && ("3D" !== t[e].parallax.type && "3d" !== t[e].parallax.type || tpGS.gsap.set(i.wrap, { perspective: "1600px", transformStyle: "preserve-3d" })) }, setCarouselDefaults: function(e, i) { var a, r, o = t[e].carousel; if (!0 !== o.carouselDefaultsCalled && (t.callContWidthManager(e), t.setSize(e, void 0, "setCarouselDefaults"), t.updateDimensions(e, "setCarouselDefaults"), o.carouselDefaultsCalled = !0), void 0 === t[e].navOutterOffsets && (t[e].navOutterOffsets = t.getHorizontalOffset(t[e].c, "all")), !0 !== i && (a = t[e].navOutterOffsets.left, r = t[e].navOutterOffsets.right), o.slide_width = !0 !== o.stretch ? t[e].gridwidth[t[e].level] * (0 === t[e].bw ? 1 : t[e].bw) : t[e].conw, o.slide_height = !0 !== o.stretch ? t[e].gridheight[t[e].level] * (0 === t[e].bw ? 1 : t[e].bw) : t[e].conh, o.ratio = o.slide_width / o.slide_height, o.len = t[e].slides.length, o.maxwidth = t[e].slideamount * o.slide_width, 1 != o.justify && o.maxVisiblebackup > o.len && (o.maxVisibleItems = o.len % 2 ? o.len : o.len + 1), o.wrapwidth = o.maxVisibleItems * o.slide_width + (o.maxVisibleItems - 1) * o.space, o.wrapwidth = "auto" != t[e].sliderLayout ? o.wrapwidth > t[e].conw ? t[e].conw : o.wrapwidth : o.wrapwidth > t[e].width ? t[e].width : o.wrapwidth, !0 === o.justify) { o.slide_height = t[e].gridheight[t[e].level], o.slide_widths = [], o.slide_widthsCache = void 0 === o.slide_widthsCache ? [] : o.slide_widthsCache, o.maxwidth = 0; for (var s = 0; s < o.len; s++) if (t[e].slides.hasOwnProperty(s)) { var n = t.gA(t[e].slides[s], "iratio"); n = void 0 === n || 0 === n || null === n ? o.ratio : n, o.slide_widths[s] = Math.round(o.slide_height * n), !1 !== o.justifyMaxWidth && (o.slide_widths[s] = Math.min(o.wrapwidth, o.slide_widths[s])), o.slide_widths[s] !== o.slide_widthsCache[s] && (o.slide_widthsCache[s] = o.slide_widths[s], !0 !== i && tpGS.gsap.set(t[e].slides[s], { width: o.slide_widths[s] })), o.maxwidth += o.slide_widths[s] + o.space } } if (o.infinity = !(o.wrapwidth >= o.maxwidth) && o.infbackup, !0 !== o.quickmode) { o.wrapoffset = "center" === o.horizontal_align ? (t[e].conw - r - a - o.wrapwidth) / 2 : 0, o.wrapoffset = "auto" != t[e].sliderLayout && t[e].outernav ? 0 : o.wrapoffset < a ? a : o.wrapoffset; var l = "3D" == t[e].parallax.type || "3d" == t[e].parallax.type ? "visible" : "hidden", d = "right" === o.horizontal_align ? { left: "auto", right: o.wrapoffset + "px", width: o.wrapwidth, overflow: l } : "left" === o.horizontal_align || o.wrapwidth < t.winW ? { right: "auto", left: o.wrapoffset + "px", width: o.wrapwidth, overflow: l } : { right: "auto", left: "auto", width: "100%", overflow: l }; void 0 !== o.cacheWrapObj && d.left === o.cacheWrapObj.left && d.right === o.cacheWrapObj.right && d.width === o.cacheWrapObj.width || (window.requestAnimationFrame(function() { tpGS.gsap.set(o.wrap, d), t[e].carousel.wrapoffset > 0 && tpGS.gsap.set(t[e].canvas, { left: 0 }) }), o.cacheWrapObj = jQuery.extend(!0, {}, d)), o.inneroffset = "right" === o.horizontal_align ? o.wrapwidth - o.slide_width : 0, o.windhalf = "auto" === t[e].sliderLayout ? t[e].width / 2 : t.winW / 2 } } }); var i = function(e, i) { var a = t[e].carousel; return "center" === a.horizontal_align ? a.windhalf - a.slide_widths[i] / 2 - a.slidepositions[i] : "left" === a.horizontal_align ? 0 - a.slidepositions[i] : a.wrapwidth - a.slide_widths[i] - a.slidepositions[i] }, a = function(e) { return e < 1 ? Math.sqrt(1 - (e -= 1) * e) : Math.sqrt(e) }, r = function(e, t) { return null === e || jQuery.isEmptyObject(e) ? t : void 0 === e ? "right" : e }, o = function(e, t) { return Math.abs(e) > Math.abs(t) ? e > 0 ? e - Math.abs(Math.floor(e / t) * t) : e + Math.abs(Math.floor(e / t) * t) : e }, s = function(e) { var i, a, r, s, n, l = 0, d = t[e].carousel; if (void 0 !== d.positionanim && d.positionanim.pause(), d.justify) "center" === d.horizontal_align ? l = d.windhalf - d.slide_widths[d.focused] / 2 - d.slidepositions[d.focused] : "left" === d.horizontal_align ? l = 0 - d.slidepositions[d.focused] : "right" === d.horizontal_align && (l = d.wrapwidth - d.slide_widths[d.focused] - d.slidepositions[d.focused]), l = l > d.maxwidth / 2 ? d.maxwidth - l : l < 0 - d.maxwidth / 2 ? l + d.maxwidth : l; else { var c = t[e].pr_processing_key >= 0 ? t[e].pr_processing_key : t[e].pr_active_key >= 0 ? t[e].pr_active_key : 0, p = ("center" === d.horizontal_align ? (d.wrapwidth / 2 - d.slide_width / 2 - d.slide_offset) / d.slide_width : (0 - d.slide_offset) / d.slide_width) % t[e].slideamount; l = (d.infinity ? (i = p, a = c, r = t[e].slideamount, n = a - r - i, s = o(s = a - i, r), n = o(n, r), -(Math.abs(s) > Math.abs(n) ? n : s)) : p - c) * d.slide_width } return !1 === d.snap && d.justDragged && (l = 0), d.justDragged = !1, l } }(jQuery), function(e) { "use strict"; var t = ["chars", "words", "lines"], i = ["Top", "Right", "Bottom", "Left"], a = ["TopLeft", "TopRight", "BottomRight", "BottomLeft"], r = ["top", "right", "bottom", "left"], o = jQuery.fn.revolution, s = o.is_mobile(); o.is_android(); jQuery.extend(!0, o, { checkLayerDimensions: function(e) { var t = !1; for (var i in o[e.id].layers[e.skey]) if (o[e.id].layers[e.skey].hasOwnProperty(i)) { var a = o[e.id].layers[e.skey][i], r = o[e.id]._L[a.id]; r.eow !== a.offsetWidth && "true" !== o.gA(a, "vary-layer-dims") && (t = !0), r.lastknownwidth = r.eow, r.lastknownheight = r.eoh, r._slidelink || o[e.id].caches.calcResponsiveLayersList.push({ a: o[e.id]._L[a.id].c, b: e.id, c: 0, d: r.rsp_bd, e: e.slideIndex }) } return t }, requestLayerUpdates: function(e, t, i, a) { var r; if (void 0 !== i) r = i, o[e]._L[r].pVisRequest !== o[e]._L[r].pVisStatus && (void 0 === o[e]._L[r]._ligid || !0 !== o[e]._L[o[e]._L[r]._ligid].childrenAtStartNotVisible ? (o[e]._L[r].pVisStatus = o[e]._L[r].pVisRequest, 0 === o[e]._L[r].pVisStatus ? o[e]._L[r].p[0].classList.add("rs-forcehidden") : o[e]._L[r].p[0].classList.remove("rs-forcehidden")) : o[e]._L[r].p[0].classList.add("rs-forcehidden")), o[e]._L[r].pPointerStatus !== o[e]._L[r].pPeventsRequest && (o[e]._L[r].pPointerStatus = o[e]._L[r].pPeventsRequest, tpGS.gsap.set(o[e]._L[r].p[0], { pointerEvents: o[e]._L[r].pPointerStatus, visibility: o[e]._L[r].pVisStatus })), void 0 !== a && "ignore" !== a && 0 !== a && (a++, "enterstage" === t || "leavestage" === t || "framestarted" === t ? o.isFirefox(e) ? -1 === o[e]._L[r].p[0].style.transform.indexOf("perspective") && (o[e]._L[r].p[0].style.transform += (0 === o[e]._L[r].p[0].style.transform.length ? " " : "") + "perspective(" + a + "px)") : (!window.isSafari11 && 0 === o[e]._L[r].p[0].style.perspective.length || "none" == o[e]._L[r].p[0].style.perspective) && (o[e]._L[r].p[0].style.perspective = a + "px") : "frameended" === t && (o.isFirefox(e) ? o[e]._L[r].p[0].style.transform = o[e]._L[r].p[0].style.transform.replace("perspective(" + a + "px)", "") : window.isSafari11 || (o[e]._L[r].p[0].style.perspective = o[e]._L[r].p[0].style.perspective.replace(a - 1 + "px", "")))); else for (r in o[e]._L) o[e]._L.hasOwnProperty(r) && (o[e]._L[r].pVisRequest !== o[e]._L[r].pVisStatus && (o[e]._L[r].pVisStatus = o[e]._L[r].pVisRequest, 0 === o[e]._L[r].pVisStatus ? o[e]._L[r].p[0].classList.add("rs-forcehidden") : o[e]._L[r].p[0].classList.remove("rs-forcehidden")), o[e]._L[r].pPointerStatus !== o[e]._L[r].pPeventsRequest && (o[e]._L[r].pPointerStatus = o[e]._L[r].pPeventsRequest, tpGS.gsap.set(o[e]._L[r].p[0], { pointerEvents: o[e]._L[r].pPointerStatus, visibility: o[e]._L[r].pVisStatus }))); if ("enterstage" === t) { var s = o[e].pr_processing_key || o[e].pr_active_key || 0; if (o[e].middleZones && o[e].middleZones.length > 0 && void 0 !== o[e].middleZones[s]) for (r = 0; r < o[e].middleZones[s].length; r++) tpGS.gsap.set(o[e].middleZones[s][r], { y: Math.round(o[e].height / 2 - o[e].middleZones[s][r].offsetHeight / 2) + "px" }); if (o[e].smiddleZones && o[e].smiddleZones.length > 0) for (r = 0; r < o[e].smiddleZones.length; r++) tpGS.gsap.set(o[e].smiddleZones[r], { y: Math.round(o[e].height / 2 - o[e].smiddleZones[r].offsetHeight / 2) + "px" }); void 0 !== i && void 0 !== o[e]._L[i].esginside && o[e]._L[i].esginside.length > 0 && void 0 !== o[e]._L[i].esginside.esredraw && o[e]._L[i].esginside.esredraw() } }, initLayer: function(e) { var t, i, a, r = e.id, s = e.skey; for (var n in o[r].layers[e.skey]) if (o[r].layers[e.skey].hasOwnProperty(n)) { var l = o[r].layers[e.skey][n], d = jQuery(l), c = o.gA(l, "initialised"), p = c ? o[r]._L[l.id] : d.data(); "individual" === e.skey && (p.slideKey = void 0 === p.slideKey ? o.gA(d.closest("rs-slide")[0], "key") : p.slideKey, p.slideIndex = void 0 === p.slideIndex ? o.getSlideIndex(r, p.slideKey) : p.slideIndex, e.slideIndex = p.slideIndex, s = p.slideKey); var g = "carousel" === o[r].sliderType ? 0 : o[r].width / 2 - o.iWA(r, e.slideIndex) * o[r].bw / 2, u = 0; if (void 0 === c) { if (o.revCheckIDS(r, l), o[r]._L[l.id] = p, p.ford = void 0 === p.ford ? "frame_0;frame_1;frame_999" : p.ford, p.ford = ";" == p.ford[p.ford.length - 1] ? p.ford.substring(0, p.ford.length - 1) : p.ford, p.ford = p.ford.split(";"), void 0 !== p.clip) for (t in p.clipPath = { use: !1, origin: "l", type: "rectangle" }, p.clip = p.clip.split(";"), p.clip) p.clip.hasOwnProperty(t) && ("u" == (i = p.clip[t].split(":"))[0] && (p.clipPath.use = "true" == i[1]), "o" == i[0] && (p.clipPath.origin = i[1]), "t" == i[0] && (p.clipPath.type = i[1])); if (p.frames = k(p, r), p.caches = {}, p.OBJUPD = {}, p.c = d, p.p = d.closest(".rs-parallax-wrap"), p.lp = d.closest("rs-loop-wrap"), p.m = d.closest("rs-mask-wrap"), p.triggercache = void 0 === p.triggercache ? "reset" : p.triggercache, p.rsp_bd = void 0 === p.rsp_bd ? "column" === p.type || "row" === p.type ? "off" : "on" : p.rsp_bd, p.rsp_o = void 0 === p.rsp_o ? "on" : p.rsp_o, p.basealign = void 0 === p.basealign ? "grid" : p.basealign, p.group = "group" !== p.type && d.closest("rs-group-wrap").length > 0 ? "group" : "column" !== p.type && d.closest("rs-column").length > 0 ? "column" : "row" !== p.type && d.closest("rs-row").length > 0 ? "row" : void 0, p._lig = "group" === p.group ? d.closest("rs-group") : "column" === p.group ? d.closest("rs-column") : "row" === p.group ? d.closest("rs-row") : void 0, p._ligid = void 0 !== p._lig ? p._lig[0].id : void 0, p._column = "RS-COLUMN" === d[0].tagName ? d.closest("rs-column-wrap") : "none", p._row = "RS-COLUMN" === d[0].tagName && d.closest("rs-row"), p._ingroup = "group" === p.group, p._incolumn = "column" === p.group, p._inrow = "row" === p.group, (p._ingroup || p._incolumn) && p._lig[0].className.indexOf("rs-sba") >= 0 && (!1 !== p.animationonscroll || void 0 === p.frames.loop) && !0 !== p.animOnScrollForceDisable && (p.animationonscroll = !0, d[0].className += " rs-sba", o[r].sbas[s][l.id] = d[0]), p.animOnScrollRepeats = 0, p._isgroup = "RS-GROUP" === d[0].tagName, p.type = p.type || "none", "row" === p.type && void 0 === p.cbreak && (p.cbreak = 2), p.esginside = jQuery(d.find(".esg-grid")), p._isnotext = -1 !== jQuery.inArray(p.type, ["video", "image", "audio", "shape", "row", "group"]), p._mediatag = "html5" == p.audio ? "audio" : "video", p.img = d.find("img"), p.deepiframe = d[0].getElementsByTagName("iframe"), p.deepmedia = d[0].getElementsByTagName(p._mediatag), p.layertype = "image" === p.type ? "image" : d[0].className.indexOf("rs-layer-video") >= 0 || d[0].className.indexOf("rs-layer-audio") >= 0 || p.deepiframe.length > 0 && (p.deepiframe[0].src.toLowerCase().indexOf("youtube") > 0 || p.deepiframe[0].src.toLowerCase().indexOf("vimeo") > 0) || p.deepmedia.length > 0 ? "video" : "html", p.deepiframe.length > 0 && o.sA(p.deepiframe[0], "layertype", p.layertype), "column" === p.type && (p.cbg = p.p.find("rs-column-bg"), p.cbgmask = p.p.find("rs-cbg-mask-wrap")), p._slidelink = d[0].className.indexOf("slidelink") >= 0, p._isstatic = d[0].className.indexOf("rs-layer-static") >= 0, p.slidekey = p._isstatic ? "staticlayers" : s, p._togglelisteners = d.find(".rs-toggled-content").length > 0, p.bgcol = void 0 === p.bgcol ? d[0].style.background.indexOf("gradient") >= 0 ? d[0].style.background : d[0].style.backgroundColor : p.bgcol, p.bgcol = "" === p.bgcol ? "rgba(0, 0, 0, 0)" : p.bgcol, p.bgcol = 0 === p.bgcol.indexOf("rgba(0, 0, 0, 0)") && p.bgcol.length > 18 ? p.bgcol.replace("rgba(0, 0, 0, 0)", "") : p.bgcol, p.zindex = d[0].style.zIndex, p._isgroup && (p.frames.frame_1.timeline.waitoncall && (p.childrenAtStartNotVisible = !0), p.pVisRequest = 0), p._togglelisteners && d.click(function() { o.swaptoggleState([this.id]) }), void 0 !== p.border) for (t in p.border = p.border.split(";"), p.bordercolor = "transparent", p.border) if (p.border.hasOwnProperty(t)) switch ((i = p.border[t].split(":"))[0]) { case "boc": p.bordercolor = i[1]; break; case "bow": p.borderwidth = o.revToResp(i[1], 4, 0); break; case "bos": p.borderstyle = o.revToResp(i[1], 4, 0); break; case "bor": p.borderradius = o.revToResp(i[1], 4, 0) } if ("svg" === p.type && (p.svg = d.find("svg"), p.svgPath = p.svg.find("path"), p.svgI = m(p.svgi, r), p.svgH = m(p.svgh, r)), void 0 !== p.btrans) { var h = p.btrans; for (t in p.btrans = { rX: 0, rY: 0, rZ: 0, o: 1 }, h = h.split(";")) if (h.hasOwnProperty(t)) switch ((i = h[t].split(":"))[0]) { case "rX": p.btrans.rX = i[1]; break; case "rY": p.btrans.rY = i[1]; break; case "rZ": p.btrans.rZ = i[1]; break; case "o": p.btrans.o = i[1] } } if (void 0 !== p.tsh) for (t in p.tshadow = { c: "rgba(0,0,0,0.25)", v: 0, h: 0, b: 0 }, p.tsh = p.tsh.split(";"), p.tsh) if (p.tsh.hasOwnProperty(t)) switch ((i = p.tsh[t].split(":"))[0]) { case "c": p.tshadow.c = i[1]; break; case "h": p.tshadow.h = i[1]; break; case "v": p.tshadow.v = i[1]; break; case "b": p.tshadow.b = i[1] } if (void 0 !== p.tst) for (t in p.tstroke = { c: "rgba(0,0,0,0.25)", w: 1 }, p.tst = p.tst.split(";"), p.tst) if (p.tst.hasOwnProperty(t)) switch ((i = p.tst[t].split(":"))[0]) { case "c": p.tstroke.c = i[1]; break; case "w": p.tstroke.w = i[1] } if (void 0 !== p.bsh) for (t in p.bshadow = { e: "c", c: "rgba(0,0,0,0.25)", v: 0, h: 0, b: 0, s: 0 }, p.bsh = p.bsh.split(";"), p.bsh) if (p.bsh.hasOwnProperty(t)) switch ((i = p.bsh[t].split(":"))[0]) { case "c": p.bshadow.c = i[1]; break; case "h": p.bshadow.h = i[1]; break; case "v": p.bshadow.v = i[1]; break; case "b": p.bshadow.b = i[1]; break; case "s": p.bshadow.s = i[1]; break; case "e": p.bshadow.e = i[1] } if (void 0 !== p.dim) for (t in p.dim = p.dim.split(";"), p.dim) if (p.dim.hasOwnProperty(t)) switch ((i = p.dim[t].split(":"))[0]) { case "w": p.width = i[1]; break; case "h": p.height = i[1]; break; case "maxw": p.maxwidth = i[1]; break; case "maxh": p.maxheight = i[1]; break; case "minw": p.minwidth = i[1]; break; case "minh": p.minheight = i[1] } if (void 0 !== p.xy) for (t in p.xy = p.xy.split(";"), p.xy) if (p.xy.hasOwnProperty(t)) switch ((i = p.xy[t].split(":"))[0]) { case "x": p.x = i[1].replace("px", ""); break; case "y": p.y = i[1].replace("px", ""); break; case "xo": p.hoffset = i[1].replace("px", ""); break; case "yo": p.voffset = i[1].replace("px", "") } if (!p._isnotext && void 0 !== p.text) for (t in p.text = p.text.split(";"), p.text) if (p.text.hasOwnProperty(t)) switch ((i = p.text[t].split(":"))[0]) { case "w": p.whitespace = i[1]; break; case "td": p.textDecoration = i[1]; break; case "c": p.clear = i[1]; break; case "f": p.float = i[1]; break; case "s": p.fontsize = i[1]; break; case "l": p.lineheight = i[1]; break; case "ls": p.letterspacing = i[1]; break; case "fw": p.fontweight = i[1]; break; case "a": p.textalign = i[1] } if ("column" === p.type && void 0 !== p.textDecoration && delete p.textDecoration, void 0 !== p.flcr) for (t in p.flcr = p.flcr.split(";"), p.flcr) if (p.flcr.hasOwnProperty(t)) switch ((i = p.flcr[t].split(":"))[0]) { case "c": p.clear = i[1]; break; case "f": p.float = i[1] } if (void 0 !== p.padding) for (t in p.padding = p.padding.split(";"), p.padding) if (p.padding.hasOwnProperty(t)) switch ((i = p.padding[t].split(":"))[0]) { case "t": p.paddingtop = i[1]; break; case "b": p.paddingbottom = i[1]; break; case "l": p.paddingleft = i[1]; break; case "r": p.paddingright = i[1] } if (void 0 !== p.margin) for (t in p.margin = p.margin.split(";"), p.margin) if (p.margin.hasOwnProperty(t)) switch ((i = p.margin[t].split(":"))[0]) { case "t": p.margintop = i[1]; break; case "b": p.marginbottom = i[1]; break; case "l": p.marginleft = i[1]; break; case "r": p.marginright = i[1] } if (void 0 !== p.spike && (p.spike = C(p.spike)), void 0 !== p.corners) for (t in a = p.corners.split(";"), p.corners = {}, a) a.hasOwnProperty(t) && a[t].length > 0 && (p.corners[a[t]] = jQuery("<" + a[t] + ">"), p.c.append(p.corners[a[t]])); p.textalign = v(p.textalign), p.vbility = o.revToResp(p.vbility, o[r].rle, !0), p.hoffset = o.revToResp(p.hoffset, o[r].rle, 0), p.voffset = o.revToResp(p.voffset, o[r].rle, 0), p.x = o.revToResp(p.x, o[r].rle, "l"), p.y = o.revToResp(p.y, o[r].rle, "t"), O(d, 0, r), o.sA(l, "initialised", !0), o[r].c.trigger("layerinitialised", { layer: d[0].id, slider: r }) } var f = "grid" === p.basealign ? o[r].width : "carousel" !== o[r].sliderType || p._isstatic ? o[r].width : o[r].carousel.slide_width, y = o[r].useFullScreenHeight ? o[r].height : "grid" === p.basealign ? o[r].height : ("carousel" !== o[r].sliderType || p._isstatic, o[r].height), b = p.x[o[r].level], _ = p.y[o[r].level]; if (u = "slide" === p.basealign ? 0 : Math.max(0, "fullscreen" == o[r].sliderLayout ? y / 2 - o.iHE(r) * (o[r].keepBPHeight ? 1 : o[r].bh) / 2 : o[r].autoHeight || null != o[r].minHeight && o[r].minHeight > 0 ? o[r].conh / 2 - o.iHE(r) * o[r].bh / 2 : u), g = "slide" === p.basealign ? 0 : Math.max(0, g), "slide" !== p.basealign && "carousel" === o[r].sliderType && p._isstatic && void 0 !== o[r].carousel && void 0 !== o[r].carousel.horizontal_align && (g = Math.max(0, "center" === o[r].carousel.horizontal_align ? 0 + (o[r].width - o.iWA(r, "static") * o[r].bw) / 2 : "right" === o[r].carousel.horizontal_align ? o[r].width - o[r].gridwidth[o[r].level] * o[r].bw : g)), "updateposition" !== e.mode) { if (0 == p.vbility[o[r].levelForced] || "f" == p.vbility[o[r].levelForced] || f < o[r].hideLayerAtLimit && "on" == p.layeronlimit || f < o[r].hideAllLayerAtLimit ? (!0 !== p.layerIsHidden && p.p[0].classList.add("rs-layer-hidden"), p.layerIsHidden = !0) : (p.layerIsHidden && p.p[0].classList.remove("rs-layer-hidden"), p.layerIsHidden = !1), p.poster = null == p.poster && void 0 !== p.thumbimage ? p.thumbimage : p.poster, "image" === p.layertype) if (p.imgOBJ = {}, "cover-proportional" === p.img.data("c")) { o.sA(p.img[0], "owidth", o.gA(p.img[0], "owidth", p.img[0].width)), o.sA(p.img[0], "oheight", o.gA(p.img[0], "oheight", p.img[0].height)); var w = o.gA(p.img[0], "owidth") / o.gA(p.img[0], "oheight"), x = f / y; p.imgOBJ = w > x && w <= 1 || w < x && w > 1 ? { width: "100%", height: "auto", left: "c" === b || "center" === b ? "50%" : "left" === b || "l" === b ? "0" : "auto", right: "r" === b || "right" === b ? "0" : "auto", top: "c" === _ || "center" === _ ? "50%" : "top" === _ || "t" === _ ? "0" : "auto", bottom: "b" === _ || "bottom" === _ ? "0" : "auto", x: "c" === b || "center" === b ? "-50%" : "0", y: "c" === _ || "center" === b ? "-50%" : "0" } : { height: "100%", width: "auto", left: "c" === b || "center" === b ? "50%" : "left" === b || "l" === b ? "0" : "auto", right: "r" === b || "right" === b ? "0" : "auto", top: "c" === _ || "center" === _ ? "50%" : "top" === _ || "t" === _ ? "0" : "auto", bottom: "b" === _ || "bottom" === _ ? "0" : "auto", x: "c" === b || "center" === b ? "-50%" : "0", y: "c" === _ || "center" === b ? "-50%" : "0" } } else void 0 === p.group && "auto" === p.width[o[r].level] && "auto" === p.height[o[r].level] && (p.width[o[r].level] = o.gA(p.img[0], "owidth", p.img[0].width), p.height[o[r].level] = o.gA(p.img[0], "owidth", p.img[0].height)), p.imgOBJ = { width: "auto" !== p.width[o[r].level] || isNaN(p.width[o[r].level]) && p.width[o[r].level].indexOf("%") >= 0 ? "100%" : "auto", height: "auto" !== p.height[o[r].level] || isNaN(p.height[o[r].level]) && p.height[o[r].level].indexOf("%") >= 0 ? "100%" : "auto" }; else if ("video" === p.layertype) { o.manageVideoLayer && !p.videoLayerManaged && o.manageVideoLayer(d, r, s), "rebuild" !== e.mode && o.resetVideo && o.resetVideo(d, r, e.mode), null != p.aspectratio && p.aspectratio.split(":").length > 1 && (1 == p.bgvideo || 1 == p.forcecover) && o.prepareCoveredVideo(r, d), p.media = void 0 === p.media ? p.deepiframe.length > 0 ? jQuery(p.deepiframe[0]) : jQuery(p.deepmedia[0]) : p.media, p.html5vid = void 0 === p.html5vid ? !(p.deepiframe.length > 0) : p.html5vid; var S = d[0].className.indexOf("coverscreenvideo") >= 0; p.mediaOBJ = { display: "block" }; var L = p.width[o[r].level], T = p.height[o[r].level]; if (L = "auto" === L ? L : !jQuery.isNumeric(L) && L.indexOf("%") > 0 ? p._incolumn || p._ingroup ? "100%" : "grid" === p.basealign ? o.iWA(r, e.slideIndex) * o[r].bw : f : "off" !== p.rsp_bd ? parseFloat(L) * o[r].bw + "px" : parseFloat(L) + "px", T = "auto" === T ? T : !jQuery.isNumeric(T) && T.indexOf("%") > 0 ? "grid" === p.basealign ? o.iHE(r) * o[r].bw : y : "off" !== p.rsp_bd ? parseFloat(T) * o[r].bh + "px" : parseFloat(T) + "px", p.vd = void 0 === p.vd ? o[r].videos[d[0].id].ratio.split(":").length > 1 ? o[r].videos[d[0].id].ratio.split(":")[0] / o[r].videos[d[0].id].ratio.split(":")[1] : 1 : p.vd, !p._incolumn || "100%" !== L && "auto" !== T || void 0 === p.ytid) - 1 != d[0].className.indexOf("rs-fsv") || S ? (g = 0, u = 0, p.x = o.revToResp(0, o[r].rle, 0), p.y = o.revToResp(0, o[r].rle, 0), p.vidOBJ = { width: L, height: o[r].autoHeight ? o[r].conh : T }) : (T = "auto" === T && void 0 !== p.vd && "auto" !== L ? "100%" === L ? d.width() / p.vd : L / p.vd : T, p.vidOBJ = { width: L, height: T }), (0 == p.html5vid && !S || 1 != p.forcecover && !d.hasClass("rs-fsv") && !S) && (p.mediaOBJ = { width: L, height: T, display: "block" }), p._ingroup && null !== p.vidOBJ.width && void 0 !== p.vidOBJ.width && !jQuery.isNumeric(p.vidOBJ.width) && p.vidOBJ.width.indexOf("%") > 0 && (p.OBJUPD.lppmOBJ = { minWidth: L }); else { var A = d.width(), R = "auto" === T ? A / p.vd : T; p.vidOBJ = { width: "auto", height: R }, p.heightSetByVideo = !0 } } p._slidelink || o[r].caches.calcResponsiveLayersList.push({ a: d, b: r, c: 0, d: p.rsp_bd, e: e.slideIndex }), "on" === p.rsp_ch && "row" !== p.type && "column" !== p.type && "group" !== p.type && "image" !== p.type && "video" !== p.type && "shape" !== p.type && d.find("*").each(function() { var t = jQuery(this); "true" !== o.gA(this, "stylerecorder") && !0 !== o.gA(this, "stylerecorder") && O(t, "rekursive", r), o[r].caches.calcResponsiveLayersList.push({ a: t, b: r, c: "rekursive", d: p.rsp_bd, e: e.slideIndex, RSL: d }) }) } if ("preset" !== e.mode) { if (p.eow = d.outerWidth(!0), p.eoh = d.outerHeight(!0), p.imgInFirefox = "image" == p.type && "auto" == p.width[o[r].level] && "100%" == p.height[o[r].level] && o.isFirefox(r), p.imgInFirefox) { var I = p.img.width(); p.eow = 0 !== I ? I : p.eow } if (p.eow <= 0 && void 0 !== p.lastknownwidth && (p.eow = p.lastknownwidth), p.eoh <= 0 && void 0 !== p.lastknownheight && (p.eoh = p.lastknownheight), void 0 !== p.corners && ("text" === p.type || "button" === p.type || "shape" === p.type)) { for (a in p.corners) if (p.corners.hasOwnProperty(a)) { p.corners[a].css("borderWidth", p.eoh + "px"); var z = "rs-fcrt" === a || "rs-fcr" === a; p.corners[a].css("border" + (z ? "Right" : "Left"), "0px solid transparent"), p.corners[a].css("border" + ("rs-fcrt" == a || "rs-bcr" == a ? "Bottom" : "Top") + "Color", p.bgcol) } p.eow = d.outerWidth(!0) } 0 == p.eow && 0 == p.eoh && (p.eow = o[r].width, p.eoh = o[r].height), p.basealign = o[r].justifyCarousel ? "grid" : p.basealign; var P = "on" === p.rsp_o ? parseInt(p.voffset[o[r].level], 0) * o[r].bw : parseInt(p.voffset[o[r].level], 0), B = "on" === p.rsp_o ? parseInt(p.hoffset[o[r].level], 0) * o[r].bw : parseInt(p.hoffset[o[r].level], 0), G = "grid" === p.basealign ? o.iWA(r, e.slideIndex) * o[r].bw : f, M = "grid" === p.basealign ? o.iHE(r) * (o[r].keepBPHeight || o[r].currentRowsHeight > o[r].gridheight[o[r].level] ? 1 : o[r].bh) : y; (1 == o[r].gridEQModule || void 0 !== p._lig && "row" !== p.type && "column" !== p.type && "group" !== p.type) && (G = void 0 !== p._lig ? p._lig.width() : o[r].width, M = void 0 !== p._lig ? p._lig.height() : o[r].height, g = 0, u = 0), b = "c" === b || "m" === b || "center" === b || "middle" === b ? G / 2 - p.eow / 2 + B : "l" === b || "left" === b ? B : "r" === b || "right" === b ? G - p.eow - B : "off" !== p.rsp_o ? b * o[r].bw : b, _ = "m" === _ || "c" === _ || "center" === _ || "middle" === _ ? M / 2 - p.eoh / 2 + P : "t" === _ || "top" == _ ? P : "b" === _ || "bottom" == _ ? M - p.eoh - P : "off" !== p.rsp_o ? _ * o[r].bw : _, b = p._slidelink ? 0 : o[r].rtl && "100%" !== p.width[o[r].level] ? parseInt(b) + p.eow : b, p.calcx = parseInt(b, 0) + g, p.calcy = parseInt(_, 0) + u, "row" !== p.type && "column" !== p.type ? p.OBJUPD.POBJ = { zIndex: p.zindex, top: p.calcy, left: p.calcx, overwrite: "auto" } : "row" !== p.type ? p.OBJUPD.POBJ = { zIndex: p.zindex, width: p.columnwidth, top: 0, left: 0, overwrite: "auto" } : "row" === p.type && (p.OBJUPD.POBJ = { zIndex: p.zindex, width: "grid" === p.basealign ? G + "px" : "100%", top: 0, left: o[r].rtl ? -1 * g : g, overwrite: "auto" }, p.cbreak <= o[r].level ? -1 === d[0].className.indexOf("rev_break_columns") && d[0].classList.add("rev_break_columns") : d[0].className.indexOf("rev_break_columns") > 0 && d[0].classList.remove("rev_break_columns")), void 0 !== p.blendmode && (p.OBJUPD.POBJ.mixBlendMode = p.blendmode), (void 0 !== p.frames.loop || p.imgInFirefox) && (p.OBJUPD.LPOBJ = { width: p.eow, height: p.eoh }), p._ingroup && (void 0 !== p._groupw && !jQuery.isNumeric(p._groupw) && p._groupw.indexOf("%") > 0 && (p.OBJUPD.lppmOBJ.minWidth = p._groupw), void 0 !== p._grouph && !jQuery.isNumeric(p._grouph) && p._grouph.indexOf("%") > 0 && (p.OBJUPD.lppmOBJ.minHeight = p._grouph)), "updateposition" === e.mode && (p.caches.POBJ_LEFT === p.OBJUPD.POBJ.left && p.caches.POBJ_TOP === p.OBJUPD.POBJ.top || (tpGS.gsap.set(p.p, p.OBJUPD.POBJ), p.caches.POBJ_LEFT = p.OBJUPD.POBJ.left, p.caches.POBJ_TOP = p.OBJUPD.POBJ.top)), e.animcompleted && o.animcompleted(d, r) } } }, hoverReverseDone: function(e) { o[e.id]._L[e.L[0].id].textDecoration && tpGS.gsap.set(o[e.id]._L[e.L[0].id].c, { textDecoration: o[e.id]._L[e.L[0].id].textDecoration }) }, animcompleted: function(e, t, i) { if (void 0 !== o[t].videos) { var a = o[t].videos[e[0].id]; null != a && null != a.type && "none" != a.type && (1 == a.aplay || "true" == a.aplay || "on" == a.aplay || "1sttime" == a.aplay ? (("carousel" !== o[t].sliderType || e.closest("rs-slide").index() == o[t].carousel.focused || e.closest("rs-slide").index() == o[t].activeRSSlide && o[t].carousel.oldfocused == o[t].carousel.focused || i) && o.playVideo(e, t), o.toggleState(e.data("videotoggledby")), (a.aplay1 || "1sttime" == a.aplay) && (a.aplay1 = !1, a.aplay = !1)) : ("no1sttime" == a.aplay && (a.aplay = !0), o.unToggleState(e.data("videotoggledby")))) } }, handleStaticLayers: function(e, t) { var i = 0, a = o[t].realslideamount + 1; if (void 0 !== o.gA(e[0], "onslides")) { var r = o.gA(e[0], "onslides").split(";"); for (var s in r) if (r.hasOwnProperty(s)) { var n = r[s].split(":"); "s" === n[0] && (i = parseInt(n[1], 0)), "e" === n[0] && (a = parseInt(n[1], 0)) } } i = Math.max(0, i), a = Math.min(o[t].realslideamount, a < 0 ? o[t].realslideamount : a), a = 1 !== i && 0 !== i || a !== o[t].realslideamount ? a : o[t].realslideamount + 1, e.data("startslide", i), e.data("endslide", a), o.sA(e[0], "startslide", i), o.sA(e[0], "endslide", a) }, updateLayersOnFullStage: function(e) { if (o[e].caches.calcResponsiveLayersList.length > 0) { !0 !== o[e].slideHasIframe && !0 !== o[e].fullScreenMode && ("carousel" === o[e].sliderType ? o[e].carousel.wrap.detach() : o[e].canvas.detach()); for (var t = 0; t < o[e].caches.calcResponsiveLayersList.length; t++) void 0 !== o[e].caches.calcResponsiveLayersList[t] && z(o[e].caches.calcResponsiveLayersList[t]); !0 !== o[e].slideHasIframe && !0 !== o[e].fullScreenMode && ("carousel" === o[e].sliderType ? o[e].c[0].appendChild(o[e].carousel.wrap[0]) : o[e].c[0].appendChild(o[e].canvas[0])) } }, animateTheLayers: function(e) { if (void 0 === e.slide) return !1; var t = e.id; if (void 0 === o[t].slides[e.slide] && "individual" !== e.slide) return !1; if ("carousel" === o[t].sliderType) { if ("start" === e.mode && "start" === o[t].lastATLmode) { if (e.slide === o[t].lastATLslide && (new Date).getTime() - o[t].lastATLtime < 1500) return; o[t].lastATLtime = (new Date).getTime() } o[t].lastATLmode = e.mode, o[t].lastATLslide = e.slide } var i = "individual" !== e.slide ? o.gA(o[t].slides[e.slide], "key") : "individual", a = o[t].pr_processing_key || o[t].pr_active_key || 0; o[t].caches.calcResponsiveLayersList = [], o[t].layers = o[t].layers || {}, "individual" === i ? o[t].layers.individual = void 0 === o[t].layers.individual ? "all" === o[t].carousel.showLayersAllTime ? L(jQuery(o[t].c), "rs-layer", "rs-layer-static") : L(jQuery(o[t].c), "rs-on-car") : o[t].layers.individual : (o[t].layers[i] = void 0 === o[t].layers[i] ? "all" === o[t].carousel.showLayersAllTime ? [] : L(jQuery(o[t].slides[e.slide]), "rs-layer", "carousel" === o[t].sliderType ? "rs-on-car" : void 0) : o[t].layers[i], o[t].layers.static = void 0 === o[t].layers.static ? L(jQuery(o[t].c.find("rs-static-layers")), "rs-layer", "rs-on-car") : o[t].layers.static, o[t].sbas[i] = void 0 === o[t].sbas[i] ? L(jQuery(o[t].slides[e.slide]), "rs-sba") : o[t].sbas[i]), o.updateDimensions(t, "animateTheLayers"); var r = "rebuild" === e.mode && "carousel" === o[t].sliderType && "individual" === i; void 0 !== i && o[t].layers[i] && o.initLayer({ id: t, slideIndex: e.slide, skey: i, mode: e.mode, animcompleted: r }), o[t].layers.static && o.initLayer({ id: t, skey: "static", slideIndex: "static", mode: e.mode, animcompleted: r }), o.updateLayersOnFullStage(t), "preset" !== e.mode || void 0 !== o[t].slidePresets && void 0 !== o[t].slidePresets[e.slide] || (o[t].slidePresets = void 0 === o[t].slidePresets ? {} : o[t].slidePresets, o[t].slidePresets[e.slide] = !0, o[t].c.trigger("revolution.slideprepared", { slide: e.slide })), o[t].heightInLayers = o[t].height, o[t].widthInLayers = o[t].width, o[t].levelInLayers = o[t].level, o[t].lastAnimateLayersCall = { id: t, skey: i, slide: e.slide, key: i, mode: e.mode, index: a }, window.requestAnimationFrame(function() { if (o[e.id].heightInLayers = void 0, o[e.id].widthInLayers = void 0, void 0 === o[t].dimensionReCheck[i] ? (o.updateLayerDimensions(o[t].lastAnimateLayersCall), !0 !== o[t].doubleDimensionCheck ? setTimeout(function() { o.updateLayerDimensions(o[t].lastAnimateLayersCall), o.updateRowZones(o[t].lastAnimateLayersCall) }, 150) : o.updateRowZones(o[t].lastAnimateLayersCall), o[t].doubleDimensionCheck = !0, o[t].dimensionReCheck[i] = !0) : o.updateRowZones(o[t].lastAnimateLayersCall), void 0 !== i && o[t].layers[i]) for (var a in o[t].layers[i]) o[t].layers[i].hasOwnProperty(a) && o.renderLayerAnimation({ layer: jQuery(o[t].layers[i][a]), id: t, mode: e.mode, caller: e.caller }); if (o[t].layers.static) for (var a in o[t].layers.static) o[t].layers.static.hasOwnProperty(a) && o.renderLayerAnimation({ layer: jQuery(o[t].layers.static[a]), id: t, mode: e.mode, caller: e.caller }); null != o[t].mtl && o[t].mtl.resume() }) }, updateRowZones: function(e) { (void 0 !== o[e.id].rowzones && o[e.id].rowzones.length > 0 && e.index >= 0 && o[e.id].rowzones[Math.min(e.index, o[e.id].rowzones.length)] && o[e.id].rowzones[Math.min(e.index, o[e.id].rowzones.length)].length > 0 || void 0 !== o[e.id].srowzones && o[e.id].srowzones.length > 0 || void 0 !== o[e.id].smiddleZones && o[e.id].smiddleZones.length > 0) && (o.setSize(e.id, void 0, "updateRowZones"), o.updateDimensions(e.id, "updateRowZones"), o.initLayer({ id: e.id, skey: e.key, slideIndex: e.slide, mode: "updateposition" }), o.initLayer({ id: e.id, skey: "static", slideIndex: "static", mode: "updateposition" }), "start" !== e.mode && "preset" !== e.mode || o.manageNavigation(e.id)) }, updateLayerDimensionsTimeout: function(e) { clearTimeout(o[e].gFLoadedTimer), o[e].gFLoadedTimer = setTimeout(function() { var t = o[e].lastAnimateLayersCall; void 0 !== t && o.updateLayerDimensions(o[t.id].lastAnimateLayersCall) }, 19) }, updateLayerDimensions: function(e) { var t = !1; o[e.id].caches.calcResponsiveLayersList = [], void 0 !== e.key && o[e.id].layers[e.key] && o.checkLayerDimensions({ id: e.id, skey: e.key, slideIndex: e.slide }) && (t = !0, o.initLayer({ id: e.id, skey: e.key, slideIndex: e.slide, mode: "updateAndResize" })), o.checkLayerDimensions({ id: e.id, skey: "individual", slideIndex: "individual" }) && (t = !0, o.initLayer({ id: e.id, skey: "individual", slideIndex: "individual", mode: "updateAndResize" })), o[e.id].layers.static && o.checkLayerDimensions({ id: e.id, skey: "static", slideIndex: "static" }) && (t = !0, o.initLayer({ id: e.id, skey: "static", slideIndex: "static", mode: "updateAndResize" })), t && o.updateLayersOnFullStage(e.id) }, updateAnimatingLayerPositions: function(e) { void 0 !== e && o.initLayer({ id: e.id, skey: e.key, slideIndex: e.slide, mode: "updateposition" }) }, removeTheLayers: function(e, t, i) { var a = o.gA(e[0], "key"); for (var r in o[t].sloops && o[t].sloops[a] && o[t].sloops[a].tl && o[t].sloops[a].tl.pause(), o[t].layers[a]) o[t].layers[a].hasOwnProperty(r) && o.renderLayerAnimation({ layer: jQuery(o[t].layers[a][r]), frame: "frame_999", mode: "continue", remove: !0, id: t, allforce: i }); for (var r in o[t].layers.static) o[t].layers.static.hasOwnProperty(r) && o.renderLayerAnimation({ layer: jQuery(o[t].layers.static[r]), frame: "frame_999", mode: "continue", remove: !0, id: t, allforce: i }) }, renderLayerAnimation: function(e) { var i, a = e.layer, r = e.id, s = o[r].level, h = o[r]._L[a[0].id], f = void 0 !== h.timeline ? h.timeline.time() : void 0, m = !1, v = !1, _ = "none"; if (("containerResized_2" !== e.caller && "swapSlideProgress_2" !== e.caller || !0 === h.animationRendered) && (h.animationRendered = !0, "preset" !== e.mode || !0 === h.frames.frame_1.timeline.waitoncall || void 0 !== h.scrollBasedOffset)) { if ("trigger" == e.mode && (h.triggeredFrame = e.frame), h._isstatic) { var x = "carousel" === o[r].sliderType && void 0 !== o[r].carousel.oldfocused ? o[r].carousel.oldfocused : void 0 === o[r].pr_lastshown_key ? 1 : parseInt(o[r].pr_lastshown_key, 0) + 1, k = "carousel" === o[r].sliderType ? void 0 === o[r].pr_next_key ? 0 === x ? 1 : x : parseInt(o[r].pr_next_key, 0) + 1 : void 0 === o[r].pr_processing_key ? x : parseInt(o[r].pr_processing_key, 0) + 1, S = x >= h.startslide && x <= h.endslide, L = k >= h.startslide && k <= h.endslide; if (_ = x === h.endslide && "continue" === e.mode || ("continue" === e.mode || x === h.endslide) && "none", !0 === e.allforce || !0 === _); else { if ("preset" === e.mode && (h.elementHovered || !L)) return; if ("rebuild" === e.mode && !S && !L) return; if ("start" === e.mode && L && "frame_1" === h.lastRequestedMainFrame) return; if (("start" === e.mode || "preset" === e.mode) && "frame_999" === h.lastRequestedMainFrame && !0 !== h.leftstage) return; if ("continue" === e.mode && "frame_999" === e.frame && (L || void 0 === h.lastRequestedMainFrame)) return; if ("start" === e.mode && !L) return } } else "start" === e.mode && "keep" !== h.triggercache && (h.triggeredFrame = void 0); for (var T in "start" === e.mode && (void 0 !== h.layerLoop && (h.layerLoop.count = 0), e.frame = void 0 === h.triggeredFrame ? 0 : h.triggeredFrame), "continue" !== e.mode && "trigger" !== e.mode && void 0 !== h.timeline && h.timeline.pause(0), "continue" !== e.mode && "trigger" !== e.mode || void 0 === h.timeline || h.timeline.pause(), h.timeline = tpGS.gsap.timeline({ paused: !0 }), "text" !== h.type && "button" !== h.type || void 0 !== h.splitText && (void 0 !== h.splitTextFix || "start" !== e.mode && "preset" !== e.mode) || (y({ layer: a, id: r }), "start" === e.mode && (h.splitTextFix = !0)), h.ford) if (h.ford.hasOwnProperty(T)) { var O = h.ford[T], A = !1; if ("frame_0" !== O && "frame_hover" !== O && "loop" !== O) { if ("frame_999" === O && !h.frames[O].timeline.waitoncall && h.frames[O].timeline.start >= o[r].duration && !0 !== e.remove && (h.frames[O].timeline.waitoncall = !0), "start" === e.mode && "keep" !== h.triggercache && (h.frames[O].timeline.callstate = h.frames[O].timeline.waitoncall ? "waiting" : ""), "trigger" === e.mode && h.frames[O].timeline.waitoncall && (O === e.frame ? (h.frames[O].timeline.triggered = !0, h.frames[O].timeline.callstate = "called") : h.frames[O].timeline.triggered = !1), "rebuild" === e.mode || h.frames[O].timeline.triggered || (h.frames[O].timeline.callstate = h.frames[O].timeline.waitoncall ? "waiting" : ""), !1 !== e.fastforward) { if (("continue" === e.mode || "trigger" === e.mode) && !1 === v && O !== e.frame) continue; if (("rebuild" === e.mode || "preset" === e.mode) && !1 === v && void 0 !== h.triggeredFrame && O !== h.triggeredFrame) continue; (O === e.frame || "rebuild" === e.mode && O === h.triggeredFrame) && (v = !0) } else O === e.frame && (v = !0); if (O !== e.frame && h.frames[O].timeline.waitoncall && "called" !== h.frames[O].timeline.callstate && (m = !0), O !== e.frame && v && (m = !0 === m && h.frames[O].timeline.waitoncall ? "skiprest" : !0 !== m && m), void 0 === h.hideonfirststart && "frame_1" === O && h.frames[O].timeline.waitoncall && (h.hideonfirststart = !0), m && "waiting" === h.frames[O].timeline.callstate && "preset" === e.mode && 1 != h.firstTimeRendered) { if (h._isstatic && void 0 === h.currentframe) continue; A = !0, h.firstTimeRendered = !0 } else if ("skiprest" === m || "called" !== h.frames[O].timeline.callstate && m && e.toframe !== O) continue; if ("frame_999" !== O || !1 !== _ || "continue" !== e.mode && "start" !== e.mode && "rebuild" !== e.mode) { h.fff = "frame_1" === O && ("trigger" !== e.mode || "frame_999" === h.currentframe || "frame_0" === h.currentframe || void 0 === h.currentframe), "trigger" === e.mode && "frame_1" === e.frame && !1 === h.leftstage && (h.fff = !1), A || (h.frames[O].timeline.callstate = "called", h.currentframe = O); var R = h.frames[O], I = h.fff ? h.frames.frame_0 : void 0, z = tpGS.gsap.timeline(), C = tpGS.gsap.timeline(), P = h.c, B = void 0 !== R.sfx && b(R.sfx.effect, h.m, R.timeline.ease), G = R.timeline.speed / 1e3, M = 0, D = w({ id: r, frame: R, layer: a, ease: R.timeline.ease, splitAmount: P.length, target: O, forcefilter: void 0 !== h.frames.frame_hover && void 0 !== h.frames.frame_hover.filter }), H = h.fff ? w({ id: r, frame: I, layer: a, ease: R.timeline.ease, splitAmount: P.length, target: "frame_0" }) : void 0, j = void 0 !== R.mask ? w({ id: r, frame: { transform: { x: R.mask.x, y: R.mask.y } }, layer: a, ease: D.ease, target: "mask" }) : void 0, W = void 0 !== j && h.fff ? w({ id: r, frame: { transform: { x: I.mask.x, y: I.mask.y } }, layer: a, ease: D.ease, target: "frommask" }) : void 0, N = D.ease; if (D.force3D = !0, "block" === B.type && (B.ft[0].background = R.sfx.fxc, B.ft[0].visibility = "visible", B.ft[1].visibility = "visible", z.add(tpGS.gsap.fromTo(B.bmask_in, G / 2, B.ft[0], B.ft[1], 0)), z.add(tpGS.gsap.fromTo(B.bmask_in, G / 2, B.ft[1], B.t, G / 2)), "frame_0" !== O && "frame_1" !== O || (H.opacity = 0)), void 0 !== R.color ? D.color = R.color : void 0 !== h.color && "npc" !== h.color[s] && (D.color = h.color[s]), void 0 !== I && void 0 !== I.color ? H.color = I.color : void 0 !== I && void 0 !== h.color && "npc" !== h.color[s] && (H.color = h.color[s]), void 0 !== R.bgcolor ? R.bgcolor.indexOf("gradient") >= 0 ? D.background = R.bgcolor : D.backgroundColor = R.bgcolor : !0 === h.bgcolinuse && (h.bgcol.indexOf("gradient") >= 0 ? D.background = h.bgcol : D.backgroundColor = h.bgcol), void 0 !== I && (void 0 !== I.bgcolor ? I.bgcolor.indexOf("gradient") >= 0 ? H.background = I.bgcolor : H.backgroundColor = I.bgcolor : !0 === h.bgcolinuse && (h.bgcol.indexOf("gradient") >= 0 ? H.background = h.bgcol : H.backgroundColor = h.bgcol)), void 0 !== h.splitText && !1 !== h.splitText) for (var F in t) if (void 0 !== R[t[F]] && !h.quickRendering) { var E = h.splitText[t[F]], Q = w({ id: r, frame: R, source: t[F], ease: N, layer: a, splitAmount: E.length, target: O + "_" + t[F] }), V = h.fff ? w({ id: r, frame: I, ease: Q.ease, source: t[F], layer: a, splitAmount: E.length, target: "frame_0_" + t[F] }) : void 0, Y = h.frames[O].dosplit ? void 0 === R[t[F]].delay ? .05 : R[t[F]].delay / 100 : 0; h.color[s] === D.color && "frame_1" === O || (Q.color = D.color), void 0 !== H && h.color[s] !== H.color && (V.color = H.color), void 0 !== V && V.color !== D.color && (Q.color = D.color); var X = jQuery.extend(!0, {}, Q), J = h.fff ? jQuery.extend(!0, {}, V) : void 0, q = R[t[F]].dir; delete X.dir, X.data = { splitted: !0 }, X.stagger = "center" === q || "edge" === q ? d({ each: Y, offset: Y / 2, from: q }) : { each: Y, from: q }, X.duration = G, void 0 !== J && delete J.dir, h.fff ? z.add(C.fromTo(E, J, X), 0) : z.add(C.to(E, X), 0), M = Math.max(M, E.length * Y) } if (G += M, void 0 === i && (i = "isometric" === o[r].perspectiveType ? 0 : "local" === o[r].perspectiveType ? void 0 !== D.transformPerspective ? D.transformPerspective : h.fff && void 0 !== H.transfromPerspective ? H.transfromPerspective : o[r].perspective : o[r].perspective), h.knowTransformPerspective = i, h.pxundermask || void 0 !== j && (void 0 !== I && "hidden" === I.mask.overflow || "hidden" === R.mask.overflow)) z.add(tpGS.gsap.to(h.m, .001, { overflow: "hidden" }), 0), "column" === h.type && z.add(tpGS.gsap.to(h.cbgmask, .001, { overflow: "hidden" }), 0), h.btrans && (W && (W.rotationX = h.btrans.rX, W.rotationY = h.btrans.rY, W.rotationZ = h.btrans.rZ, W.opacity = h.btrans.o), j.rotationX = h.btrans.rX, j.rotationY = h.btrans.rY, j.rotationZ = h.btrans.rZ, j.opacity = h.btrans.o), h.fff ? z.add(tpGS.gsap.fromTo([h.m, h.cbgmask], G, jQuery.extend(!0, {}, W), jQuery.extend(!0, {}, j)), .001) : z.add(tpGS.gsap.to([h.m, h.cbgmask], G, jQuery.extend(!0, {}, j)), .001); else if (void 0 !== h.btrans) { var Z = { x: 0, y: 0, filter: "none", opacity: h.btrans.o, rotationX: h.btrans.rX, rotationY: h.btrans.rY, rotationZ: h.btrans.rZ, overflow: "visible" }; 0 === h.btrans.rX && 0 == h.btrans.rY || (Z.transformPerspective = i), z.add(tpGS.gsap.to(h.m, .001, Z), 0) } else z.add(tpGS.gsap.to(h.m, .001, { clearProps: "transform", overflow: "visible" }), 0); D.force3D = "auto", h.fff ? (D.visibility = "visible", void 0 !== h.cbg && z.fromTo(h.cbg, G, H, D, 0), o[r].BUG_safari_clipPath && (H.clipPath || D.clipPath || h.spike) && (H.z && parseInt(H.z, 10) || (H.z = -1e-4), D.z && parseInt(D.z, 10) || (D.z = 0)), void 0 !== h.cbg && "column" === h.type ? z.fromTo(P, G, n(H), n(D), 0) : z.fromTo(P, G, H, D, 0), z.invalidate()) : (void 0 !== h.cbg && z.to(h.cbg, G, D, 0), !o[r].BUG_safari_clipPath || !D.clipPath && !h.spike || D.z && parseInt(D.z, 10) || (D.z = 0 - .01 * Math.random()), void 0 !== h.cbg && "column" === h.type ? z.to(P, G, n(D), 0) : z.to(P, G, D, 0)), void 0 !== N && "object" != typeof N && "function" != typeof N && N.indexOf("SFXBounce") >= 0 && z.to(P, G, { scaleY: .5, scaleX: 1.3, ease: D.ease + "-squash", transformOrigin: "bottom" }, 1e-4); var U = "trigger" !== e.mode && (!0 !== m && "skiprest" !== m || "rebuild" !== e.mode) || e.frame === O || void 0 === R.timeline.start || !jQuery.isNumeric(R.timeline.start) ? "+=0" === R.timeline.start || void 0 === R.timeline.start ? "+=0.05" : parseInt(R.timeline.start, 0) / 1e3 : "+=" + parseInt(R.timeline.startRelative, 0) / 1e3; h.timeline.addLabel(O, U), h.timeline.add(z, U), h.timeline.addLabel(O + "_end", "+=0.01"), z.eventCallback("onStart", c, [{ id: r, frame: O, L: a, tPE: i }]), "true" == h.animationonscroll || 1 == h.animationonscroll ? (z.eventCallback("onUpdate", p, [{ id: r, frame: O, L: a }]), z.smoothChildTiming = !0) : z.eventCallback("onUpdate", p, [{ id: r, frame: O, L: a }]), z.eventCallback("onComplete", g, [{ id: r, frame: O, L: a, tPE: i }]) } } } if (void 0 !== h.frames.loop) { var K = parseInt(h.frames.loop.timeline.speed, 0) / 1e3, $ = parseInt(h.frames.loop.timeline.start) / 1e3 || 0, ee = "trigger" !== e.mode && "frame_999" !== e.frame || "frame_999" !== e.frame ? .2 : 0, te = $ + ee; h.loop = { root: tpGS.gsap.timeline({}), preset: tpGS.gsap.timeline({}), move: tpGS.gsap.timeline({ repeat: -1, yoyo: h.frames.loop.timeline.yoyo_move }), rotate: tpGS.gsap.timeline({ repeat: -1, yoyo: h.frames.loop.timeline.yoyo_rotate }), scale: tpGS.gsap.timeline({ repeat: -1, yoyo: h.frames.loop.timeline.yoyo_scale }), filter: tpGS.gsap.timeline({ repeat: -1, yoyo: h.frames.loop.timeline.yoyo_filter }) }; var ie = h.frames.loop.frame_0, ae = h.frames.loop.frame_999, re = "blur(" + parseInt(ie.blur || 0, 0) + "px) grayscale(" + parseInt(ie.grayscale || 0, 0) + "%) brightness(" + parseInt(ie.brightness || 100, 0) + "%)", oe = "blur(" + (ae.blur || 0) + "px) grayscale(" + (ae.grayscale || 0) + "%) brightness(" + (ae.brightness || 100) + "%)"; if (h.loop.root.add(h.loop.preset, 0), h.loop.root.add(h.loop.move, ee), h.loop.root.add(h.loop.rotate, ee), h.loop.root.add(h.loop.scale, ee), h.loop.root.add(h.loop.filter, ee), "blur(0px) grayscale(0%) brightness(100%)" === re && "blur(0px) grayscale(0%) brightness(100%)" === oe && (re = "none", oe = "none"), ae.originX = ie.originX, ae.originY = ie.originY, ae.originZ = ie.originZ, void 0 === i && (i = "isometric" === o[r].perspectiveType ? 0 : "local" === o[r].perspectiveType && void 0 !== D ? void 0 !== D.transformPerspective ? D.transformPerspective : h.fff && void 0 !== H.transfromPerspective ? H.transfromPerspective : o[r].perspective : o[r].perspective), h.frames.loop.timeline.curved) { var se = parseInt(h.frames.loop.timeline.radiusAngle, 0) || 0, ne = [{ x: (ie.x - ie.xr) * o[r].bw, y: 0, z: (ie.z - ie.zr) * o[r].bw }, { x: 0, y: (ie.y + ie.yr) * o[r].bw, z: 0 }, { x: (ae.x + ae.xr) * o[r].bw, y: 0, z: (ae.z + ae.zr) * o[r].bw }, { x: 0, y: (ae.y - ae.yr) * o[r].bw, z: 0 }], le = { type: "thru", curviness: h.frames.loop.timeline.curviness, path: [], autoRotate: h.frames.loop.timeline.autoRotate }; for (var de in ne) ne.hasOwnProperty(de) && (le.path[de] = ne[se], se = ++se == ne.length ? 0 : se); ("trigger" !== e.mode && "frame_999" !== e.frame || "frame_999" !== e.frame) && h.loop.preset.fromTo(h.lp, ee, { "-webkit-filter": re, filter: re, x: 0, y: 0, z: 0, minWidth: h._incolumn || h._ingroup ? "100%" : void 0 === h.eow ? 0 : h.eow, minHeight: h._incolumn || h._ingroup ? "100%" : void 0 === h.eoh ? 0 : h.eoh, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0, rotationX: 0, rotationY: 0, rotationZ: 0, transformPerspective: i, transformOrigin: ae.originX + " " + ae.originY + " " + ae.originZ, opacity: 1 }, l({ x: le.path[3].x, y: le.path[3].y, z: le.path[3].z, scaleX: ie.scaleX, skewX: ie.skewX, skewY: ie.skewY, scaleY: ie.scaleY, rotationX: ie.rotationX, rotationY: ie.rotationY, rotationZ: ie.rotationZ, "-webkit-filter": re, filter: re, ease: "sine.inOut", opacity: ie.opacity }), 0), h.loop.move.to(h.lp, h.frames.loop.timeline.yoyo_move ? K / 2 : K, { motionPath: le, ease: h.frames.loop.timeline.ease }) } else("trigger" !== e.mode && "frame_999" !== e.frame || "frame_999" !== e.frame) && h.loop.preset.fromTo(h.lp, ee, { "-webkit-filter": re, filter: re, x: 0, y: 0, z: 0, minWidth: h._incolumn || h._ingroup ? "100%" : void 0 === h.eow ? 0 : h.eow, minHeight: h._incolumn || h._ingroup ? "100%" : void 0 === h.eoh ? 0 : h.eoh, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0, rotationX: 0, rotationY: 0, rotationZ: 0, transformPerspective: i, transformOrigin: ae.originX + " " + ae.originY + " " + ae.originZ, opacity: 1 }, l({ x: ie.x * o[r].bw, y: ie.y * o[r].bw, z: ie.z * o[r].bw, scaleX: ie.scaleX, skewX: ie.skewX, skewY: ie.skewY, scaleY: ie.scaleY, rotationX: ie.rotationX, rotationY: ie.rotationY, rotationZ: ie.rotationZ, ease: "sine.out", opacity: ie.opacity, "-webkit-filter": re, filter: re }), 0), h.loop.move.to(h.lp, h.frames.loop.timeline.yoyo_move ? K / 2 : K, { x: ae.x * o[r].bw, y: ae.y * o[r].bw, z: ae.z * o[r].bw, ease: h.frames.loop.timeline.ease }); h.loop.rotate.to(h.lp, h.frames.loop.timeline.yoyo_rotate ? K / 2 : K, { rotationX: ae.rotationX, rotationY: ae.rotationY, rotationZ: ae.rotationZ, ease: h.frames.loop.timeline.ease }), h.loop.scale.to(h.lp, h.frames.loop.timeline.yoyo_scale ? K / 2 : K, l({ scaleX: ae.scaleX, scaleY: ae.scaleY, skewX: ae.skewX, skewY: ae.skewY, ease: h.frames.loop.timeline.ease })); var ce = { opacity: ae.opacity || 1, ease: h.frames.loop.timeline.ease, "-webkit-filter": oe, filter: oe }; h.loop.filter.to(h.lp, h.frames.loop.timeline.yoyo_filter ? K / 2 : K, ce), h.timeline.add(h.loop.root, te) } if (void 0 !== h.frames.frame_hover && ("start" === e.mode || void 0 === h.hoverframeadded)) { h.hoverframeadded = !0; var pe = h.frames.frame_hover.timeline.speed / 1e3; pe = 0 === pe ? 1e-5 : pe, h.hoverlistener || (h.hoverlistener = !0, o.document.on("mouseenter mousemove", ("column" === h.type ? "#" + h.cbg[0].id + "," : "") + "#" + h.c[0].id, function(e) { if ("mousemove" !== e.type || !0 !== h.ignoremousemove) { if (h.animationonscroll || h.readyForHover) { if (h.elementHovered = !0, h.hovertimeline || (h.hovertimeline = tpGS.gsap.timeline({ paused: !0 })), 0 == h.hovertimeline.progress() && (void 0 === h.lastHoveredTimeStamp || (new Date).getTime() - h.lastHoveredTimeStamp > 150) && (h.ignoremousemove = !0, h.hovertimeline.to([h.m, h.cbgmask], pe, { overflow: h.frames.frame_hover.mask ? "hidden" : "visible" }, 0), "column" === h.type && h.hovertimeline.to(h.cbg, pe, jQuery.extend(!0, {}, u(h.frames.frame_hover, h.cbg)), 0), "text" !== h.type && "button" !== h.type || void 0 === h.splitText || !1 === h.splitText || h.hovertimeline.to([h.splitText.lines, h.splitText.words, h.splitText.chars], pe, { color: h.frames.frame_hover.color, ease: h.frames.frame_hover.transform.ease }, 0), "column" === h.type ? h.hovertimeline.to(h.c, pe, n(jQuery.extend(!0, {}, u(h.frames.frame_hover, h.c))), 0) : h.hovertimeline.to(h.c, pe, jQuery.extend(!0, {}, u(h.frames.frame_hover, h.c)), 0), "svg" === h.type)) { h.svgHTemp = jQuery.extend(!0, {}, h.svgH); var t = Array.isArray(h.svgHTemp.fill) ? h.svgHTemp.fill[o[r].level] : h.svgHTemp.fill; h.svgHTemp.fill = t, h.hovertimeline.to(h.svg, pe, h.svgHTemp, 0), h.hovertimeline.to(h.svgPath, pe, { fill: t }, 0) } h.hovertimeline.play() } h.lastHoveredTimeStamp = (new Date).getTime() } }), o.document.on("mouseleave", ("column" === h.type ? "#" + h.cbg[0].id + "," : "") + "#" + h.c[0].id, function() { h.elementHovered = !1, (h.animationonscroll || h.readyForHover) && void 0 !== h.hovertimeline && (h.hovertimeline.reverse(), h.hovertimeline.eventCallback("onReverseComplete", o.hoverReverseDone, [{ id: r, L: a }])) })) } if (A || (h.lastRequestedMainFrame = "start" === e.mode ? "frame_1" : "continue" === e.mode ? void 0 === e.frame ? h.currentframe : e.frame : h.lastRequestedMainFrame), void 0 !== e.totime ? h.tSTART = e.totime : void 0 !== f && void 0 === e.frame ? h.tSTART = f : void 0 !== e.frame ? h.tSTART = e.frame : h.tSTART = 0, 0 === h.tSTART && void 0 === h.startedAnimOnce && void 0 === h.leftstage && void 0 === h.startedAnimOnce && !0 === h.hideonfirststart && "preset" === e.mode && (o[r]._L[a[0].id].pVisRequest = 0, h.hideonfirststart = !1), "frame_999" !== h.tSTART && "frame_999" !== h.triggeredFrame || !h.leftstage && void 0 !== h.startedAnimOnce) { if ("true" != h.animationonscroll && 1 != h.animationonscroll ? h.timeline.play(h.tSTART) : h.timeline.time(h.tSTART), jQuery.inArray(h.type, ["group", "row", "column"]) >= 0 && void 0 !== e.frame) { if (void 0 === h.childrenJS) for (var F in h.childrenJS = {}, o[r]._L) void 0 !== o[r]._L[F]._lig && void 0 !== o[r]._L[F]._lig[0] && o[r]._L[F]._lig[0].id === a[0].id && o[r]._L[F]._lig[0].id !== o[r]._L[F].c[0].id && (h.childrenJS[o[r]._L[F].c[0].id] = o[r]._L[F].c); e.frame = "0" == e.frame ? "frame_0" : e.frame, e.frame = "1" == e.frame ? "frame_1" : e.frame, e.frame = "999" == e.frame ? "frame_999" : e.frame; var ge = void 0 === e.totime ? void 0 !== h.frames[e.frame].timeline.startAbsolute ? parseInt(h.frames[e.frame].timeline.startAbsolute, 0) / 1e3 : void 0 !== h.frames[e.frame].timeline.start ? jQuery.isNumeric(h.frames[e.frame].timeline.start) ? parseInt(h.frames[e.frame].timeline.start, 0) / 1e3 : 0 : .001 : e.totime; if (!0 === e.updateChildren) for (var F in h.childrenJS) h.childrenJS.hasOwnProperty(F) && o.renderLayerAnimation({ layer: h.childrenJS[F], fastforward: !1, id: r, mode: "continue", updateChildren: !0, totime: ge }); else for (var F in h.childrenJS) h.childrenJS.hasOwnProperty(F) && o[r]._L[F].pausedTrueParrent && (o.renderLayerAnimation({ layer: h.childrenJS[F], fastforward: !1, id: r, mode: "continue", updateChildren: !0, totime: ge }), o[r]._L[F].pausedTrueParrent = !1) } } else; } } }); var n = function(e) { var t = jQuery.extend(!0, {}, e); return delete t.backgroundColor, delete t.background, delete t.backgroundImage, delete t.borderSize, delete t.borderStyle, t }, l = function(e) { return void 0 === e.skewX && delete e.skewX, void 0 === e.skewY && delete e.skewY, e }, d = function(e) { var t = tpGS.gsap.utils.distribute(e); return function(i, a, r) { return t(i, a, r) + (i <= r.length / 2 ? 0 : e.offset || 0) } }, c = function(e) { o[e.id].BUG_safari_clipPath && e.L[0].classList.remove("rs-pelock"), (o[e.id]._L[e.L[0].id]._ingroup || o[e.id]._L[e.L[0].id]._incolumn || o[e.id]._L[e.L[0].id]._inrow) && void 0 !== o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid] && void 0 !== o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timeline && (o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timeline.isActive() || void 0 === o[e.id]._L[e.L[0].id] || void 0 === o[e.id]._L[e.L[0].id].frames[o[e.id]._L[e.L[0].id].timeline.currentLabel()] || (null == o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timezone || o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timezone.to <= parseInt(o[e.id]._L[e.L[0].id].frames[o[e.id]._L[e.L[0].id].timeline.currentLabel()].timeline.start, 0)) && !0 !== o[e.id]._L[e.L[0].id].animOnScrollForceDisable && (o[e.id]._L[e.L[0].id].pausedTrueParrent = !0, o[e.id]._L[e.L[0].id].timeline.pause())); var t = o[e.id]._L[e.L[0].id], i = t.hovertimeline; i && i.time() > 0 && (i.pause(), i.time(0), i.kill(), delete t.hovertimeline), delete o[e.id]._L[e.L[0].id].childrenAtStartNotVisible, o[e.id]._L[e.L[0].id].pVisRequest = 1; var a = { layer: e.L }; o[e.id]._L[e.L[0].id].ignoremousemove = !1, o[e.id]._L[e.L[0].id].leftstage = !1, o[e.id]._L[e.L[0].id].readyForHover = !1, void 0 !== o[e.id]._L[e.L[0].id].layerLoop && o[e.id]._L[e.L[0].id].layerLoop.from === e.frame && o[e.id]._L[e.L[0].id].layerLoop.count++, "frame_1" === e.frame && "Safari" === window.RSBrowser && void 0 === o[e.id]._L[e.L[0].id].safariRenderIssue && (tpGS.gsap.set([o[e.id]._L[e.L[0].id].c], { opacity: 1 }), o[e.id]._L[e.L[0].id].safariRenderIssue = !0), "frame_999" !== e.frame && (o[e.id]._L[e.L[0].id].startedAnimOnce = !0, o[e.id]._L[e.L[0].id].pPeventsRequest = o[e.id]._L[e.L[0].id].noPevents ? "none" : "auto"), a.eventtype = "frame_0" === e.frame || "frame_1" === e.frame ? "enterstage" : "frame_999" === e.frame ? "leavestage" : "framestarted", window.requestAnimationFrame(function() { o[e.id]._L[e.L[0].id]._ingroup && !0 !== o[e.id]._L[o[e.id]._L[e.L[0].id]._lig[0].id].frames.frame_1.timeline.waitoncall && (o[e.id]._L[o[e.id]._L[e.L[0].id]._lig[0].id].pVisRequest = 1), o.requestLayerUpdates(e.id, a.eventtype, e.L[0].id, void 0 !== o[e.id]._L[e.L[0].id].frames[e.frame] && void 0 !== o[e.id]._L[e.L[0].id].frames[e.frame].timeline && 0 == o[e.id]._L[e.L[0].id].frames[e.frame].timeline.usePerspective ? e.tPE : "ignore") }), a.layertype = o[e.id]._L[e.L[0].id].type, a.frame_index = e.frame, a.layersettings = o[e.id]._L[e.L[0].id], o[e.id].c.trigger("revolution.layeraction", [a]), "enterstage" === a.eventtype && o.toggleState(o[e.id]._L[e.L[0].id].layertoggledby), "frame_1" === e.frame && o.animcompleted(e.L, e.id) }, p = function(e) { "frame_999" === e.frame && (o[e.id]._L[e.L[0].id].pVisRequest = 1, o[e.id]._L[e.L[0].id].pPeventsRequest = o[e.id]._L[e.L[0].id].noPevents ? "none" : "auto", o[e.id]._L[e.L[0].id].leftstage = !1, window.requestAnimationFrame(function() { o.requestLayerUpdates(e.id, "update", e.L[0].id) })) }, g = function(e) { var t = !0; if ("column" === o[e.id]._L[e.L[0].id].type || "row" === o[e.id]._L[e.L[0].id].type || "group" === o[e.id]._L[e.L[0].id].type) { var i = o[e.id]._L[e.L[0].id].timeline.currentLabel(), a = jQuery.inArray(i, o[e.id]._L[e.L[0].id].ford); a++, a = o[e.id]._L[e.L[0].id].ford.length > a ? o[e.id]._L[e.L[0].id].ford[a] : i, void 0 !== o[e.id]._L[e.L[0].id].frames[a] && void 0 !== o[e.id]._L[e.L[0].id].frames[i] && (o[e.id]._L[e.L[0].id].timezone = { from: parseInt(o[e.id]._L[e.L[0].id].frames[i].timeline.startAbsolute, 0), to: parseInt(o[e.id]._L[e.L[0].id].frames[a].timeline.startAbsolute, 0) }) } if ("frame_999" !== e.frame && o[e.id].isEdge && "shape" === o[e.id]._L[e.L[0].id].type) { var r = o[e.id]._L[e.L[0].id].c[0].style.opacity; o[e.id]._L[e.L[0].id].c[0].style.opacity = r - 1e-4, tpGS.gsap.set(o[e.id]._L[e.L[0].id].c[0], { opacity: r - .001, delay: .05 }), tpGS.gsap.set(o[e.id]._L[e.L[0].id].c[0], { opacity: r, delay: .1 }) } var s = {}; s.layer = e.L, s.eventtype = "frame_0" === e.frame || "frame_1" === e.frame ? "enteredstage" : "frame_999" === e.frame ? "leftstage" : "frameended", o[e.id]._L[e.L[0].id].readyForHover = !0, s.layertype = o[e.id]._L[e.L[0].id].type, s.frame_index = e.frame, s.layersettings = o[e.id]._L[e.L[0].id], o[e.id].c.trigger("revolution.layeraction", [s]), "frame_999" === e.frame && "leftstage" === s.eventtype ? (o[e.id]._L[e.L[0].id].leftstage = !0, o[e.id]._L[e.L[0].id].pVisRequest = 0, o[e.id]._L[e.L[0].id].pPeventsRequest = "none", t = !1, window.requestAnimationFrame(function() { o.requestLayerUpdates(e.id, "leftstage", e.L[0].id) })) : (e.L[0].id, void 0 !== o[e.id]._L[e.L[0].id].frames[e.frame] && void 0 !== o[e.id]._L[e.L[0].id].frames[e.frame].timeline && 0 == o[e.id]._L[e.L[0].id].frames[e.frame].timeline.usePerspective && window.requestAnimationFrame(function() { o.requestLayerUpdates(e.id, "frameended", e.L[0].id, e.tPE) })), "leftstage" === s.eventtype && void 0 !== o[e.id].videos && void 0 !== o[e.id].videos[e.L[0].id] && o.stopVideo && o.stopVideo(e.L, e.id), "column" === o[e.id]._L[e.L[0].id].type && tpGS.gsap.to(o[e.id]._L[e.L[0].id].cbg, .01, { visibility: "visible" }), "leftstage" === s.eventtype && (o.unToggleState(e.layertoggledby), "video" === o[e.id]._L[e.L[0].id].type && o.resetVideo && setTimeout(function() { o.resetVideo(e.L, e.id) }, 100)), o[e.id].BUG_safari_clipPath && !t && e.L[0].classList.add("rs-pelock"), void 0 !== o[e.id]._L[e.L[0].id].layerLoop && o[e.id]._L[e.L[0].id].layerLoop.to === e.frame && (-1 == o[e.id]._L[e.L[0].id].layerLoop.repeat || o[e.id]._L[e.L[0].id].layerLoop.repeat > o[e.id]._L[e.L[0].id].layerLoop.count) && o.renderLayerAnimation({ layer: o[e.id]._L[e.L[0].id].c, frame: o[e.id]._L[e.L[0].id].layerLoop.from, updateChildren: o[e.id]._L[e.L[0].id].layerLoop.children, mode: "continue", fastforward: !0 === o[e.id]._L[e.L[0].id].layerLoop.keep, id: e.id }) }, u = function(e, t) { var i, a = jQuery.extend(!0, {}, e.transform); return (a.originX || a.originY || a.originZ) && (a.transformOrigin = (void 0 === a.originX ? "50%" : a.originX) + " " + (void 0 === a.originY ? "50%" : a.originY) + " " + (void 0 === a.originZ ? "50%" : a.originZ), delete a.originX, delete a.originY, delete a.originZ), void 0 !== e && void 0 !== e.filter && (a["-webkit-filter"] = "blur(" + (e.filter.blur || 0) + "px) grayscale(" + (e.filter.grayscale || 0) + "%) brightness(" + (e.filter.brightness || 100) + "%)", a.filter = "blur(" + (e.filter.blur || 0) + "px) grayscale(" + (e.filter.grayscale || 0) + "%) brightness(" + (e.filter.brightness || 100) + "%)"), a.color = void 0 === a.color ? "rgba(255,255,255,1)" : a.color, a.force3D = "auto", void 0 !== a.borderRadius && ((i = a.borderRadius.split(" ")).length, a.borderTopLeftRadius = i[0], a.borderTopRightRadius = i[1], a.borderBottomRightRadius = i[2], a.borderBottomLeftRadius = i[3], delete a.borderRadius), void 0 !== a.borderWidth && ((i = a.borderWidth.split(" ")).length, a.borderTopWidth = i[0], a.borderRightWidth = i[1], a.borderBottomWidth = i[2], a.borderLeftWidth = i[3], delete a.borderWidth), a.backgroundImage && "string" == typeof a.backgroundImage && -1 !== a.backgroundImage.search("gradient") && 180 !== f(t.css("backgroundImage")) && 180 === f(a.backgroundImage) && (a.backgroundImage = h(a.backgroundImage, 180)), a }, h = function(e, t) { var i = (e = e.split("("))[0]; return e.shift(), i + "(" + t + "deg, " + e.join("(") }, f = function(e) { if (-1 !== e.search("deg,")) { var t = e.split("deg,")[0]; if (-1 !== t.search(/\(/)) return parseInt(t.split("(")[1], 10) } return 180 }, m = function(e, t) { e = void 0 === e ? "" : e.split(";"); var i = { fill: o.revToResp("#ffffff", o[t].rle), stroke: "transparent", "stroke-width": "0px", "stroke-dasharray": "0", "stroke-dashoffset": "0" }; for (var a in e) if (e.hasOwnProperty(a)) { var r = e[a].split(":"); switch (r[0]) { case "c": i.fill = o.revToResp(r[1], o[t].rle, void 0, "||"); break; case "sw": i["stroke-width"] = r[1]; break; case "sc": i.stroke = r[1]; break; case "so": i["stroke-dashoffset"] = r[1]; break; case "sa": i["stroke-dasharray"] = r[1] } } return i }, v = function(e) { return "c" === e ? "center" : "l" === e ? "left" : "r" === e ? "right" : e }, y = function(e) { var t = o[e.id]._L[e.layer[0].id], i = !1; if (t.splitText && !1 !== t.splitText && t.splitText.revert(), "text" === t.type || "button" === t.type) { for (var a in t.frames) if (void 0 !== t.frames[a].chars || void 0 !== t.frames[a].words || void 0 !== t.frames[a].lines) { i = !0; break } t.splitText = !!i && new tpGS.SplitText(t.c, { type: "lines,words,chars", wordsClass: "rs_splitted_words", linesClass: "rs_splitted_lines", charsClass: "rs_splitted_chars" }) } else t.splitText = !1 }, b = function(e, t, i) { if (void 0 !== e && e.indexOf("block") >= 0) { var a = {}; switch (0 === t.find(".tp-blockmask_in").length && (t.append('
'), t.append('
')), i = void 0 === i ? "power3.inOut" : i, a.ft = [{ scaleY: 1, scaleX: 0, transformOrigin: "0% 50%" }, { scaleY: 1, scaleX: 1, ease: i, immediateRender: !1 }], a.t = { scaleY: 1, scaleX: 0, transformOrigin: "100% 50%", ease: i, immediateRender: !1 }, a.bmask_in = t.find(".tp-blockmask_in"), a.bmask_out = t.find(".tp-blockmask_out"), a.type = "block", e) { case "blocktoleft": case "blockfromright": a.ft[0].transformOrigin = "100% 50%", a.t.transformOrigin = "0% 50%"; break; case "blockfromtop": case "blocktobottom": a.ft = [{ scaleX: 1, scaleY: 0, transformOrigin: "50% 0%" }, { scaleX: 1, scaleY: 1, ease: i, immediateRender: !1 }], a.t = { scaleX: 1, scaleY: 0, transformOrigin: "50% 100%", ease: i, immediateRender: !1 }; break; case "blocktotop": case "blockfrombottom": a.ft = [{ scaleX: 1, scaleY: 0, transformOrigin: "50% 100%" }, { scaleX: 1, scaleY: 1, ease: i, immediateRender: !1 }], a.t = { scaleX: 1, scaleY: 0, transformOrigin: "50% 0%", ease: i, immediateRender: !1 } } return a.ft[1].overwrite = "auto", a.t.overwrite = "auto", a } return !1 }, _ = function(e, t, i, a, r) { return 0 === o[r].sdir || void 0 === t ? e : ("mask" === i ? a = "x" === a ? "mX" : "y" === a ? "mY" : a : "chars" === i ? a = "x" === a ? "cX" : "y" === a ? "cY" : "dir" === a ? "cD" : a : "words" === i ? a = "x" === a ? "wX" : "y" === a ? "wY" : "dir" === a ? "wD" : a : "lines" === i && (a = "x" === a ? "lX" : "y" === a ? "lY" : "dir" === a ? "lD" : a), void 0 === t[a] || !1 === t[a] ? e : void 0 !== t && !0 === t[a] ? "t" === e || "top" === e ? "b" : "b" === e || "bottom" === e ? "t" : "l" === e || "left" === e ? "r" : "r" === e || "right" === e ? "l" : -1 * e : void 0) }, w = function(e) { var t, i = o[e.id]._L[e.layer[0].id], a = void 0 === e.source ? jQuery.extend(!0, {}, e.frame.transform) : jQuery.extend(!0, {}, e.frame[e.source]), r = { originX: "50%", originY: "50%", originZ: "0" }, s = void 0 !== i._lig ? o[e.id]._L[i._lig[0].id].eow : o[e.id].conw, n = void 0 !== i._lig ? o[e.id]._L[i._lig[0].id].eoh : o[e.id].conh; for (var l in a) if (a.hasOwnProperty(l)) { if (a[l] = "object" == typeof a[l] ? a[l][o[e.id].level] : a[l], "inherit" === a[l] || "delay" === l || "direction" === l || "use" === l) delete a[l]; else if ("originX" === l || "originY" === l || "originZ" === l) r[l] = a[l], delete a[l]; else if (jQuery.isNumeric(a[l], 0)) a[l] = _(a[l], e.frame.reverse, e.target, l, e.id, e.id); else if ("r" === a[l][0] && "a" === a[l][1] && "(" === a[l][3]) a[l] = a[l].replace("ran", "random"); else if (a[l].indexOf("cyc(") >= 0) { var d = a[l].replace("cyc(", "").replace(")", "").replace("[", "").replace("]", "").split("|"); a[l] = new function(e) { return tpGS.gsap.utils.wrap(d, void 0) } } else if (a[l].indexOf("%") >= 0 && jQuery.isNumeric(t = parseInt(a[l], 0))) a[l] = "x" === l ? _((i.eow || 0) * t / 100, e.frame.reverse, e.target, l, e.id) : "y" === l ? _((i.eoh || 0) * t / 100, e.frame.reverse, e.target, l, e.id) : a[l]; else switch (a[l] = a[l].replace("[", "").replace("]", ""), a[l] = _(a[l], e.frame.reverse, e.target, l, e.id, e.id), a[l]) { case "t": case "top": a[l] = 0 - (i.eoh || 0) - ("column" === i.type ? 0 : i.calcy || 0); break; case "b": case "bottom": a[l] = n - ("column" === i.type ? 0 : i.calcy || 0); break; case "l": case "left": a[l] = 0 - (i.eow || 0) - ("column" === i.type ? 0 : i.calcx || 0); break; case "r": case "right": a[l] = s - ("column" === i.type ? 0 : i.calcx || 0); break; case "m": case "c": case "middle": case "center": a[l] = "x" === l ? _(s / 2 - ("column" === i.type ? 0 : i.calcx || 0) - (i.eow || 0) / 2, e.frame.reverse, e.target, l, e.id) : "y" === l ? _(n / 2 - ("column" === i.type ? 0 : i.calcy || 0) - (i.eoh || 0) / 2, e.frame.reverse, e.target, l, e.id) : a[l] } "skewX" === l && void 0 !== a[l] && (a.scaleY = void 0 === a.scaleY ? 1 : parseFloat(a.scaleY), a.scaleY *= Math.cos(parseFloat(a[l]) * tpGS.DEG2RAD)), "skewY" === l && void 0 !== a[l] && (a.scaleX = void 0 === a.scaleX ? 1 : parseFloat(a.scaleX), a.scaleX *= Math.cos(parseFloat(a[l]) * tpGS.DEG2RAD)) } if (a.transformOrigin = r.originX + " " + r.originY + " " + r.originZ, !o[e.id].BUG_ie_clipPath && void 0 !== a.clip && void 0 !== i.clipPath && i.clipPath.use) { var c = "rectangle" == i.clipPath.type, p = parseInt(a.clip, 0), g = 100 - parseInt(a.clipB, 0), u = Math.round(p / 2); switch (i.clipPath.origin) { case "invh": a.clipPath = "polygon(0% 0%, 0% 100%, " + p + "% 100%, " + p + "% 0%, 100% 0%, 100% 100%, " + g + "% 100%, " + g + "% 0%, 0% 0%)"; break; case "invv": a.clipPath = "polygon(100% 0%, 0% 0%, 0% " + p + "%, 100% " + p + "%, 100% 100%, 0% 100%, 0% " + g + "%, 100% " + g + "%, 100% 0%)"; break; case "cv": a.clipPath = c ? "polygon(" + (50 - u) + "% 0%, " + (50 + u) + "% 0%, " + (50 + u) + "% 100%, " + (50 - u) + "% 100%)" : "circle(" + p + "% at 50% 50%)"; break; case "ch": a.clipPath = c ? "polygon(0% " + (50 - u) + "%, 0% " + (50 + u) + "%, 100% " + (50 + u) + "%, 100% " + (50 - u) + "%)" : "circle(" + p + "% at 50% 50%)"; break; case "l": a.clipPath = c ? "polygon(0% 0%, " + p + "% 0%, " + p + "% 100%, 0% 100%)" : "circle(" + p + "% at 0% 50%)"; break; case "r": a.clipPath = c ? "polygon(" + (100 - p) + "% 0%, 100% 0%, 100% 100%, " + (100 - p) + "% 100%)" : "circle(" + p + "% at 100% 50%)"; break; case "t": a.clipPath = c ? "polygon(0% 0%, 100% 0%, 100% " + p + "%, 0% " + p + "%)" : "circle(" + p + "% at 50% 0%)"; break; case "b": a.clipPath = c ? "polygon(0% 100%, 100% 100%, 100% " + (100 - p) + "%, 0% " + (100 - p) + "%)" : "circle(" + p + "% at 50% 100%)"; break; case "lt": a.clipPath = c ? "polygon(0% 0%," + 2 * p + "% 0%, 0% " + 2 * p + "%)" : "circle(" + p + "% at 0% 0%)"; break; case "lb": a.clipPath = c ? "polygon(0% " + (100 - 2 * p) + "%, 0% 100%," + 2 * p + "% 100%)" : "circle(" + p + "% at 0% 100%)"; break; case "rt": a.clipPath = c ? "polygon(" + (100 - 2 * p) + "% 0%, 100% 0%, 100% " + 2 * p + "%)" : "circle(" + p + "% at 100% 0%)"; break; case "rb": a.clipPath = c ? "polygon(" + (100 - 2 * p) + "% 100%, 100% 100%, 100% " + (100 - 2 * p) + "%)" : "circle(" + p + "% at 100% 100%)"; break; case "clr": a.clipPath = c ? "polygon(0% 0%, 0% " + p + "%, " + (100 - p) + "% 100%, 100% 100%, 100% " + (100 - p) + "%, " + p + "% 0%)" : "circle(" + p + "% at 50% 50%)"; break; case "crl": a.clipPath = c ? "polygon(0% " + (100 - p) + "%, 0% 100%, " + p + "% 100%, 100% " + p + "%, 100% 0%, " + (100 - p) + "% 0%)" : "circle(" + p + "% at 50% 50%)" }!0 !== o.isFirefox(e.id) && (a["-webkit-clip-path"] = a.clipPath), a["clip-path"] = a.clipPath, delete a.clip, delete a.clipB } else delete a.clip; return "mask" !== e.target && (void 0 === e.frame || void 0 === e.frame.filter && !e.forcefilter || (a["-webkit-filter"] = "blur(" + (null == e.frame.filter ? 0 : e.frame.filter.blur || 0) + "px) grayscale(" + (null == e.frame.filter ? 0 : e.frame.filter.grayscale || 0) + "%) brightness(" + (null == e.frame.filter ? 100 : e.frame.filter.brightness || 100) + "%)", a.filter = "blur(" + (null == e.frame.filter ? 0 : e.frame.filter.blur || 0) + "px) grayscale(" + (null == e.frame.filter ? 0 : e.frame.filter.grayscale || 0) + "%) brightness(" + (null == e.frame.filter ? 100 : e.frame.filter.brightness || 100) + "%)"), jQuery.inArray(e.source, ["chars", "words", "lines"]) >= 0 && (void 0 !== e.frame[e.source].blur || e.forcefilter) && (a["-webkit-filter"] = "blur(" + (parseInt(e.frame[e.source].blur, 0) || 0) + "px) grayscale(" + (parseInt(e.frame[e.source].grayscale, 0) || 0) + "%) brightness(" + (parseInt(e.frame[e.source].brightness, 0) || 100) + "%)", a.filter = "blur(" + (parseInt(e.frame[e.source].blur, 0) || 0) + "px) grayscale(" + (parseInt(e.frame[e.source].grayscale, 0) || 0) + "%) brightness(" + (parseInt(e.frame[e.source].brightness, 0) || 100) + "%)")), a.ease = void 0 !== a.ease ? a.ease : void 0 === a.ease && void 0 !== e.ease || void 0 !== a.ease && void 0 !== e.ease && "inherit" === a.ease ? e.ease : e.frame.timeline.ease, a.ease = void 0 === a.ease || "default" === a.ease ? "power3.inOut" : a.ease, a }, x = function(e, t, i, a, r) { var s, n, l = {}, d = {}, c = {}; for (var p in a = void 0 === a ? "transform" : a, "loop" === r ? (c.autoRotate = !1, c.yoyo_filter = !1, c.yoyo_rotate = !1, c.yoyo_move = !1, c.yoyo_scale = !1, c.curved = !1, c.curviness = 2, c.ease = "none", c.speed = 1e3, c.st = 0, l.x = 0, l.y = 0, l.z = 0, l.xr = 0, l.yr = 0, l.zr = 0, l.scaleX = 1, l.scaleY = 1, l.originX = "50%", l.originY = "50%", l.originZ = "0", l.rotationX = "0deg", l.rotationY = "0deg", l.rotationZ = "0deg") : (c.speed = 300, i ? c.ease = "default" : l.ease = "default"), "sfx" === r && (l.fxc = "#ffffff"), e = e.split(";")) if (e.hasOwnProperty(p)) { var g = e[p].split(":"); switch (g[0]) { case "u": l.use = "true" === g[1] || "t" === g[1] || fasle; break; case "c": s = g[1]; break; case "fxc": l.fxc = g[1]; break; case "bgc": n = g[1]; break; case "auto": l.auto = "t" === g[1] || void 0 === g[1] || "true" === g[1]; break; case "o": l.opacity = g[1]; break; case "oX": l.originX = g[1]; break; case "oY": l.originY = g[1]; break; case "oZ": l.originZ = g[1]; break; case "sX": l.scaleX = g[1]; break; case "sY": l.scaleY = g[1]; break; case "skX": l.skewX = g[1]; break; case "skY": l.skewY = g[1]; break; case "rX": l.rotationX = g[1], 0 != g[1] && "0deg" !== g[1] && o.addSafariFix(t); break; case "rY": l.rotationY = g[1], 0 != g[1] && "0deg" !== g[1] && o.addSafariFix(t); break; case "rZ": l.rotationZ = g[1]; break; case "sc": l.color = g[1]; break; case "se": l.effect = g[1]; break; case "bos": l.borderStyle = g[1]; break; case "boc": l.borderColor = g[1]; break; case "td": l.textDecoration = g[1]; break; case "zI": l.zIndex = g[1]; break; case "tp": l.transformPerspective = "isometric" === o[t].perspectiveType ? 0 : "global" === o[t].perspectiveType ? o[t].perspective : g[1]; break; case "cp": l.clip = parseInt(g[1], 0); break; case "cpb": l.clipB = parseInt(g[1], 0); break; case "aR": c.autoRotate = "t" == g[1]; break; case "rA": c.radiusAngle = g[1]; break; case "yyf": c.yoyo_filter = "t" == g[1]; break; case "yym": c.yoyo_move = "t" == g[1]; break; case "yyr": c.yoyo_rotate = "t" == g[1]; break; case "yys": c.yoyo_scale = "t" == g[1]; break; case "crd": c.curved = "t" == g[1]; break; case "x": l.x = "reverse" === r ? "t" === g[1] || !0 === g[1] || "true" == g[1] : "loop" === r ? parseInt(g[1], 0) : o.revToResp(g[1], o[t].rle); break; case "y": l.y = "reverse" === r ? "t" === g[1] || !0 === g[1] || "true" == g[1] : "loop" === r ? parseInt(g[1], 0) : o.revToResp(g[1], o[t].rle); break; case "z": l.z = "loop" === r ? parseInt(g[1], 0) : o.revToResp(g[1], o[t].rle), 0 != g[1] && o.addSafariFix(t); break; case "bow": l.borderWidth = o.revToResp(g[1], 4, 0).toString().replace(/,/g, " "); break; case "bor": l.borderRadius = o.revToResp(g[1], 4, 0).toString().replace(/,/g, " "); break; case "m": l.mask = "t" === g[1] || "f" !== g[1] && g[1]; break; case "iC": l.instantClick = "t" === g[1] || "f" !== g[1] && g[1]; break; case "xR": l.xr = parseInt(g[1], 0), o.addSafariFix(t); break; case "yR": l.yr = parseInt(g[1], 0), o.addSafariFix(t); break; case "zR": l.zr = parseInt(g[1], 0); break; case "blu": "loop" === r ? l.blur = parseInt(g[1], 0) : d.blur = parseInt(g[1], 0); break; case "gra": "loop" === r ? l.grayscale = parseInt(g[1], 0) : d.grayscale = parseInt(g[1], 0); break; case "bri": "loop" === r ? l.brightness = parseInt(g[1], 0) : d.brightness = parseInt(g[1], 0); break; case "sp": c.speed = parseInt(g[1], 0); break; case "d": l.delay = parseInt(g[1], 0); break; case "crns": c.curviness = parseInt(g[1], 0); break; case "st": c.start = "w" === g[1] || "a" === g[1] ? "+=0" : g[1], c.waitoncall = "w" === g[1] || "a" === g[1]; break; case "sA": c.startAbsolute = g[1]; break; case "sR": c.startRelative = g[1]; break; case "e": i ? c.ease = g[1] : l.ease = g[1]; break; default: g[0].length > 0 && (l[g[0]] = "t" === g[1] || "f" !== g[1] && g[1]) } } var u = { timeline: c }; return jQuery.isEmptyObject(d) || ("split" === r ? l = jQuery.extend(!0, l, d) : u.filter = d), "split" === r && (l.dir = void 0 === l.dir ? "start" : "backward" === l.dir ? "end" : "middletoedge" === l.dir ? "center" : "edgetomiddle" === l.dir ? "edge" : l.dir), jQuery.isEmptyObject(s) || (u.color = s), jQuery.isEmptyObject(n) || (u.bgcolor = n), u[a] = l, u }, k = function(e, t) { var i = {}, a = 0; if (void 0 === window.rdF0) { var r = x("x:0;y:0;z:0;rX:0;rY:0;rZ:0;o:0;skX:0;skY:0;sX:0;sY:0;oX:50%;oY:50%;oZ:0;dir:forward;d:5", t).transform; window.rdF0 = window.rdF1 = { transform: x("x:0;y:0;z:0;rX:0;rY:0;rZ:0;o:0;skX:0;skY:0;sX:0;sY:0;oX:50%;oY:50%;oZ:0;tp:600px", t, !0).transform, mask: x("x:0;y:0", t, !0).transform, chars: jQuery.extend(!0, { blur: 0, grayscale: 0, brightness: 100 }, r), words: jQuery.extend(!0, { blur: 0, grayscale: 0, brightness: 100 }, r), lines: jQuery.extend(!0, { blur: 0, grayscale: 0, brightness: 100 }, r) }, window.rdF1.transform.opacity = window.rdF1.chars.opacity = window.rdF1.words.opacity = window.rdF1.lines.opacity = window.rdF1.transform.scaleX = window.rdF1.chars.scaleX = window.rdF1.words.scaleX = window.rdF1.lines.scaleX = window.rdF1.transform.scaleY = window.rdF1.chars.scaleY = window.rdF1.words.scaleY = window.rdF1.lines.scaleY = 1 } for (var a in void 0 === e.frame_0 && (e.frame_0 = "x:0"), void 0 === e.frame_1 && (e.frame_1 = "x:0"), e.dddNeeded = !1, e.ford) if (e.ford.hasOwnProperty(a)) { var n = e.ford[a]; if (e[n]) { if (i[n] = x(e[n], t, !0), void 0 !== i[n].bgcolor && (e.bgcolinuse = !0), o[t].BUG_ie_clipPath && void 0 !== e.clipPath && e.clipPath.use && void 0 !== i[n].transform.clip) { var l = "rectangle" === e.clipPath.type ? 100 - parseInt(i[n].transform.clip) : 100 - Math.min(100, 2 * parseInt(i[n].transform.clip)); switch (e.clipPath.origin) { case "clr": case "rb": case "rt": case "r": e[n + "_mask"] = "u:t;x:" + l + "%;y:0px;", i[n].transform.x = o.revToResp("-" + l + "%", o[t].rle); break; case "crl": case "lb": case "lt": case "cv": case "l": e[n + "_mask"] = "u:t;x:-" + l + "%;y:0px;", i[n].transform.x = o.revToResp(l + "%", o[t].rle); break; case "ch": case "t": e[n + "_mask"] = "u:t;y:-" + l + "%;y:0px;", i[n].transform.y = o.revToResp(l + "%", o[t].rle); break; case "b": e[n + "_mask"] = "u:t;y:" + l + "%;y:0px;", i[n].transform.y = o.revToResp("-" + l + "%", o[t].rle) } delete i[n].transform.clip, delete i[n].transform.clipB } e[n + "_mask"] && (i[n].mask = x(e[n + "_mask"], t).transform), null != i[n].mask && i[n].mask.use ? (i[n].mask.x = void 0 === i[n].mask.x ? 0 : i[n].mask.x, i[n].mask.y = void 0 === i[n].mask.y ? 0 : i[n].mask.y, delete i[n].mask.use, i[n].mask.overflow = "hidden") : i[n].mask = { ease: "default", overflow: "visible" }, e[n + "_chars"] && (i[n].chars = x(e[n + "_chars"], t, void 0, void 0, "split").transform), e[n + "_words"] && (i[n].words = x(e[n + "_words"], t, void 0, void 0, "split").transform), e[n + "_lines"] && (i[n].lines = x(e[n + "_lines"], t, void 0, void 0, "split").transform), (e[n + "_chars"] || e[n + "_words"] || e[n + "_lines"]) && (i[n].dosplit = !0), i.frame_0 = void 0 === i.frame_0 ? { transform: {} } : i.frame_0, i[n].transform.auto && (i[n].transform = jQuery.extend(!0, {}, i.frame_0.transform), i[n].transform.opacity = void 0 === i[n].transform.opacity ? 0 : i[n].transform.opacity, void 0 !== i.frame_0.filter && (i[n].filter = jQuery.extend(!0, {}, i.frame_0.filter)), void 0 !== i.frame_0.mask && (i[n].mask = jQuery.extend(!0, {}, i.frame_0.mask)), void 0 !== i.frame_0.chars && (i[n].chars = jQuery.extend(!0, {}, i.frame_0.chars)), void 0 !== i.frame_0.words && (i[n].words = jQuery.extend(!0, {}, i.frame_0.words)), void 0 !== i.frame_0.lines && (i[n].lines = jQuery.extend(!0, {}, i.frame_0.lines))), e[n + "_sfx"] && (i[n].sfx = x(e[n + "_sfx"], t, !1, void 0, "sfx").transform), e[n + "_reverse"] && (i[n].reverse = x(e[n + "_reverse"], t, !1, void 0, "reverse").transform) } } if (i.frame_0.dosplit && (i.frame_1.dosplit = !0), void 0 === e.frame_hover && void 0 === e.svgh || (i.frame_hover = x(void 0 === e.frame_hover ? "" : e.frame_hover, t), !s || "true" != i.frame_hover.transform.instantClick && 1 != i.frame_hover.transform.instantClick ? (delete i.frame_hover.transform.instantClick, i.frame_hover.transform.color = i.frame_hover.color, void 0 === i.frame_hover.transform.color && delete i.frame_hover.transform.color, void 0 !== i.frame_hover.bgcolor && i.frame_hover.bgcolor.indexOf("gradient") >= 0 ? i.frame_hover.transform.backgroundImage = i.frame_hover.bgcolor : void 0 !== i.frame_hover.bgcolor && (i.frame_hover.transform.backgroundColor = i.frame_hover.bgcolor), void 0 !== i.frame_hover.bgcolor && (e.bgcolinuse = !0), i.frame_hover.transform.opacity = void 0 === i.frame_hover.transform.opacity ? 1 : i.frame_hover.transform.opacity, i.frame_hover.mask = void 0 !== i.frame_hover.transform.mask && i.frame_hover.transform.mask, delete i.frame_hover.transform.mask, void 0 !== i.frame_hover.transform && ((i.frame_hover.transform.borderWidth || i.frame_hover.transform.borderStyle) && (i.frame_hover.transform.borderColor = void 0 === i.frame_hover.transform.borderColor ? "transparent" : i.frame_hover.transform.borderColor), "none" !== i.frame_hover.transform.borderStyle && void 0 === i.frame_hover.transform.borderWidth && (i.frame_hover.transform.borderWidth = o.revToResp(0, 4, 0).toString().replace(/,/g, " ")), void 0 === e.bordercolor && void 0 !== i.frame_hover.transform.borderColor && (e.bordercolor = "transparent"), void 0 === e.borderwidth && void 0 !== i.frame_hover.transform.borderWidth && (e.borderwidth = o.revToResp(i.frame_hover.transform.borderWidth, 4, 0)), void 0 === e.borderstyle && void 0 !== i.frame_hover.transform.borderStyle && (e.borderstyle = o.revToResp(i.frame_hover.transform.borderStyle, 4, 0)))) : delete i.frame_hover), void 0 !== e.tloop) { e.layerLoop = { from: "frame_1", to: "frame_999", repeat: -1, keep: !0, children: !0 }; var d = e.tloop.split(";"); for (var a in d) if (d.hasOwnProperty(a)) { var c = d[a].split(":"); switch (c[0]) { case "f": e.layerLoop.from = c[1]; break; case "t": e.layerLoop.to = c[1]; break; case "k": e.layerLoop.keep = c[1]; break; case "r": e.layerLoop.repeat = parseInt(c[1], 0); break; case "c": e.layerLoop.children = c[1] } } e.layerLoop.count = 0 } for (var a in (e.loop_0 || e.loop_999) && (i.loop = x(e.loop_999, t, !0, "frame_999", "loop"), i.loop.frame_0 = x(e.loop_0 || "", t, !1, void 0, "loop").transform), i.frame_0.transform.opacity = void 0 === i.frame_0.transform.opacity ? 0 : i.frame_0.transform.opacity, i.frame_1.transform.opacity = void 0 === i.frame_1.transform.opacity ? 1 : i.frame_1.transform.opacity, i.frame_999.transform.opacity = void 0 === i.frame_999.transform.opacity ? "inherit" : i.frame_999.transform.opacity, e.clipPath && e.clipPath.use && (i.frame_0.transform.clip = void 0 === i.frame_0.transform.clip ? 100 : parseInt(i.frame_0.transform.clip), i.frame_1.transform.clip = void 0 === i.frame_1.transform.clip ? 100 : parseInt(i.frame_1.transform.clip)), e.resetfilter = !1, i) void 0 !== i[a].filter && (e.resetfilter = !0); return e.resetfilter && (i.frame_0.filter = jQuery.extend(!0, {}, i.frame_0.filter), i.frame_0.filter.blur = void 0 === i.frame_0.filter.blur ? 0 : i.frame_0.filter.blur, i.frame_0.filter.brightness = void 0 === i.frame_0.filter.brightness ? 100 : i.frame_0.filter.brightness, i.frame_0.filter.grayscale = void 0 === i.frame_0.filter.grayscale ? 0 : i.frame_0.filter.grayscale), void 0 !== i.frame_0.filter && (i.frame_1.filter = jQuery.extend(!0, {}, i.frame_1.filter), void 0 !== i.frame_0.filter.blur && 0 !== i.frame_1.filter.blur && (i.frame_1.filter.blur = void 0 === i.frame_1.filter.blur ? 0 : i.frame_1.filter.blur), void 0 !== i.frame_0.filter.brightness && 100 !== i.frame_1.filter.brightness && (i.frame_1.filter.brightness = void 0 === i.frame_1.filter.brightness ? 100 : i.frame_1.filter.brightness), void 0 !== i.frame_0.filter.grayscale && 0 !== i.frame_1.filter.grayscale && (i.frame_1.filter.grayscale = void 0 === i.frame_1.filter.grayscale ? 0 : i.frame_1.filter.grayscale)), S(i, t) }, S = function(e, t) { var i, a = {}, r = ["transform", "words", "chars", "lines", "mask"], s = "global" == o[t].perspectiveType ? o[t].perspective : 0, n = !0; for (var l in e) "loop" !== l && "frame_hover" !== l && (a = jQuery.extend(!0, a, e[l])); for (var l in e) if (e.hasOwnProperty(l) && (void 0 !== e[l].timeline && (e[l].timeline.usePerspective = !1), "loop" !== l && "frame_hover" !== l)) { for (i in a.transform) a.transform.hasOwnProperty(i) && (a.transform[i] = void 0 === e[l].transform[i] ? "frame_0" === l ? window.rdF0.transform[i] : "frame_1" === l ? window.rdF1.transform[i] : a.transform[i] : e[l].transform[i], e[l].transform[i] = void 0 === e[l].transform[i] ? a.transform[i] : e[l].transform[i]); for (var d = 1; d <= 4; d++) for (i in a[r[d]]) a[r[d]].hasOwnProperty(i) && (e[l][r[d]] = void 0 === e[l][r[d]] ? {} : e[l][r[d]], a[r[d]][i] = void 0 === e[l][r[d]][i] ? "frame_0" === l ? window.rdF0[r[d]][i] : "frame_1" === l ? window.rdF1[r[d]][i] : a[r[d]][i] : e[l][r[d]][i], e[l][r[d]][i] = void 0 === e[l][r[d]][i] ? a[r[d]][i] : e[l][r[d]][i]); void 0 === e[l].timeline || !1 !== e[l].timeline.usePerspective || void 0 === e[l].transform || void 0 === e[l].transform.rotationY && void 0 === e[l].transform.rotationX && void 0 === e[l].transform.z || (s = "local" == o[t].perspectiveType ? void 0 === e[l].transform.transformPerspective ? 600 : e[l].transform.transformPerspective : s, e[l].timeline.usePerspective = !0, n = !1) } if (void 0 !== e.frame_0.timeline && e.frame_0.timeline.usePerspective && (e.frame_0.transform.transformPerspective = "local" === o[t].perspectiveType ? void 0 === e.frame_0.transform.transformPerspective ? s : e.frame_0.transform.transformPerspective : "isometric" === o[t].perspectiveType ? 0 : o[t].perspective), n) for (var l in e) { if (!e.hasOwnProperty(l) || void 0 === e[l].transform) continue; delete e[l].transform.transformPerspective } return e }, L = function(e, t, i) { if (0 === e.length) return {}; for (var a = e[0].getElementsByClassName(t), r = {}, o = 0; o < a.length; o++) void 0 !== i && -1 !== a[o].className.indexOf(i) || (r[a[o].id] = a[o]); return r }, T = function(e) { return "thin" === (e = jQuery.isNumeric(e) ? e : e.toLowerCase()) ? "00" : "extra light" === e ? 200 : "light" === e ? 300 : "normal" === e ? 400 : "medium" === e ? 500 : "semi bold" === e ? 600 : "bold" === e ? 700 : "extra bold" === e ? 800 : "ultra bold" === e ? 900 : "black" === e ? 900 : e }, O = function(e, t, s) { var n; if ("BR" == e[0].nodeName || "br" == e[0].tagName || "object" != typeof e[0].className && e[0].className.indexOf("rs_splitted_") >= 0) return !1; o.sA(e[0], "stylerecorder", !0); var l = window.getComputedStyle(e[0], null), d = void 0 !== e[0].id && void 0 !== o[s]._L[e[0].id] ? o[s]._L[e[0].id] : e.data(), c = "rekursive" === t ? e.closest(".rs-layer") : void 0, p = void 0 !== c && l.fontSize == c.css("fontSize") && T(l.fontWeight) == T(c.css("fontWeight")) && l.lineHeight == c.css("lineHeight"), g = p ? void 0 !== c[0].id && void 0 !== o[s]._L[c[0].id] ? o[s]._L[c[0].id] : c.data() : void 0, u = 0; for (d.basealign = void 0 === d.basealign ? "grid" : d.basealign, d._isnotext || (d.fontSize = o.revToResp(p ? void 0 === g.fontsize ? parseInt(c.css("fontSize"), 0) || 20 : g.fontsize : void 0 === d.fontsize ? "rekursive" !== t ? 20 : "inherit" : d.fontsize, o[s].rle), d.fontWeight = o.revToResp(p ? void 0 === g.fontweight ? c.css("fontWeight") || "inherit" : g.fontweight : void 0 === d.fontweight ? e.css("fontWeight") || "inherit" : d.fontweight, o[s].rle), d.whiteSpace = o.revToResp(p ? void 0 === g.whitespace ? "nowrap" : g.whitespace : void 0 === d.whitespace ? "nowrap" : d.whitespace, o[s].rle), d.textAlign = o.revToResp(p ? void 0 === g.textalign ? "left" : g.textalign : void 0 === d.textalign ? "left" : d.textalign, o[s].rle), d.letterSpacing = o.revToResp(p ? void 0 === g.letterspacing ? parseInt(c.css("letterSpacing"), 0) || "inherit" : g.letterspacing : void 0 === d.letterspacing ? parseInt("normal" === l.letterSpacing ? 0 : l.letterSpacing, 0) || "inherit" : d.letterspacing, o[s].rle), d.textDecoration = p ? void 0 === g.textDecoration ? "none" : g.textDecoration : void 0 === d.textDecoration ? "none" : d.textDecoration, u = 25, u = void 0 !== c && "I" === e[0].tagName ? "inherit" : u, void 0 !== d.tshadow && (d.tshadow.b = o.revToResp(d.tshadow.b, o[s].rle), d.tshadow.h = o.revToResp(d.tshadow.h, o[s].rle), d.tshadow.v = o.revToResp(d.tshadow.v, o[s].rle))), void 0 !== d.bshadow && (d.bshadow.b = o.revToResp(d.bshadow.b, o[s].rle), d.bshadow.h = o.revToResp(d.bshadow.h, o[s].rle), d.bshadow.v = o.revToResp(d.bshadow.v, o[s].rle), d.bshadow.s = o.revToResp(d.bshadow.s, o[s].rle)), d.display = p ? void 0 === g.display ? c.css("display") : g.display : void 0 === d.display ? l.display : d.display, d.float = o.revToResp(p ? void 0 === g.float ? c.css("float") || "none" : g.float : void 0 === d.float ? "none" : d.float, o[s].rle), d.clear = o.revToResp(p ? void 0 === g.clear ? c.css("clear") || "none" : g.clear : void 0 === d.clear ? "none" : d.clear, o[s].rle), d.lineHeight = o.revToResp(e.is("img") || -1 != jQuery.inArray(d.layertype, ["video", "image", "audio"]) ? u : p ? void 0 === g.lineheight ? parseInt(c.css("lineHeight"), 0) || u : g.lineheight : void 0 === d.lineheight ? u : d.lineheight, o[s].rle), d.zIndex = p ? void 0 === g.zindex ? parseInt(c.css("zIndex"), 0) || "inherit" : g.zindex : void 0 === d.zindex ? parseInt(l.zIndex, 0) || "inherit" : d.zindex, n = 0; n < 4; n++) d["padding" + i[n]] = o.revToResp(void 0 === d["padding" + r[n]] ? parseInt(l["padding" + i[n]], 0) || 0 : d["padding" + r[n]], o[s].rle), d["margin" + i[n]] = o.revToResp(void 0 === d["margin" + r[n]] ? parseInt(l["margin" + i[n]], 0) || 0 : d["margin" + r[n]], o[s].rle), d["border" + i[n] + "Width"] = void 0 === d.borderwidth ? parseInt(l["border" + i[n] + "Width"], 0) || 0 : d.borderwidth[n], d["border" + i[n] + "Color"] = void 0 === d.bordercolor ? l["border-" + r[n] + "-color"] : d.bordercolor, d["border" + a[n] + "Radius"] = o.revToResp(void 0 === d.borderradius ? l["border" + a[n] + "Radius"] || 0 : d.borderradius[n], o[s].rle); for (d.borderStyle = o.revToResp(void 0 === d.borderstyle ? l.borderStyle || 0 : d.borderstyle, o[s].rle), "rekursive" !== t ? (d.color = o.revToResp(void 0 === d.color ? "#ffffff" : d.color, o[s].rle, void 0, "||"), d.minWidth = o.revToResp(void 0 === d.minwidth ? parseInt(l.minWidth, 0) || 0 : d.minwidth, o[s].rle), d.minHeight = o.revToResp(void 0 === d.minheight ? parseInt(l.minHeight, 0) || 0 : d.minheight, o[s].rle), d.width = o.revToResp(void 0 === d.width ? "auto" : o.smartConvertDivs(d.width), o[s].rle), d.height = o.revToResp(void 0 === d.height ? "auto" : o.smartConvertDivs(d.height), o[s].rle), d.maxWidth = o.revToResp(void 0 === d.maxwidth ? parseInt(l.maxWidth, 0) || "none" : d.maxwidth, o[s].rle), d.maxHeight = o.revToResp(-1 !== jQuery.inArray(d.type, ["column", "row"]) ? "none" : void 0 !== d.maxheight ? parseInt(l.maxHeight, 0) || "none" : d.maxheight, o[s].rle)) : "html" === d.layertype && (d.width = o.revToResp(e[0].width, o[s].rle), d.height = o.revToResp(e[0].height, o[s].rle)), d.styleProps = { background: e[0].style.background, "background-color": e[0].style["background-color"], color: e[0].style.color, cursor: e[0].style.cursor, "font-style": e[0].style["font-style"] }, null == d.bshadow && (d.styleProps.boxShadow = e[0].style.boxShadow), "" !== d.styleProps.background && void 0 !== d.styleProps.background && d.styleProps.background !== d.styleProps["background-color"] || delete d.styleProps.background, "" == d.styleProps.color && (d.styleProps.color = l.color), n = 0; n < 4; n++) A(d["padding" + i[n]], 0) && delete d["padding" + i[n]], A(d["margin" + i[n]], 0) && delete d["margin" + i[n]], A(d["border" + a[n] + "Radius"], "0px") ? delete d["border" + a[n] + "Radius"] : A(d["border" + a[n] + "Radius"], "0") && delete d["border" + a[n] + "Radius"]; if (A(d.borderStyle, "none")) for (delete d.borderStyle, n = 0; n < 4; n++) delete d["border" + i[n] + "Width"], delete d["border" + i[n] + "Color"] }, A = function(e, t) { return t === e[0] && t === e[1] && t === e[2] && t === e[3] }, R = function(e, t, i, a, r) { var o = jQuery.isNumeric(e) || void 0 === e ? "" : e.indexOf("px") >= 0 ? "px" : e.indexOf("%") >= 0 ? "%" : ""; return e = jQuery.isNumeric(parseInt(e)) ? parseInt(e) : e, e = null == (e = "full" === (e = jQuery.isNumeric(e) ? e * t + o : e) ? a : "auto" === e || "none" === e ? i : e) ? r : e }, I = function(e) { return null != e && 0 !== parseInt(e, 0) }, z = function(e) { var t, s, n, l, d, c, p, g, u, h, f = e.a, m = e.b, v = e.c, y = e.d, b = e.e, _ = {}, w = {}, x = o[m]._L[f[0].id], k = f[0].className; if (x = void 0 === x ? {} : x, "object" == typeof k && (k = ""), void 0 !== f && void 0 !== f[0] && (k.indexOf("rs_splitted") >= 0 || "BR" == f[0].nodeName || "br" == f[0].tagName || f[0].tagName.indexOf("FCR") > 0 || f[0].tagName.indexOf("BCR") > 0)) return !1; b = "individual" === b ? x.slideIndex : b; e = function(e, t, r) { if (void 0 !== e) { if ("BR" == e[0].nodeName || "br" == e[0].tagName) return !1; var s, n = o[t].level, l = void 0 !== e[0] && void 0 !== e[0].id && void 0 !== o[t]._L[e[0].id] ? o[t]._L[e[0].id] : e.data(); void 0 === (l = void 0 === l.basealign ? r.data() : l)._isnotext && (l._isnotext = void 0 !== r && void 0 !== r[0] && r[0].length > 0 ? o.gA(r[0], "_isnotext") : l._isnotext); var d = { basealign: void 0 === l.basealign ? "grid" : l.basealign, lineHeight: void 0 === l.basealign ? "inherit" : parseInt(l.lineHeight[n]), color: void 0 === l.color ? void 0 : l.color[n], width: void 0 === l.width ? void 0 : "a" === l.width[n] ? "auto" : l.width[n], height: void 0 === l.height ? void 0 : "a" === l.height[n] ? "auto" : l.height[n], minWidth: void 0 === l.minWidth ? void 0 : "n" === l.minWidth[n] ? "none" : l.minWidth[n], minHeight: void 0 === l.minHeight ? void 0 : "n" == l.minHeight[n] ? "none" : l.minHeight[n], maxWidth: void 0 === l.maxWidth ? void 0 : "n" == l.maxWidth[n] ? "none" : l.maxWidth[n], maxHeight: void 0 === l.maxHeight ? void 0 : "n" == l.maxHeight[n] ? "none" : l.maxHeight[n], float: l.float[n], clear: l.clear[n] }; for (l.borderStyle && (d.borderStyle = l.borderStyle[n]), s = 0; s < 4; s++) l["padding" + i[s]] && (d["padding" + i[s]] = l["padding" + i[s]][n]), l["margin" + i[s]] && (d["margin" + i[s]] = parseInt(l["margin" + i[s]][n])), l["border" + a[s] + "Radius"] && (d["border" + a[s] + "Radius"] = l["border" + a[s] + "Radius"][n]), l["border" + i[s] + "Color"] && (d["border" + i[s] + "Color"] = l["border" + i[s] + "Color"]), l["border" + i[s] + "Width"] && (d["border" + i[s] + "Width"] = parseInt(l["border" + i[s] + "Width"])); return l._isnotext || (d.textDecoration = l.textDecoration, d.fontSize = parseInt(l.fontSize[n]), d.fontWeight = parseInt(l.fontWeight[n]), d.letterSpacing = parseInt(l.letterSpacing[n]) || 0, d.textAlign = l.textAlign[n], d.whiteSpace = l.whiteSpace[n], d.whiteSpace = "normal" === d.whiteSpace && "auto" === d.width && !0 !== l._incolumn ? "nowrap" : d.whiteSpace, d.display = l.display, void 0 !== l.tshadow && (d.textShadow = parseInt(l.tshadow.h[n], 0) + "px " + parseInt(l.tshadow.v[n], 0) + "px " + l.tshadow.b[n] + " " + l.tshadow.c), void 0 !== l.tstroke && (d.textStroke = parseInt(l.tstroke.w, 0) + "px " + l.tstroke.c)), void 0 !== l.bshadow && (d.boxShadow = parseInt(l.bshadow.h[n], 0) + "px " + parseInt(l.bshadow.v[n], 0) + "px " + parseInt(l.bshadow.b[n], 0) + "px " + parseInt(l.bshadow.s[n], 0) + "px " + l.bshadow.c), d } }(f, m, e.RSL); var S, L = "off" === y ? 1 : o[m].bw; if (void 0 === x._isnotext && (x._isnotext = void 0 !== e.RSL && void 0 !== e.RSL[0] && e.RSL[0].length > 0 ? o.gA(e.RSL[0], "_isnotext") : x._isnotext), x.OBJUPD = null == x.OBJUPD ? {} : x.OBJUPD, x.caches = null == x.caches ? {} : x.caches, "column" === x.type) { for (s = {}, S = {}, t = 0; t < 4; t++) void 0 !== e["margin" + i[t]] && (s["padding" + i[t]] = Math.round(e["margin" + i[t]] * L) + "px", S["margin" + i[t]] = e["margin" + i[t]], delete e["margin" + i[t]]); jQuery.isEmptyObject(s) || tpGS.gsap.set(x._column, s) } var T = jQuery.extend(!0, {}, x.OBJUPD.POBJ), O = jQuery.extend(!0, {}, x.OBJUPD.LPOBJ); if (-1 === k.indexOf("rs_splitted_")) { for (s = { overwrite: "auto" }, t = 0; t < 4; t++) void 0 !== e["border" + a[t] + "Radius"] && (s["border" + a[t] + "Radius"] = e["border" + a[t] + "Radius"]), void 0 !== e["padding" + i[t]] && (s["padding" + i[t]] = Math.round(e["padding" + i[t]] * L) + "px"), void 0 === e["margin" + i[t]] || x._incolumn || (s["margin" + i[t]] = "row" === x.type ? 0 : Math.round(e["margin" + i[t]] * L) + "px"); if (void 0 !== x.spike && (s["clip-path"] = s["-webkit-clip-path"] = x.spike), e.boxShadow && (s.boxShadow = e.boxShadow), "column" !== x.type && (void 0 !== e.borderStyle && "none" !== e.borderStyle && (0 !== e.borderTopWidth || e.borderBottomWidth > 0 || e.borderLeftWidth > 0 || e.borderRightWidth > 0) ? (s.borderTopWidth = Math.round(e.borderTopWidth * L) + "px", s.borderBottomWidth = Math.round(e.borderBottomWidth * L) + "px", s.borderLeftWidth = Math.round(e.borderLeftWidth * L) + "px", s.borderRightWidth = Math.round(e.borderRightWidth * L) + "px", s.borderStyle = e.borderStyle, s.borderTopColor = e.borderTopColor, s.borderBottomColor = e.borderBottomColor, s.borderLeftColor = e.borderLeftColor, s.borderRightColor = e.borderRightColor) : ("none" === e.borderStyle && (s.borderStyle = "none"), s.borderTopColor = e.borderTopColor, s.borderBottomColor = e.borderBottomColor, s.borderLeftColor = e.borderLeftColor, s.borderRightColor = e.borderRightColor)), "shape" !== x.type && "image" !== x.type || !(I(e.borderTopLeftRadius) || I(e.borderTopRightRadius) || I(e.borderBottomLeftRadius) || I(e.borderBottomRightRadius)) || (s.overflow = "hidden"), x._isnotext || ("column" !== x.type && (s.fontSize = Math.round(e.fontSize * L) + "px", s.fontWeight = e.fontWeight, s.letterSpacing = e.letterSpacing * L + "px", e.textShadow && (s.textShadow = e.textShadow), e.textStroke && (s["-webkit-text-stroke"] = e.textStroke)), s.lineHeight = Math.round(e.lineHeight * L) + "px", s.textAlign = e.textAlign), "column" === x.type && (void 0 === x.cbg_set && (x.cbg_set = x.styleProps["background-color"], x.cbg_set = "" == x.cbg_set || void 0 === x.cbg_set || 0 == x.cbg_set.length ? "transparent" : x.cbg_set, x.cbg_img = f.css("backgroundImage"), "" !== x.cbg_img && void 0 !== x.cbg_img && "none" !== x.cbg_img && (x.cbg_img_r = f.css("backgroundRepeat"), x.cbg_img_p = f.css("backgroundPosition"), x.cbg_img_s = f.css("backgroundSize")), x.cbg_o = x.bgopacity ? 1 : x.bgopacity, _.backgroundColor = "transparent", _.backgroundImage = ""), s.backgroundColor = "transparent", s.backgroundImage = "none"), x._isstatic && x.elementHovered && (p = f.data("frames")) && p.frame_hover && p.frame_hover.transform) for (g in s) s.hasOwnProperty(g) && p.frame_hover.transform.hasOwnProperty(g) && delete s[g]; if ("IFRAME" == f[0].nodeName && "html" === o.gA(f[0], "layertype") && (u = "slide" == e.basealign ? o[m].width : o.iWA(m, b), h = "slide" == e.basealign ? o[m].height : o.iHE(m), s.width = !jQuery.isNumeric(e.width) && e.width.indexOf("%") >= 0 ? !x._isstatic || x._incolumn || x._ingroup ? e.width : u * parseInt(e.width, 0) / 100 : R(e.width, L, "auto", u, "auto"), s.height = !jQuery.isNumeric(e.height) && e.height.indexOf("%") >= 0 ? !x._isstatic || x._incolumn || x._ingroup ? e.height : h * parseInt(e.height, 0) / 100 : R(e.height, L, "auto", u, "auto")), _ = jQuery.extend(!0, _, s), "rekursive" != v) { u = "slide" == e.basealign ? o[m].width : o.iWA(m, b), h = "slide" == e.basealign ? o[m].height : o.iHE(m); var A = !jQuery.isNumeric(e.width) && e.width.indexOf("%") >= 0 ? !x._isstatic || x._incolumn || x._ingroup ? e.width : u * parseInt(e.width, 0) / 100 : R(e.width, L, "auto", u, "auto"), z = !jQuery.isNumeric(e.height) && e.height.indexOf("%") >= 0 ? !x._isstatic || x._incolumn || x._ingroup ? e.height : h * parseInt(e.height, 0) / 100 : R(e.height, L, "auto", u, "auto"), C = { maxWidth: R(e.maxWidth, L, "none", u, "none"), maxHeight: R(e.maxHeight, L, "none", h, "none"), minWidth: R(e.minWidth, L, "0px", u, 0), minHeight: R(e.minHeight, L, "0px", h, 0), height: z, width: A, overwrite: "auto" }; if (1 == x.heightSetByVideo && (C.height = x.vidOBJ.height), x._incolumn) { for (T = jQuery.extend(!0, T, { minWidth: A, maxWidth: A, float: e.float, clear: e.clear }), t = 0; t < 4; t++) void 0 !== e["margin" + i[t]] && (T["margin" + i[t]] = e["margin" + i[t]] * L + "px"); O.width = "100%", void 0 !== e.display && "inline-block" !== e.display || (w = { width: "100%" }), C.width = !jQuery.isNumeric(e.width) && e.width.indexOf("%") >= 0 ? "100%" : A, "image" === x.type && tpGS.gsap.set(x.img, { width: C.width }) } else !jQuery.isNumeric(e.width) && e.width.indexOf("%") >= 0 && (T.minWidth = "slide" === x.basealign || !0 === x._ingroup ? A : o.iWA(m, b) * o[m].bw * parseInt(A) / 100 + "px", O.width = "100%", w.width = "100%"); if (!jQuery.isNumeric(e.height) && e.height.indexOf("%") >= 0 && (T.minHeight = "slide" === x.basealign || !0 === x._ingroup ? z : o.iHE(m) * (o[m].keepBPHeight || o[m].currentRowsHeight > o[m].gridheight[o[m].level] ? 1 : o[m].bw) * parseInt(z) / 100 + "px", O.height = "100%", w.height = "100%"), x._isnotext || (C.whiteSpace = e.whiteSpace, C.textAlign = e.textAlign, C.textDecoration = e.textDecoration), "npc" != e.color && void 0 !== e.color && (C.color = e.color), x._ingroup && (x._groupw = C.minWidth, x._grouph = C.minHeight), "row" === x.type && (jQuery.isNumeric(C.minHeight) || C.minHeight.indexOf("px") >= 0) && "0px" !== C.minHeight && 0 !== C.minHeight && "0" !== C.minHeight && "none" !== C.minHeight ? C.height = C.minHeight : "row" === x.type && (C.height = "auto"), x._isstatic && x.elementHovered && (p = f.data("frames")) && p.frame_hover && p.frame_hover.transform) for (g in C) C.hasOwnProperty(g) && p.frame_hover.transform.hasOwnProperty(g) && delete C[g]; "group" !== x.type && "row" !== x.type && "column" !== x.type && (!jQuery.isNumeric(C.width) && C.width.indexOf("%") >= 0 && (C.width = "100%"), !jQuery.isNumeric(C.height) && C.height.indexOf("%") >= 0 && (C.height = "100%")), x._isgroup && (!jQuery.isNumeric(C.width) && C.width.indexOf("%") >= 0 && (C.width = "100%"), T.height = C.height), _ = jQuery.extend(!0, _, C), null != x.svg_src && void 0 !== x.svgI && ("string" == typeof x.svgI.fill && (x.svgI.fill = [x.svgI.fill]), x.svgTemp = jQuery.extend(!0, {}, x.svgI), x.svgTemp.fill = x.svgTemp.fill[o[m].level], tpGS.gsap.set(x.svg, x.svgTemp), tpGS.gsap.set(x.svgPath, { fill: x.svgI.fill[o[m].level] })) } if ("row" === x.type) for (t = 0; t < 4; t++) void 0 !== e["margin" + i[t]] && (T["padding" + i[t]] = e["margin" + i[t]] * L + "px"); if ("column" === x.type && x.cbg && x.cbg.length > 0) { for (void 0 !== x.cbg_img_s && (x.cbg[0].style.backgroundSize = x.cbg_img_s), s = {}, "" !== x.styleProps.cursor && (s.cursor = x.styleProps.cursor), "" !== x.cbg_set && "transparent" !== x.cbg_set && (s.backgroundColor = x.cbg_set), "" !== x.cbg_img && "none" !== x.cbg_img && (s.backgroundImage = x.cbg_img, "" !== x.cbg_img_r && (s.backgroundRepeat = x.cbg_img_r), "" !== x.cbg_img_p && (s.backgroundPosition = x.cbg_img_p)), "" !== x.cbg_o && void 0 !== x.cbg_o && (s.opacity = x.cbg_o), t = 0; t < 4; t++) void 0 !== e.borderStyle && "none" !== e.borderStyle && (void 0 !== e["border" + i[t] + "Width"] && (s["border" + i[t] + "Width"] = Math.round(parseInt(e["border" + i[t] + "Width"]) * L) + "px"), void 0 !== e["border" + i[t] + "Color"] && (s["border" + i[t] + "Color"] = e["border" + i[t] + "Color"])), e["border" + a[t] + "Radius"] && (s["border" + a[t] + "Radius"] = e["border" + a[t] + "Radius"]); for (void 0 !== e.borderStyle && "none" !== e.borderStyle && (s.borderStyle = e.borderStyle), (n = JSON.stringify(s)) !== o[m].emptyObject && n !== x.caches.cbgS && tpGS.gsap.set(x.cbg, s), x.caches.cbgS = n, s = {}, t = 0; t < 4; t++) S["margin" + i[t]] && (s[r[t]] = S["margin" + i[t]] * L + "px"); (n = JSON.stringify(s)) !== o[m].emptyObject && n !== x.caches.cbgmaskS && (tpGS.gsap.set(x.cbgmask, s), x.caches.cbgmaskS = n) } "auto" === T.maxWidth && (T.maxWidth = "inherit"), "auto" === T.maxHeight && (T.maxHeight = "inherit"), "auto" === w.maxWidth && (w.maxWidth = "inherit"), "auto" === w.maxHeight && (w.maxHeight = "inherit"), "auto" === O.maxWidth && (O.maxWidth = "inherit"), "auto" === O.maxHeight && (O.maxHeight = "inherit"), void 0 !== x.vidOBJ && (_.width = x.vidOBJ.width, _.height = x.vidOBJ.height), void 0 !== x.OBJUPD.lppmOBJ && (void 0 !== x.OBJUPD.lppmOBJ.minWidth && (O.minWidth = x.OBJUPD.lppmOBJ.minWidth, w.minWidth = x.OBJUPD.lppmOBJ.minWidth, T.minWidth = x.OBJUPD.lppmOBJ.minWidth), void 0 !== x.OBJUPD.lppmOBJ.minHeight && (O.minHeight = x.OBJUPD.lppmOBJ.minHeight, w.minHeight = x.OBJUPD.lppmOBJ.minHeight, T.minHeight = x.OBJUPD.lppmOBJ.minHeight)), n = JSON.stringify(_), l = JSON.stringify(O), d = JSON.stringify(w), c = JSON.stringify(T), void 0 === x.imgOBJ || void 0 !== x.caches.imgOBJ && x.caches.imgOBJ.width === x.imgOBJ.width && x.caches.imgOBJ.height === x.imgOBJ.height && x.caches.imgOBJ.left === x.imgOBJ.left && x.caches.imgOBJ.right === x.imgOBJ.right && x.caches.imgOBJ.top === x.imgOBJ.top && x.caches.imgOBJ.bottom === x.imgOBJ.bottom || (x.caches.imgOBJ = jQuery.extend(!0, {}, x.imgOBJ), x.imgOBJ.position = "relative", tpGS.gsap.set(x.img, x.imgOBJ)), void 0 === x.mediaOBJ || void 0 !== x.caches.mediaOBJ && x.caches.mediaOBJ.width === x.mediaOBJ.width && x.caches.mediaOBJ.height === x.mediaOBJ.height && x.caches.mediaOBJ.display === x.mediaOBJ.display || (x.caches.mediaOBJ = jQuery.extend(!0, {}, x.mediaOBJ), x.media.css(x.mediaOBJ)), n != o[m].emptyObject && n != x.caches.LOBJ && (tpGS.gsap.set(f, _), x.caches.LOBJ = n), l != o[m].emptyObject && l != x.caches.LPOBJ && (tpGS.gsap.set(x.lp, O), x.caches.LPOBJ = l), d != o[m].emptyObject && d != x.caches.MOBJ && (tpGS.gsap.set(x.m, w), x.caches.MOBJ = d), c != o[m].emptyObject && c != x.caches.POBJ && (tpGS.gsap.set(x.p, T), x.caches.POBJ = c, x.caches.POBJ_LEFT = T.left, x.caches.POBJ_TOP = T.top) } }, C = function(e) { var t = { l: "none", lw: 10, r: "none", rw: 10 }; for (var i in e = e.split(";")) if (e.hasOwnProperty(i)) { var a = e[i].split(":"); switch (a[0]) { case "l": t.l = a[1]; break; case "r": t.r = a[1]; break; case "lw": t.lw = a[1]; break; case "rw": t.rw = a[1] } } return "polygon(" + P(t.l, 0, parseFloat(t.lw)) + "," + P(t.r, 100, 100 - parseFloat(t.rw), !0) + ")" }, P = function(e, t, i, a) { var r; switch (e) { case "none": r = t + "% 100%," + t + "% 0%"; break; case "top": r = i + "% 100%," + t + "% 0%"; break; case "middle": r = i + "% 100%," + t + "% 50%," + i + "% 0%"; break; case "bottom": r = t + "% 100%," + i + "% 0%"; break; case "two": r = i + "% 100%," + t + "% 75%," + i + "% 50%," + t + "% 25%," + i + "% 0%"; break; case "three": r = t + "% 100%," + i + "% 75%," + t + "% 50%," + i + "% 25%," + t + "% 0%"; break; case "four": r = t + "% 100%," + i + "% 87.5%," + t + "% 75%," + i + "% 62.5%," + t + "% 50%," + i + "% 37.5%," + t + "% 25%," + i + "% 12.5%," + t + "% 0%"; break; case "five": r = t + "% 100%," + i + "% 90%," + t + "% 80%," + i + "% 70%," + t + "% 60%," + i + "% 50%," + t + "% 40%," + i + "% 30%," + t + "% 20%," + i + "% 10%," + t + "% 0%" } if (a) { var o = r.split(","); for (var i in r = "", o) o.hasOwnProperty(i) && (r += o[o.length - 1 - i] + (i < o.length - 1 ? "," : "")) } return r } }(jQuery), function(e) { "use strict"; var t = jQuery.fn.revolution, i = t.is_mobile(); function a(e, i) { var a = new Object({ single: ".tp-" + i, c: t[e].cpar.find(".tp-" + i + "s") }); return a.mask = a.c.find(".tp-" + i + "-mask"), a.wrap = a.c.find(".tp-" + i + "s-inner-wrapper"), a } jQuery.extend(!0, t, { hideUnHideNav: function(e) { window.requestAnimationFrame(function() { var i = !1; p(t[e].navigation.arrows) && (i = S(t[e].navigation.arrows, e, i)), p(t[e].navigation.bullets) && (i = S(t[e].navigation.bullets, e, i)), p(t[e].navigation.thumbnails) && (i = S(t[e].navigation.thumbnails, e, i)), p(t[e].navigation.tabs) && (i = S(t[e].navigation.tabs, e, i)), k(e), i && t.manageNavigation(e) }) }, resizeThumbsTabs: function(e, i) { if (void 0 !== t[e] && t[e].navigation.use && (t[e].navigation && t[e].navigation.bullets.enable || t[e].navigation && t[e].navigation.tabs.enable || t[e].navigation && t[e].navigation.thumbnails.enable)) { var a = (t.winW - 480) / 500, r = tpGS.gsap.timeline(), s = t[e].navigation.tabs, n = t[e].navigation.thumbnails, l = t[e].navigation.bullets; if (r.pause(), a = a > 1 ? 1 : a < 0 ? 0 : a, p(s) && (i || s.width > s.min_width) && o(e, a, r, t[e].c, s, t[e].slideamount, "tab"), p(n) && (i || n.width > n.min_width) && o(e, a, r, t[e].c, n, t[e].slideamount, "thumb", e), p(l) && i) { var d = t[e].c.find(".tp-bullets"); d.find(".tp-bullet").each(function(e) { var t = jQuery(this), i = e + 1, a = t.outerWidth() + parseInt(void 0 === l.space ? 0 : l.space, 0), r = t.outerHeight() + parseInt(void 0 === l.space ? 0 : l.space, 0); "vertical" === l.direction ? (t.css({ top: (i - 1) * r + "px", left: "0px" }), d.css({ height: (i - 1) * r + t.outerHeight(), width: t.outerWidth() })) : (t.css({ left: (i - 1) * a + "px", top: "0px" }), d.css({ width: (i - 1) * a + t.outerWidth(), height: t.outerHeight() })) }) } r.play(), k(e) } return !0 }, updateNavIndexes: function(e) { var i = t[e].c; function a(e) { i.find(e).lenght > 0 && i.find(e).each(function(e) { jQuery(this).data("liindex", e) }) } a("rs-tab"), a("rs-bullet"), a("rs-thumb"), t.resizeThumbsTabs(e, !0), t.manageNavigation(e) }, manageNavigation: function(e, i) { if (t[e].navigation.use) { void 0 === t[e].navOutterOffsets && (t[e].navOutterOffsets = t.getHorizontalOffset(t[e].c, "all")); var a = t[e].navOutterOffsets.left, o = t[e].navOutterOffsets.right; p(t[e].navigation.bullets) && ("fullscreen" != t[e].sliderLayout && "fullwidth" != t[e].sliderLayout && (t[e].navigation.bullets.h_offset_old = void 0 === t[e].navigation.bullets.h_offset_old ? parseInt(t[e].navigation.bullets.h_offset, 0) : t[e].navigation.bullets.h_offset_old, t[e].navigation.bullets.h_offset = "center" === t[e].navigation.bullets.h_align ? t[e].navigation.bullets.h_offset_old + a / 2 - o / 2 : t[e].navigation.bullets.h_offset_old + a - o), _(t[e].navigation.bullets.c, t[e].navigation.bullets, e)), p(t[e].navigation.thumbnails) && _(t[e].navigation.thumbnails, e), p(t[e].navigation.tabs) && _(t[e].navigation.tabs, e), p(t[e].navigation.arrows) && ("fullscreen" != t[e].sliderLayout && "fullwidth" != t[e].sliderLayout && (t[e].navigation.arrows.left.h_offset_old = void 0 === t[e].navigation.arrows.left.h_offset_old ? parseInt(t[e].navigation.arrows.left.h_offset, 0) : t[e].navigation.arrows.left.h_offset_old, t[e].navigation.arrows.left.h_offset = "right" === t[e].navigation.arrows.left.h_align ? t[e].navigation.arrows.left.h_offset_old + o : t[e].navigation.arrows.left.h_offset_old + a, t[e].navigation.arrows.right.h_offset_old = void 0 === t[e].navigation.arrows.right.h_offset_old ? parseInt(t[e].navigation.arrows.right.h_offset, 0) : t[e].navigation.arrows.right.h_offset_old, t[e].navigation.arrows.right.h_offset = "right" === t[e].navigation.arrows.right.h_align ? t[e].navigation.arrows.right.h_offset_old + o : t[e].navigation.arrows.right.h_offset_old + a), _(t[e].navigation.arrows.left, e), _(t[e].navigation.arrows.right, e)), !1 !== i && (p(t[e].navigation.thumbnails) && r(t[e].navigation.thumbnails, e), p(t[e].navigation.tabs) && r(t[e].navigation.tabs, e)) } }, showFirstTime: function(e) { u(e), jQuery.isEmptyObject(t[e].caches.contWidthManager) && t.callContWidthManager(e), t.hideUnHideNav(e) }, selectNavElement: function(e, i, a, r) { for (var o = t[e].cpar[0].getElementsByClassName(a), s = 0; s < o.length; s++) t.gA(o[s], "key") === i ? (o[s].classList.add("selected"), void 0 !== r && r()) : o[s].classList.remove("selected") }, transferParams: function(e, t) { if (void 0 !== t) for (var i in t.params) e = e.replace(t.params[i].from, t.params[i].to); return e }, updateNavElementContent: function(e, i, a, o, s) { if (void 0 !== t[e].pr_next_key || void 0 !== t[e].pr_active_key) { var n = void 0 === t[e].pr_next_key ? void 0 === t[e].pr_cache_pr_next_key ? t[e].pr_active_key : t[e].pr_cache_pr_next_key : t[e].pr_next_key, l = t.gA(t[e].slides[n], "key"), d = 0, c = !1; for (var p in a.enable && t.selectNavElement(e, l, "tp-bullet"), o.enable && t.selectNavElement(e, l, "tp-thumb", function() { r(o, e) }), s.enable && t.selectNavElement(e, l, "tp-tab", function() { r(s, e) }), t[e].thumbs) d = !0 === c ? d : p, c = t[e].thumbs[p].id === l || p == l || c; var g = (d = parseInt(d, 0)) > 0 ? d - 1 : t[e].slideamount - 1, u = d + 1 == t[e].slideamount ? 0 : d + 1; if (!0 === i.enable && i.pi !== g && i.ni !== u) { if (i.pi = g, i.ni = u, i.left.c[0].innerHTML = t.transferParams(i.tmp, t[e].thumbs[g]), u > t[e].slideamount) return; i.right.c[0].innerHTML = t.transferParams(i.tmp, t[e].thumbs[u]), i.right.iholder = i.right.c.find(".tp-arr-imgholder"), i.left.iholder = i.left.c.find(".tp-arr-imgholder"), i.rtl ? (void 0 !== i.left.iholder[0] && tpGS.gsap.set(i.left.iholder, { backgroundImage: "url(" + t[e].thumbs[u].src + ")" }), void 0 !== t[e].thumbs[g] && void 0 !== i.right.iholder[0] && tpGS.gsap.set(i.right.iholder, { backgroundImage: "url(" + t[e].thumbs[g].src + ")" })) : (void 0 !== t[e].thumbs[g] && void 0 !== i.left.iholder[0] && tpGS.gsap.set(i.left.iholder, { backgroundImage: "url(" + t[e].thumbs[g].src + ")" }), void 0 !== i.right.iholder[0] && tpGS.gsap.set(i.right.iholder, { backgroundImage: "url(" + t[e].thumbs[u].src + ")" })) } } }, createNavigation: function(e) { var r = t[e].navigation.arrows, o = t[e].navigation.bullets, l = t[e].navigation.thumbnails, h = t[e].navigation.tabs, m = p(r), y = p(o), b = p(l), k = p(h); for (var S in s(e), n(e), m && (v(r, e), r.c = t[e].cpar.find(".tparrows")), t[e].slides) if (t[e].slides.hasOwnProperty(S) && "true" != t.gA(t[e].slides[S], "not_in_nav")) { var L = jQuery(t[e].slides[t[e].slides.length - 1 - S]), T = jQuery(t[e].slides[S]); y && (t[e].navigation.bullets.rtl ? w(t[e].c, o, L, e) : w(t[e].c, o, T, e)), b && (t[e].navigation.thumbnails.rtl ? x(t[e].c, l, L, "tp-thumb", e) : x(t[e].c, l, T, "tp-thumb", e)), k && (t[e].navigation.tabs.rtl ? x(t[e].c, h, L, "tp-tab", e) : x(t[e].c, h, T, "tp-tab", e)) } y && _(o, e), b && _(l, e), k && _(h, e), (b || k) && t.callContWidthManager(e), t[e].navigation.createNavigationDone = !0, b && jQuery.extend(!0, l, a(e, "thumb")), k && jQuery.extend(!0, h, a(e, "tab")), t[e].c.bind("revolution.slide.onafterswap revolution.nextslide.waiting", function() { t.updateNavElementContent(e, r, o, l, h) }), c(r), c(o), c(l), c(h), t[e].cpar.on("mouseenter mousemove", function(a) { void 0 !== a.target && void 0 !== a.target.className && "string" == typeof a.target.className && a.target.className.indexOf("rs-waction") >= 0 || !0 !== t[e].tpMouseOver && t[e].firstSlideAvailable && (t[e].tpMouseOver = !0, u(e), i && !0 !== t[e].someNavIsDragged && (g(t[e].hideAllNavElementTimer), t[e].hideAllNavElementTimer = setTimeout(function() { t[e].tpMouseOver = !1, f(e) }, 150))) }), t[e].cpar.on("mouseleave ", function() { t[e].tpMouseOver = !1, f(e) }), (b || k || "carousel" === t[e].sliderType || t[e].navigation.touch.touchOnDesktop || t[e].navigation.touch.touchenabled && i) && d(e), t[e].navigation.initialised = !0, t.updateNavElementContent(e, r, o, l, h), t.showFirstTime(e) } }); var r = function(e, i) { if (void 0 !== e && null != e.mask) { var a = "vertical" === e.direction ? e.mask.find(e.single).first().outerHeight(!0) + e.space : e.mask.find(e.single).first().outerWidth(!0) + e.space, r = "vertical" === e.direction ? e.mask.height() : e.mask.width(), o = e.mask.find(e.single + ".selected").data("liindex"); o = (o = void 0 === (o = e.rtl ? t[i].slideamount - o : o) ? 0 : o) > 0 && 1 === t[i].sdir && e.visibleAmount > 1 ? o - 1 : o; var s = r / a, n = "vertical" === e.direction ? e.mask.height() : e.mask.width(), l = 0 - o * a, d = "vertical" === e.direction ? e.wrap.height() : e.wrap.width(), c = l < 0 - (d - n) ? 0 - (d - n) : l, p = t.gA(e.wrap[0], "offset"); p = void 0 === p ? 0 : p, s > 2 && (c = l - (p + a) <= 0 ? l - (p + a) < 0 - a ? p : c + a : c, c = l - a + p + r < a && l + (Math.round(s) - 2) * a < p ? l + (Math.round(s) - 2) * a : c), c = "vertical" !== e.direction && e.mask.width() >= e.wrap.width() || "vertical" === e.direction && e.mask.height() >= e.wrap.height() ? 0 : c < 0 - (d - n) ? 0 - (d - n) : c > 0 ? 0 : c, e.c.hasClass("dragged") || ("vertical" === e.direction ? e.wrap.data("tmmove", tpGS.gsap.to(e.wrap, .5, { top: c + "px", ease: "power3.inOut" })) : e.wrap.data("tmmove", tpGS.gsap.to(e.wrap, .5, { left: c + "px", ease: "power3.inOut" })), e.wrap.data("offset", c)) } }, o = function(e, i, a, r, o, s, n) { var l = r.parent().find(".tp-" + n + "s"), d = l.find(".tp-" + n + "s-inner-wrapper"), c = l.find(".tp-" + n + "-mask"), p = o.width * i < o.min_width ? o.min_width : Math.round(o.width * i), g = Math.round(p / o.width * o.height), u = "vertical" === o.direction ? p : p * s + o.space * (s - 1), h = "vertical" === o.direction ? g * s + o.space * (s - 1) : g, f = "vertical" === o.direction ? { width: p + "px" } : { height: g + "px" }; a.add(tpGS.gsap.set(l, f)), a.add(tpGS.gsap.set(d, { width: u + "px", height: h + "px" })), a.add(tpGS.gsap.set(c, { width: u + "px", height: h + "px" })), null !== d.outerWidth() && (t[e].thumbResized = !0); var m = d.find(".tp-" + n); return m && jQuery.each(m, function(e, t) { "vertical" === o.direction ? a.add(tpGS.gsap.set(t, { top: e * (g + parseInt(void 0 === o.space ? 0 : o.space, 0)), width: p + "px", height: g + "px" })) : "horizontal" === o.direction && a.add(tpGS.gsap.set(t, { left: e * (p + parseInt(void 0 === o.space ? 0 : o.space, 0)), width: p + "px", height: g + "px" })) }), a }, s = function(e) { !0 === t[e].navigation.keyboardNavigation && t.document.keydown(function(i) { if ("horizontal" == t[e].navigation.keyboard_direction && 39 == i.keyCode || "vertical" == t[e].navigation.keyboard_direction && 40 == i.keyCode) { if (void 0 !== t[e].keydown_time_stamp && (new Date).getTime() - t[e].keydown_time_stamp < 1e3) return; t[e].sc_indicator = "arrow", t[e].sc_indicator_dir = 0, "carousel" === t[e].sliderType && (t[e].ctNavElement = !0), t.callingNewSlide(e, 1, "carousel" === t[e].sliderType) } if ("horizontal" == t[e].navigation.keyboard_direction && 37 == i.keyCode || "vertical" == t[e].navigation.keyboard_direction && 38 == i.keyCode) { if (void 0 !== t[e].keydown_time_stamp && (new Date).getTime() - t[e].keydown_time_stamp < 1e3) return; t[e].sc_indicator = "arrow", t[e].sc_indicator_dir = 1, "carousel" === t[e].sliderType && (t[e].ctNavElement = !0), t.callingNewSlide(e, -1, "carousel" === t[e].sliderType) } t[e].keydown_time_stamp = (new Date).getTime() }) }, n = function(e) { if (!0 === t[e].navigation.mouseScrollNavigation || "on" === t[e].navigation.mouseScrollNavigation || "carousel" === t[e].navigation.mouseScrollNavigation) { t[e].isIEEleven = !!navigator.userAgent.match(/Trident.*rv\:11\./), t[e].isSafari = !!navigator.userAgent.match(/safari/i), t[e].ischrome = !!navigator.userAgent.match(/chrome/i); var i = t[e].ischrome ? -49 : t[e].isIEEleven || t[e].isSafari ? -9 : navigator.userAgent.match(/mozilla/i) ? -29 : -49, a = t[e].ischrome ? 49 : t[e].isIEEleven || t[e].isSafari ? 9 : navigator.userAgent.match(/mozilla/i) ? 29 : 49; t[e].c.on("mousewheel DOMMouseScroll", function(r) { var o, s, n, l, d, c = (o = r.originalEvent, s = 0, n = 0, l = 0, d = 0, "detail" in o && (n = o.detail), "wheelDelta" in o && (n = -o.wheelDelta / 120), "wheelDeltaY" in o && (n = -o.wheelDeltaY / 120), "wheelDeltaX" in o && (s = -o.wheelDeltaX / 120), "axis" in o && o.axis === o.HORIZONTAL_AXIS && (s = n, n = 0), l = 1 * s, d = 1 * n, "deltaY" in o && (d = o.deltaY), "deltaX" in o && (l = o.deltaX), (l || d) && o.deltaMode && (o.deltaMode, l *= 1, d *= 1), l && !s && (s = l < 1 ? -1 : 1), d && !n && (n = d < 1 ? -1 : 1), ((d = navigator.userAgent.match(/mozilla/i) ? 10 * d : d) > 300 || d < -300) && (d /= 10), { spinX: s, spinY: n, pixelX: l, pixelY: d }), p = !0, g = 0 == t[e].pr_active_key || 0 == t[e].pr_processing_key, u = t[e].pr_active_key == t[e].slideamount - 1 || t[e].pr_processing_key == t[e].slideamount - 1; if ("carousel" === t[e].sliderType && !1 === t[e].carousel.snap) p = !1, t.swipeAnimate({ id: e, to: t[e].carousel.slide_offset + 5 * c.pixelY, direction: c.pixelY < 0 ? "left" : "right", easing: "power2.out", phase: "move" }); else { if (t[e].isSafari) { var h = c.pixelY < 0 ? -1 : 1; if (void 0 !== t[e].doubleScrollEventTimeStamp && r.timeStamp - t[e].doubleScrollEventTimeStamp < 750 && t[e].doubleScrollEventDir === h) return void r.preventDefault(r); t[e].doubleScrollEventTimeStamp = r.timeStamp, t[e].doubleScrollEventDir = h } "carousel" == t[e].navigation.mouseScrollNavigation && (g = u = !1), void 0 === t[e].pr_processing_key ? c.pixelY < i ? (g || (t[e].sc_indicator = "arrow", "reverse" !== t[e].navigation.mouseScrollReverse && (t[e].sc_indicator_dir = 1, "carousel" === t[e].sliderType && (t[e].ctNavElement = !0), t.callingNewSlide(e, -1, "carousel" === t[e].sliderType)), p = !1), u || (t[e].sc_indicator = "arrow", "reverse" === t[e].navigation.mouseScrollReverse && (t[e].sc_indicator_dir = 0, "carousel" === t[e].sliderType && (t[e].ctNavElement = !0), t.callingNewSlide(e, 1, "carousel" === t[e].sliderType)), p = !1)) : c.pixelY > a && (u || (t[e].sc_indicator = "arrow", "reverse" !== t[e].navigation.mouseScrollReverse && (t[e].sc_indicator_dir = 0, "carousel" === t[e].sliderType && (t[e].ctNavElement = !0), t.callingNewSlide(e, 1, "carousel" === t[e].sliderType)), p = !1), g || (t[e].sc_indicator = "arrow", "reverse" === t[e].navigation.mouseScrollReverse && (t[e].sc_indicator_dir = 1, "carousel" === t[e].sliderType && (t[e].ctNavElement = !0), t.callingNewSlide(e, -1, "carousel" === t[e].sliderType)), p = !1)) : p = !1; var f = t[e].c.offset().top - jQuery("body").scrollTop(), m = f + t[e].c.height(); "carousel" != t[e].navigation.mouseScrollNavigation ? ("reverse" !== t[e].navigation.mouseScrollReverse && (f > 0 && c.pixelY > 0 || m < t.getWinH(e) && c.pixelY < 0) && (p = !0), "reverse" === t[e].navigation.mouseScrollReverse && (f < 0 && c.pixelY < 0 || m > t.getWinH(e) && c.pixelY > 0) && (p = !0)) : p = !1 } return p ? void 0 : (r.preventDefault(r), !1) }) } }, l = function(e, t) { var a = !1; for (var r in (void 0 === t.path || i) && (a = function(e, t) { for (; e && e !== document; e = e.parentNode) if (e.tagName === t) return e; return !1 }(t.target, e)), t.path) t.path.hasOwnProperty(r) && t.path[r].tagName === e && (a = !0); return a }, d = function(e) { var a = t[e].carousel, r = t.is_android(); jQuery(".bullet, .bullets, .tp-bullets, .tparrows").addClass("noSwipe"), t[e].navigation.touch = void 0 === t[e].navigation.touch ? {} : t[e].navigation.touch, t[e].navigation.touch.swipe_direction = void 0 === t[e].navigation.touch.swipe_direction ? "horizontal" : t[e].navigation.touch.swipe_direction, jQuery(".rs-nav-element").rsswipe({ allowPageScroll: "vertical", triggerOnTouchLeave: !0, treshold: t[e].navigation.touch.swipe_treshold, fingers: t[e].navigation.touch.swipe_min_touches > 5 ? 1 : t[e].navigation.touch.swipe_min_touches, excludedElements: "button, input, select, textarea, .noSwipe, .rs-waction", tap: function(e, t) { if (void 0 !== t) var i = jQuery(t).closest("rs-thumb"); void 0 !== i && i.length > 0 ? i.trigger("click") : (i = jQuery(t).closest("rs-tab")).length > 0 ? i.trigger("click") : (i = jQuery(t).closest("rs-bullet")).length > 0 && i.trigger("click") }, swipeStatus: function(i, o, s, n, d, c, p) { if ("start" !== o && "move" !== o && "end" !== o && "cancel" != o) return !0; var u = l("RS-THUMB", i), f = l("RS-TAB", i); !1 === u && !1 === f && !0 !== (u = "RS-THUMBS-WRAP" === i.target.tagName || "RS-THUMBS" === i.target.tagName || i.target.className.indexOf("tp-thumb-mask") >= 0) && (f = "RS-TABS-WRAP" === i.target.tagName || "RS-TABS" === i.target.tagName || i.target.className.indexOf("tp-tab-mask") >= 0); var m = "start" === o ? 0 : r ? p[0].end.x - p[0].start.x : i.pageX - a.screenX, v = "start" === o ? 0 : r ? p[0].end.y - p[0].start.y : i.pageY - a.screenY, y = u ? ".tp-thumbs" : ".tp-tabs", b = u ? ".tp-thumb-mask" : ".tp-tab-mask", _ = u ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper", w = u ? ".tp-thumb" : ".tp-tab", x = u ? t[e].navigation.thumbnails : t[e].navigation.tabs, k = t[e].cpar.find(b), S = k.find(_), L = x.direction, T = "vertical" === L ? S.height() : S.width(), O = "vertical" === L ? k.height() : k.width(), A = "vertical" === L ? k.find(w).first().outerHeight(!0) + x.space : k.find(w).first().outerWidth(!0) + x.space, R = void 0 === S.data("offset") ? 0 : parseInt(S.data("offset"), 0), I = 0; switch (o) { case "start": "vertical" === L && i.preventDefault(), a.screenX = r ? p[0].end.x : i.pageX, a.screenY = r ? p[0].end.y : i.pageY, t[e].cpar.find(y).addClass("dragged"), R = "vertical" === L ? S.position().top : S.position().left, S.data("offset", R), S.data("tmmove") && S.data("tmmove").pause(), t[e].someNavIsDragged = !0, h(e); break; case "move": if (T <= O) return !1; I = (I = R + ("vertical" === L ? v : m)) > 0 ? "horizontal" === L ? I - S.width() * (I / S.width() * I / S.width()) : I - S.height() * (I / S.height() * I / S.height()) : I; var z = "vertical" === L ? 0 - (S.height() - k.height()) : 0 - (S.width() - k.width()); I = I < z ? "horizontal" === L ? I + S.width() * (I - z) / S.width() * (I - z) / S.width() : I + S.height() * (I - z) / S.height() * (I - z) / S.height() : I, "vertical" === L ? tpGS.gsap.set(S, { top: I + "px" }) : tpGS.gsap.set(S, { left: I + "px" }), g(t[e].hideAllNavElementTimer); break; case "end": case "cancel": return I = R + ("vertical" === L ? v : m), I = (I = "vertical" === L ? I < 0 - (S.height() - k.height()) ? 0 - (S.height() - k.height()) : I : I < 0 - (S.width() - k.width()) ? 0 - (S.width() - k.width()) : I) > 0 ? 0 : I, I = Math.abs(n) > A / 10 ? n <= 0 ? Math.floor(I / A) * A : Math.ceil(I / A) * A : n < 0 ? Math.ceil(I / A) * A : Math.floor(I / A) * A, I = (I = "vertical" === L ? I < 0 - (S.height() - k.height()) ? 0 - (S.height() - k.height()) : I : I < 0 - (S.width() - k.width()) ? 0 - (S.width() - k.width()) : I) > 0 ? 0 : I, "vertical" === L ? tpGS.gsap.to(S, .5, { top: I + "px", ease: "power3.out" }) : tpGS.gsap.to(S, .5, { left: I + "px", ease: "power3.out" }), I = I || ("vertical" === L ? S.position().top : S.position().left), S.data("offset", I), S.data("distance", n), t[e].cpar.find(y).removeClass("dragged"), t[e].someNavIsDragged = !1, !0 } } }), ("carousel" !== t[e].sliderType && (i && t[e].navigation.touch.touchenabled || !0 !== i && t[e].navigation.touch.touchOnDesktop) || "carousel" === t[e].sliderType && (i && t[e].navigation.touch.mobileCarousel || !0 !== i && t[e].navigation.touch.desktopCarousel)) && t[e].c.rsswipe({ allowPageScroll: "vertical", triggerOnTouchLeave: !0, treshold: t[e].navigation.touch.swipe_treshold, fingers: t[e].navigation.touch.swipe_min_touches > 5 ? 1 : t[e].navigation.touch.swipe_min_touches, excludedElements: "label, button, input, select, textarea, .noSwipe, .rs-nav-element, .rs-waction", swipeStatus: function(o, s, n, l, d, c, p) { var g = "start" === s ? 0 : r ? p[0].end.x - p[0].start.x : o.pageX - a.screenX; "start" === s || (r ? (p[0].end.x, p[0].start.y) : (o.pageY, a.screenY)); if (!("carousel" === t[e].sliderType && t[e].carousel.wrapwidth > t[e].carousel.maxwidth && "center" !== t[e].carousel.horizontal_align)) { if ("carousel" !== t[e].sliderType) { if ("end" == s) { if (t[e].sc_indicator = "arrow", "horizontal" == t[e].navigation.touch.swipe_direction && "left" == n || "vertical" == t[e].navigation.touch.swipe_direction && "up" == n) return t[e].sc_indicator_dir = 0, t.callingNewSlide(e, 1), !1; if ("horizontal" == t[e].navigation.touch.swipe_direction && "right" == n || "vertical" == t[e].navigation.touch.swipe_direction && "down" == n) return t[e].sc_indicator_dir = 1, t.callingNewSlide(e, -1), !1 } return !0 } switch ((a.preventSwipe || i && ("left" === n || "right" === n)) && o.preventDefault(), void 0 !== a.positionanim && a.positionanim.pause(), a.carouselAutomatic = !1, s) { case "start": clearTimeout(a.swipeMainTimer), a.beforeSwipeOffet = a.slide_offset, a.focusedBeforeSwipe = a.focused, a.beforeDragStatus = t[e].sliderstatus, t[e].c.trigger("stoptimer"), a.swipeStartPos = r ? p[0].start.x : o.pageX, a.swipeStartTime = (new Date).getTime(), a.screenX = r ? p[0].end.x : o.pageX, a.screenY = r ? p[0].end.y : o.pageY, void 0 !== a.positionanim && (a.positionanim.pause(), a.carouselAutomatic = !1), a.overpull = "none", a.wrap.addClass("dragged"); break; case "move": if ("left" !== n && "right" !== n || (a.preventSwipe = !0), a.justDragged = !0, Math.abs(g) >= 10 || t[e].carousel.isDragged) { if (t[e].carousel.isDragged = !0, t[e].c.find(".rs-waction").addClass("tp-temporarydisabled"), a.CACHE_slide_offset = a.beforeSwipeOffet + g, !a.infinity) { var u = "center" === a.horizontal_align ? (a.wrapwidth / 2 - a.slide_width / 2 - a.CACHE_slide_offset) / a.slide_width : (0 - a.CACHE_slide_offset) / a.slide_width; "none" !== a.overpull && 0 !== a.overpull || !(u < 0 || u > t[e].slideamount - 1) ? u >= 0 && u <= t[e].slideamount - 1 && (u >= 0 && g > a.overpull || u <= t[e].slideamount - 1 && g < a.overpull) && (a.overpull = 0) : a.overpull = g, a.CACHE_slide_offset = u < 0 ? a.CACHE_slide_offset + (a.overpull - g) / 1.5 + Math.sqrt(Math.abs((a.overpull - g) / 1.5)) : u > t[e].slideamount - 1 ? a.CACHE_slide_offset + (a.overpull - g) / 1.5 - Math.sqrt(Math.abs((a.overpull - g) / 1.5)) : a.CACHE_slide_offset } t.swipeAnimate({ id: e, to: a.CACHE_slide_offset, direction: n, easing: "power2.out", phase: "move" }) } break; case "end": case "cancel": clearTimeout(a.swipeMainTimer), a.swipeMainTimer = setTimeout(function() { a.preventSwipe = !1 }, 500), t[e].carousel.isDragged = !1, a.wrap.removeClass("dragged"), a.swipeEndPos = r ? p[0].end.x : o.pageX, a.swipeEndTime = (new Date).getTime(), a.swipeDuration = a.swipeEndTime - a.swipeStartTime, a.swipeDistance = i ? a.swipeEndPos - a.swipeStartPos : (a.swipeEndPos - a.swipeStartPos) / 1.5, a.swipePower = a.swipeDistance / a.swipeDuration, a.CACHE_slide_offset = a.slide_offset + a.swipeDistance * Math.abs(a.swipePower), t.swipeAnimate({ id: e, to: a.CACHE_slide_offset, direction: n, fix: !0, newSlide: !0, easing: "power2.out", phase: "end" }), "playing" === a.beforeDragStatus && t[e].c.trigger("restarttimer"), setTimeout(function() { t[e].c.find(".rs-waction").removeClass("tp-temporarydisabled") }, 19) } } } }), "carousel" === t[e].sliderType && (i && 0 == t[e].navigation.touch.mobileCarousel || !0 !== i && !1 === t[e].navigation.touch.desktopCarousel) && a.wrap.addClass("noswipe"), t[e].navigation.touch.drag_block_vertical && t[e].c.addClass("disableVerticalScroll") }, c = function(e) { e.hide_delay = jQuery.isNumeric(parseInt(e.hide_delay, 0)) ? e.hide_delay : .2, e.hide_delay_mobile = jQuery.isNumeric(parseInt(e.hide_delay_mobile, 0)) ? e.hide_delay_mobile : .2 }, p = function(e) { return e && e.enable }, g = function(e) { clearTimeout(e) }, u = function(e) { var i = t[e].navigation.maintypes; for (var a in i) i.hasOwnProperty(a) && p(t[e].navigation[i[a]]) && void 0 !== t[e].navigation[i[a]].c && (g(t[e].navigation[i[a]].showCall), t[e].navigation[i[a]].showCall = setTimeout(function(i) { g(i.hideCall), i.hide_onleave && !0 !== t[e].tpMouseOver || (void 0 === i.tween ? i.tween = m(i) : i.tween.play()) }, t[e].navigation[i[a]].hide_onleave && !0 !== t[e].tpMouseOver ? 0 : parseInt(t[e].navigation[i[a]].animDelay), t[e].navigation[i[a]])) }, h = function(e) { var i = t[e].navigation.maintypes; for (var a in i) i.hasOwnProperty(a) && void 0 !== t[e].navigation[i[a]] && t[e].navigation[i[a]].hide_onleave && p(t[e].navigation[i[a]]) && g(t[e].navigation[i[a]].hideCall) }, f = function(e, a) { var r = t[e].navigation.maintypes; for (var o in r) r.hasOwnProperty(o) && void 0 !== t[e].navigation[r[o]] && t[e].navigation[r[o]].hide_onleave && p(t[e].navigation[r[o]]) && (g(t[e].navigation[r[o]].hideCall), t[e].navigation[r[o]].hideCall = setTimeout(function(e) { g(e.showCall), e.tween && e.tween.reverse() }, i ? parseInt(t[e].navigation[r[o]].hide_delay_mobile, 0) : parseInt(t[e].navigation[r[o]].hide_delay, 0), t[e].navigation[r[o]])) }, m = function(e) { e.speed = void 0 === e.speed ? .5 : e.speed, e.anims = [], void 0 !== e.anim && void 0 === e.left && e.anims.push(e.anim), void 0 !== e.left && e.anims.push(e.left.anim), void 0 !== e.right && e.anims.push(e.right.anim); var t = tpGS.gsap.timeline(); for (var i in t.add(tpGS.gsap.to(e.c, e.speed, { opacity: 1, ease: "power3.inOut" }), 0), e.anims) if (e.anims.hasOwnProperty(i)) switch (e.anims[i]) { case "left": t.add(tpGS.gsap.fromTo(e.c[i], e.speed, { marginLeft: -50 }, { marginLeft: 0, ease: "power3.inOut" }), 0); break; case "right": t.add(tpGS.gsap.fromTo(e.c[i], e.speed, { marginLeft: 50 }, { marginLeft: 0, ease: "power3.inOut" }), 0); break; case "top": t.add(tpGS.gsap.fromTo(e.c[i], e.speed, { marginTop: -50 }, { marginTop: 0, ease: "power3.inOut" }), 0); break; case "bottom": t.add(tpGS.gsap.fromTo(e.c[i], e.speed, { marginTop: 50 }, { marginTop: 0, ease: "power3.inOut" }), 0); break; case "zoomin": t.add(tpGS.gsap.fromTo(e.c[i], e.speed, { scale: .5 }, { scale: 1, ease: "power3.inOut" }), 0); break; case "zoomout": t.add(tpGS.gsap.fromTo(e.c[i], e.speed, { scale: 1.2 }, { scale: 1, ease: "power3.inOut" }), 0) } return t.play(), t }, v = function(e, i) { e.style = void 0 === e.style ? "" : e.style, e.left.style = void 0 === e.left.style ? "" : e.left.style, e.right.style = void 0 === e.right.style ? "" : e.right.style, void 0 === e.left.c && (e.left.c = jQuery('' + e.tmp + ""), t[i].c.append(e.left.c)), void 0 === e.right.c && (e.right.c = jQuery('' + e.tmp + ""), t[i].c.append(e.right.c)), e[e.rtl ? "left" : "right"].c.click(function() { "carousel" === t[i].sliderType && (t[i].ctNavElement = !0), t[i].sc_indicator = "arrow", t[i].sc_indicator_dir = 0, t[i].c.revnext() }), e[e.rtl ? "right" : "left"].c.click(function() { "carousel" === t[i].sliderType && (t[i].ctNavElement = !0), t[i].sc_indicator = "arrow", t[i].sc_indicator_dir = 1, t[i].c.revprev() }), e.padding_top = parseInt(t[i].carousel.padding_top || 0, 0), e.padding_bottom = parseInt(t[i].carousel.padding_bottom || 0, 0), _(e.left, i), _(e.right, i), "outer-left" != e.position && "outer-right" != e.position || (t[i].outernav = !0) }, y = function(e, i, a, r) { r = void 0 === r ? e.outerHeight(!0) : r; var o = null == t[a] ? 0 : 0 == t[a].conh ? t[a].height : t[a].conh, s = "layergrid" == i.container ? "fullscreen" == t[a].sliderLayout ? t[a].height / 2 - t[a].gridheight[t[a].level] * t[a].bh / 2 : t[a].autoHeight || null != t[a].minHeight && t[a].minHeight > 0 ? o / 2 - t[a].gridheight[t[a].level] * t[a].bh / 2 : 0 : 0, n = "top" === i.v_align ? { top: "0px", y: Math.round(i.v_offset + s) + "px" } : "center" === i.v_align ? { top: "50%", y: Math.round(0 - r / 2 + i.v_offset) + "px" } : { top: "100%", y: Math.round(0 - (r + i.v_offset + s)) + "px" }; e.hasClass("outer-bottom") || tpGS.gsap.set(e, n) }, b = function(e, i, a, r) { r = void 0 === r ? e.outerWidth(!0) : r; var o = "layergrid" === i.container ? t[a].width / 2 - t[a].gridwidth[t[a].level] * t[a].bw / 2 : 0, s = "left" === i.h_align ? { left: "0px", x: Math.round(i.h_offset + o) + "px" } : "center" === i.h_align ? { left: "50%", x: Math.round(0 - r / 2 + i.h_offset) + "px" } : { left: "100%", x: Math.round(0 - (r + i.h_offset + o)) + "px" }; tpGS.gsap.set(e, s) }, _ = function(e, i) { if (null != e && void 0 !== e.c) { var a = "fullwidth" == t[i].sliderLayout || "fullscreen" == t[i].sliderLayout, r = a ? t[i].conw : t[i].topc.width(), o = e.c.outerWidth(!0), s = e.c.outerHeight(!0); if (!(o <= 0 || s <= 0) && (y(e.c, e, i, s), b(e.c, e, i, o), "outer-left" === e.position && a ? tpGS.gsap.set(e.c, { left: 0 - o + "px", x: e.h_offset + "px" }) : "outer-right" === e.position && a && tpGS.gsap.set(e.c, { right: 0 - o + "px", x: e.h_offset + "px" }), "tp-thumb" === e.type || "tp-tab" === e.type)) { var n = parseInt(e.padding_top || 0, 0), l = parseInt(e.padding_bottom || 0, 0), d = {}, c = {}; e.maxw > r && "outer-left" !== e.position && "outer-right" !== e.position ? (d.left = "0px", d.x = 0, d.maxWidth = r - 2 * e.wpad + "px", c.maxWidth = r - 2 * e.wpad + "px") : (d.maxWidth = e.maxw, c.maxWidth = r + "px"), e.maxh + 2 * e.wpad > t[i].conh && "outer-bottom" !== e.position && "outer-top" !== e.position ? (d.top = "0px", d.y = 0, d.maxHeight = n + l + (t[i].conh - 2 * e.wpad) + "px", c.maxHeight = n + l + (t[i].conh - 2 * e.wpad) + "px") : (d.maxHeight = e.maxh + "px", c.maxHeight = e.maxh + "px"), e.mask = void 0 === e.mask ? e.c.find("rs-navmask") : e.mask, e.span ? ("layergrid" == e.container && "outer-left" !== e.position && "outer-right" !== e.position && (n = l = 0), "vertical" === e.direction ? (d.maxHeight = n + l + (t[i].conh - 2 * e.wpad) + "px", d.height = n + l + (t[i].conh - 2 * e.wpad) + "px", d.top = 0, d.y = 0, c.maxHeight = n + l + Math.min(e.maxh, t[i].conh - 2 * e.wpad) + "px", tpGS.gsap.set(e.c, d), tpGS.gsap.set(e.mask, c), y(e.mask, e, i)) : "horizontal" === e.direction && (d.maxWidth = "100%", d.width = r - 2 * e.wpad + "px", d.left = 0, d.x = 0, c.maxWidth = e.maxw >= r ? "100%" : Math.min(e.maxw, r) + "px", tpGS.gsap.set(e.c, d), tpGS.gsap.set(e.mask, c), b(e.mask, e, i))) : (tpGS.gsap.set(e.c, d), tpGS.gsap.set(e.mask, c)) } } }, w = function(e, i, a, r) { 0 === e.find(".tp-bullets").length && (i.style = void 0 === i.style ? "" : i.style, i.c = jQuery('')); var o = a.data("key"), s = i.tmp; void 0 !== t[r].thumbs[a.index()] && jQuery.each(t[r].thumbs[a.index()].params, function(e, t) { s = s.replace(t.from, t.to) }); var n = jQuery('' + s + ""); void 0 !== t[r].thumbs[a.index()] && n.find(".tp-bullet-image").css({ backgroundImage: "url(" + t[r].thumbs[a.index()].src + ")" }), i.c.append(n), e.append(i.c); var l = i.c.find(".tp-bullet").length, d = n.outerWidth(), c = n.outerHeight(), p = d + parseInt(void 0 === i.space ? 0 : i.space, 0), g = c + parseInt(void 0 === i.space ? 0 : i.space, 0); "vertical" === i.direction ? (n.css({ top: (l - 1) * g + "px", left: "0px" }), i.c.css({ height: (l - 1) * g + c, width: d })) : (n.css({ left: (l - 1) * p + "px", top: "0px" }), i.c.css({ width: (l - 1) * p + d, height: c })), n.click(function() { "carousel" === t[r].sliderType && (t[r].ctNavElement = !0), t[r].sc_indicator = "bullet", e.revcallslidewithid(o), e.find(".tp-bullet").removeClass("selected"), jQuery(this).addClass("selected") }), i.padding_top = parseInt(t[r].carousel.padding_top || 0, 0), i.padding_bottom = parseInt(t[r].carousel.padding_bottom || 0, 0), "outer-left" != i.position && "outer-right" != i.position || (t[r].outernav = !0) }, x = function(e, i, a, r, o) { var s = "tp-thumb" === r ? ".tp-thumbs" : ".tp-tabs", n = "tp-thumb" === r ? ".tp-thumb-mask" : ".tp-tab-mask", l = "tp-thumb" === r ? ".tp-thumbs-inner-wrapper" : ".tp-tabs-inner-wrapper", d = "tp-thumb" === r ? ".tp-thumb" : ".tp-tab", c = "tp-thumb" === r ? ".tp-thumb-image" : ".tp-tab-image", p = "tp-thumb" === r ? "rs-thumb" : "rs-tab"; i.type = r, i.visibleAmount = i.visibleAmount > t[o].slideamount ? t[o].slideamount : i.visibleAmount, i.sliderLayout = t[o].sliderLayout, void 0 === i.c && (i.wpad = i.wrapper_padding, i.c = jQuery("<" + p + 's style="opacity:0" class="nav-dir-' + i.direction + " nav-pos-ver-" + i.v_align + " nav-pos-hor-" + i.h_align + " rs-nav-element " + r + "s " + (!0 === i.span ? "tp-span-wrapper" : "") + " " + i.position + " " + (void 0 === i.style ? "" : i.style) + '"><' + p + 's-wrap class="' + r + 's-inner-wrapper" style="position:relative;">"), i.c.css({ overflow: "visible", position: "outer-top" === i.position || "outer-bottom" === i.position ? "relative" : "absolute", background: i.wrapper_color, padding: i.wpad + "px", boxSizing: "contet-box" }), "outer-top" === i.position ? e.parent().prepend(i.c) : "outer-bottom" === i.position ? e.after(i.c) : e.append(i.c), "outer-left" !== i.position && "outer-right" !== i.position || tpGS.gsap.set(t[o].c, { overflow: "visible" }), i.padding_top = parseInt(t[o].carousel.padding_top || 0, 0), i.padding_bottom = parseInt(t[o].carousel.padding_bottom || 0, 0), "outer-left" != i.position && "outer-right" != i.position || (t[o].outernav = !0)); var g = a.data("key"), u = i.c.find(n), h = u.find(l), f = i.tmp; i.maxw = "horizontal" === i.direction ? i.width * i.visibleAmount + i.space * (i.visibleAmount - 1) : i.width, i.maxh = "horizontal" === i.direction ? i.height : i.height * i.visibleAmount + i.space * (i.visibleAmount - 1), void 0 !== t[o].thumbs[a.index()] && jQuery.each(t[o].thumbs[a.index()].params, function(e, t) { f = f.replace(t.from, t.to) }); var m = jQuery("<" + p + ' data-liindex="' + a.index() + '" data-key="' + g + '" class="' + r + '" style="width:' + i.width + "px;height:" + i.height + 'px;">' + f + "<" + p + ">"); void 0 !== t[o].thumbs[a.index()] && m.find(c).css({ backgroundImage: "url(" + t[o].thumbs[a.index()].src + ")" }), h.append(m); var v = i.c.find(d).length, y = m.outerWidth(), b = m.outerHeight(), _ = y + parseInt(void 0 === i.space ? 0 : i.space, 0), w = b + parseInt(void 0 === i.space ? 0 : i.space, 0); "vertical" === i.direction ? (m.css({ top: (v - 1) * w + "px", left: "0px" }), h.css({ height: (v - 1) * w + b, width: y })) : (m.css({ left: (v - 1) * _ + "px", top: "0px" }), h.css({ width: (v - 1) * _ + y, height: b })), u.css({ maxWidth: i.maxw + "px", maxHeight: i.maxh + "px" }), i.c.css({ maxWidth: i.maxw + "px", maxHeight: i.maxh + "px" }), m.click(function() { t[o].sc_indicator = "bullet", "carousel" === t[o].sliderType && (t[o].ctNavElement = !0); var i = e.parent().find(l).data("distance"); i = void 0 === i ? 0 : i, Math.abs(i) < 10 && (e.revcallslidewithid(g), e.parent().find(s).removeClass("selected"), jQuery(this).addClass("selected")) }) }, k = function(e) { var i = t[e].cpar.find(".outer-top"), a = t[e].cpar.find(".outer-bottom"), r = t[e].top_outer, o = t[e].bottom_outer; t[e].top_outer = i.hasClass("tp-forcenotvisible") ? 0 : i.outerHeight() || 0, t[e].bottom_outer = a.hasClass("tp-forcenotvisible") ? 0 : a.outerHeight() || 0, (void 0 !== r && r !== t[e].top_outer || void 0 !== o && o !== t[e].bottom_outer) && t.setSize(e, void 0, "setONHeights") }, S = function(e, i, a) { return null == e || void 0 === e.c ? a : (e.hide_under > t[i].conw || t[i].conw > e.hide_over ? (!0 !== e.tpForceNotVisible && (e.c.addClass("tp-forcenotvisible"), a = !0), e.tpForceNotVisible = !0) : (!1 !== e.tpForceNotVisible && (e.c.removeClass("tp-forcenotvisible"), a = !0), e.tpForceNotVisible = !1), a) } }(jQuery), function(e) { "use strict"; var t = jQuery.fn.revolution; jQuery.extend(!0, t, { preparePanZoom: function(e) {}, stopPanZoom: function(e) { null != e.data("pztl") && e.data("pztl").pause() }, startPanZoom: function(e, i, a, r, o) { "carousel" === t[i].sliderType && (t[i].carousel.justify && void 0 === t[i].carousel.slide_widths && t.setCarouselDefaults(i, !0), t[i].carousel.justify || (void 0 === t[i].carousel.slide_width && (t[i].carousel.slide_width = !0 !== t[i].carousel.stretch ? t[i].gridwidth[t[i].level] * (0 === t[i].bw ? 1 : t[i].bw) : t[i].conw), void 0 === t[i].carousel.slide_height && (t[i].carousel.slide_height = !0 !== t[i].carousel.stretch ? t[i].gridheight[t[i].level] * (0 === t[i].bw ? 1 : t[i].bw) : t[i].conh)), !0 !== t[i].CWMDONE && (t.contWidthManager(i), t.setSize(i))); var s = e.data(), n = e.find("rs-sbg"), l = n.data("lazyload") || n.data("src"), d = (s.owidth, s.oheight, "carousel" === t[i].sliderType ? t[i].carousel.justify ? t[i].carousel.slide_widths[void 0 !== r ? r : void 0 === t[i].carousel.focused ? 0 : t[i].carousel.focused] : t[i].carousel.slide_width : t[i].canvas.width()), c = t[i].canvas.height(); if (t[i].panzoomTLs = void 0 === t[i].panzoomTLs ? {} : t[i].panzoomTLs, t[i].panzoomBGs = void 0 === t[i].panzoomBGs ? {} : t[i].panzoomBGs, void 0 === t[i].panzoomBGs[r] && (t[i].panzoomBGs[r] = e), void 0 !== s.panzoom && null !== s.panzoom) { if (e.data("pztl") && e.data("pztl").kill(), a = a || 0, 0 == e.find(".rs-pzimg").length) { var p = n.data("mediafilter"); p = void 0 === p ? "" : p, e.append(''), e.data("pzimg", e.find(".rs-pzimg")) } var g = function(e, t, i, a, r, o, s) { var n = e * i, l = t * i, d = Math.abs(a - n), c = Math.abs(r - l), p = new Object; return p.l = (0 - o) * d, p.r = p.l + n, p.t = (0 - s) * c, p.b = p.t + l, p.h = o, p.v = s, p }; void 0 !== t[i].panzoomTLs[r] && t[i].panzoomTLs[r].kill(), null != e.data("pztl") && (e.data("pztl").kill(), e.removeData("pztl")); var u = e.data("pzimg"), h = u.parent(), f = function(e, t, i) { var a = void 0 === i.panvalues ? jQuery.extend(!0, {}, function(e) { var t = e.panzoom.split(";"), i = { duration: 10, ease: "none", scalestart: 1, scaleend: 1, rotatestart: .01, rotateend: 0, blurstart: 0, blurend: 0, offsetstart: "0/0", offsetend: "0/0" }; for (var a in t) if (t.hasOwnProperty(a)) { var r = t[a].split(":"), o = r[0], s = r[1]; switch (o) { case "d": i.duration = parseInt(s, 0) / 1e3; break; case "e": i.ease = s; break; case "ss": i.scalestart = parseInt(s, 0) / 100; break; case "se": i.scaleend = parseInt(s, 0) / 100; break; case "rs": i.rotatestart = parseInt(s, 0); break; case "re": i.rotateend = parseInt(s, 0); break; case "bs": i.blurstart = parseInt(s, 0); break; case "be": i.blurend = parseInt(s, 0); break; case "os": i.offsetstart = s; break; case "oe": i.offsetend = s } } return i.offsetstart = i.offsetstart.split("/") || [0, 0], i.offsetend = i.offsetend.split("/") || [0, 0], i.rotatestart = 0 === i.rotatestart ? .01 : i.rotatestart, e.panvalues = i, e.bgposition = "center center" == e.bgposition ? "50% 50%" : e.bgposition, i }(i)) : jQuery.extend(!0, {}, i.panvalues), r = a.offsetstart, o = a.offsetend, s = { start: { width: e, height: e / i.owidth * i.oheight, rotation: a.rotatestart + "deg", scale: a.scalestart, transformOrigin: i.bgposition }, starto: {}, end: { rotation: a.rotateend + "deg", scale: a.scaleend }, endo: {} }; a.scalestart, i.owidth, i.oheight, a.scaleend, i.owidth, i.oheight; if (s.start.height < t) { var n = t / s.start.height; s.start.height = t, s.start.width = s.start.width * n } var l = function(e, t, i, a) { var r = e.bgposition.split(" ") || "center center", o = "center" == r[0] ? "50%" : "left" == r[0] || "left" == r[1] ? "0%" : "right" == r[0] || "right" == r[1] ? "100%" : r[0], s = "center" == r[1] ? "50%" : "top" == r[0] || "top" == r[1] ? "0%" : "bottom" == r[0] || "bottom" == r[1] ? "100%" : r[1]; o = parseInt(o, 0) / 100 || 0, s = parseInt(s, 0) / 100 || 0; var n = new Object; return n.start = g(a.start.width, a.start.height, a.start.scale, t, i, o, s), n.end = g(a.start.width, a.start.height, a.end.scale, t, i, o, s), n }(i, e, t, s); r[0] = parseFloat(r[0]) + l.start.l, o[0] = parseFloat(o[0]) + l.end.l, r[1] = parseFloat(r[1]) + l.start.t, o[1] = parseFloat(o[1]) + l.end.t; var d = l.start.r - l.start.l, c = l.start.b - l.start.t, p = l.end.r - l.end.l, u = l.end.b - l.end.t; return r[0] = r[0] > 0 ? 0 : d + r[0] < e ? e - d : r[0], o[0] = o[0] > 0 ? 0 : p + o[0] < e ? e - p : o[0], r[1] = r[1] > 0 ? 0 : c + r[1] < t ? t - c : r[1], o[1] = o[1] > 0 ? 0 : u + o[1] < t ? t - u : o[1], s.starto.x = r[0] + "px", s.starto.y = r[1] + "px", s.endo.x = o[0] + "px", s.endo.y = o[1] + "px", s.end.ease = s.endo.ease = a.ease, s.end.force3D = s.endo.force3D = !0, s }(d, c, s); if (t[i].panzoomTLs[r] = tpGS.gsap.timeline(), t[i].panzoomTLs[r].pause(), f.start.transformOrigin = "0% 0%", f.starto.transformOrigin = "0% 0%", s.panvalues.duration = NaN === s.panvalues.duration || void 0 === s.panvalues.duration ? 10 : s.panvalues.duration, tpGS.gsap.set(u, { width: f.start.width, height: f.start.height }), delete f.start.width, delete f.start.height, "prepare" === o && tpGS.gsap.fromTo(u, .5, { autoAlpha: 0 }, { autoAlpha: 1 }), t[i].panzoomTLs[r].add(tpGS.gsap.fromTo(u, s.panvalues.duration, f.start, f.end), 0), t[i].panzoomTLs[r].add(tpGS.gsap.fromTo(h, s.panvalues.duration, f.starto, f.endo), 0), void 0 !== s.panvalues.blurstart && void 0 !== s.panvalues.blurend && (0 !== s.panvalues.blurstart || 0 !== s.panvalues.blurend)) { var m = { a: s.panvalues.blurstart }, v = { a: s.panvalues.blurend, ease: f.endo.ease }, y = tpGS.gsap.to(m, s.panvalues.duration, v); y.eventCallback("onUpdate", function(e) { tpGS.gsap.set(e, { filter: "blur(" + m.a + "px)", webkitFilter: "blur(" + m.a + "px)" }) }, [h]), tpGS.gsap.set(h, { filter: "blur(" + m.a + "px)", webkitFilter: "blur(" + m.a + "px)" }), t[i].panzoomTLs[r].add(y, 0) } t[i].panzoomTLs[r].progress(a), "play" !== o && "first" !== o || t[i].panzoomTLs[r].play() } } }) }(jQuery), function(e) { "use strict"; var t = jQuery.fn.revolution, i = t.is_mobile(); jQuery.extend(!0, t, { checkForParallax: function(e) { var r = t[e].parallax; if (!r.done) { if (r.done = !0, i && r.disable_onmobile) return !1; if ("3D" == r.type || "3d" == r.type) { if (t.addSafariFix(e), tpGS.gsap.set(t[e].c, { overflow: r.ddd_overflow }), tpGS.gsap.set(t[e].canvas, { overflow: r.ddd_overflow }), "carousel" != t[e].sliderType && r.ddd_shadow) { var o = jQuery('
'); tpGS.gsap.set(o, { force3D: "auto", transformPerspective: 1600, transformOrigin: "50% 50%", width: "100%", height: "100%", position: "absolute", top: 0, left: 0, zIndex: 0 }), t[e].c.prepend(o) } for (var s in t[e].slides) t[e].slides.hasOwnProperty(s) && a(jQuery(t[e].slides[s]), e); t[e].c.find("rs-static-layers").length > 0 && (tpGS.gsap.set(t[e].c.find("rs-static-layers"), { top: 0, left: 0, width: "100%", height: "100%" }), a(t[e].c.find("rs-static-layers"), e)) } r.pcontainers = [], r.pcontainer_depths = [], r.bgcontainers = [], r.bgcontainer_depths = [], r.speed = void 0 === r.speed ? 0 : parseInt(r.speed, 0), r.speedbg = void 0 === r.speedbg ? 0 : parseInt(r.speedbg, 0), r.speedls = void 0 === r.speedls ? 0 : parseInt(r.speedls, 0), t[e].c.find("rs-slide rs-sbg-wrap, rs-slide rs-bgvideo").each(function() { var i = jQuery(this), a = i.data("parallax"); void 0 !== (a = "on" == a || !0 === a ? 1 : a) && "off" !== a && !1 !== a && (r.bgcontainers.push(i.closest("rs-sbg-px")), r.bgcontainer_depths.push(t[e].parallax.levels[parseInt(a, 0) - 1] / 100)) }); for (s = 1; s <= r.levels.length; s++) t[e].c.find(".rs-pxl-" + s).each(function() { var e = jQuery(this), t = this.className.indexOf("rs-pxmask") >= 0 ? e.closest("rs-px-mask") : e.closest(".rs-parallax-wrap"); t.data("parallaxlevel", r.levels[s - 1]), t.addClass("tp-parallax-container"), r.pcontainers.push(t), r.pcontainer_depths.push(r.levels[s - 1]) }); if ("mouse" == r.type || "mousescroll" == r.type || "3D" == r.type || "3d" == r.type) { var n = "rs-slide .dddwrapper, .dddwrappershadow, rs-slide .dddwrapper-layer, rs-static-layers .dddwrapper-layer"; "carousel" === t[e].sliderType && (n = "rs-slide .dddwrapper, rs-slide .dddwrapper-layer, rs-static-layers .dddwrapper-layer"), r.sctors = t[e].c.find(n), r.mouseEntered = !1, t[e].c.mouseenter(function(i) { var a = t[e].c.offset().top, o = t[e].c.offset().left; r.mouseEnterX = i.pageX - o, r.mouseEnterY = i.pageY - a, r.mouseEntered = !0 }); var l = this.updateParallax.bind(this, e, r); t[e].c.on("mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath", function(e) { r.eventData = e, void 0 !== r.frame && "mouseleave" !== e.type || (r.frame = window.requestAnimationFrame(l)) }), i && window.addEventListener("deviceorientation", function(e) { r.eventData = e, void 0 === r.frame && (r.frame = window.requestAnimationFrame(l)) }) } var d = t[e].scrolleffect; d.set && (d.multiplicator_layers = parseFloat(d.multiplicator_layers), d.multiplicator = parseFloat(d.multiplicator)), void 0 !== d._L && 0 === d._L.length && (d._L = !1), void 0 !== d.bgs && 0 === d.bgs.length && (d.bgs = !1) } }, updateParallax: function(e, i) { i.frame && (i.frame = window.cancelAnimationFrame(i.frame)); var a, r, o = i.eventData, s = t[e].c.offset().left, n = t[e].c.offset().top, l = t[e].conw, d = t[e].conh, c = i.speed / 1e3 || 3; if ("enterpoint" == i.origo && "deviceorientation" !== o.type ? (!1 === i.mouseEntered && (i.mouseEnterX = o.pageX - s, i.mouseEnterY = o.pageY - n, i.mouseEntered = !0), a = i.mouseEnterX - (o.pageX - s), r = i.mouseEnterY - (o.pageY - n), c = i.speed / 1e3 || .4) : "deviceorientation" !== o.type && (a = l / 2 - (o.pageX - s), r = d / 2 - (o.pageY - n)), "deviceorientation" == o.type) { var p, g, u; p = o.beta - 60, g = o.gamma, u = p; var h = Math.abs(i.orientationX - g) > 1 || Math.abs(i.orientationY - u) > 1; if (i.orientationX = g, i.orientationY = u, !h) return; if (t.winW > t.getWinH(e)) { var f = g; g = u, u = f } a = 360 / l * (g *= 1.5), r = 180 / d * (u *= 1.5) } o.type, "mouseout" === o.type && (a = 0, r = 0, i.mouseEntered = !1); for (var m = 0; m < i.pcontainers.length; m++) { var v = i.pcontainers[m], y = i.pcontainer_depths[m], b = "3D" == i.type || "3d" == i.type ? y / 200 : y / 100, _ = a * b, w = r * b; "mousescroll" == i.type ? tpGS.gsap.to(v, c, { force3D: "auto", x: _, ease: "power3.out", overwrite: "all" }) : tpGS.gsap.to(v, c, { force3D: "auto", x: _, y: w, ease: "power3.out", overwrite: "all" }) } "3D" != i.type && "3d" != i.type || i.sctors.each(function() { var s = jQuery(this), n = t.isFirefox() ? Math.min(25, i.levels[i.levels.length - 1]) / 200 : i.levels[i.levels.length - 1] / 200, l = a * n, d = r * n, p = 0 == t[e].conw ? 0 : Math.round(a / t[e].conw * n * 100) || 0, g = 0 == t[e].conh ? 0 : Math.round(r / t[e].conh * n * 100) || 0, u = s.closest("rs-slide"), h = 0, f = !1; "deviceorientation" === o.type && (n = i.levels[i.levels.length - 1] / 200, l = a * n, d = r * n * 3, p = 0 == t[e].conw ? 0 : Math.round(a / t[e].conw * n * 500) || 0, g = 0 == t[e].conh ? 0 : Math.round(r / t[e].conh * n * 700) || 0), s.hasClass("dddwrapper-layer") && (h = i.ddd_z_correction || 65, f = !0), s.hasClass("dddwrapper-layer") && (l = 0, d = 0), u.index() === t[e].pr_active_key || "carousel" != t[e].sliderType ? !i.ddd_bgfreeze || f ? tpGS.gsap.to(s, c, { rotationX: g, rotationY: -p, x: l, z: h, y: d, ease: "power3.out", overwrite: "all" }) : tpGS.gsap.to(s, .5, { force3D: "auto", rotationY: 0, rotationX: 0, z: 0, ease: "power3.out", overwrite: "all" }) : tpGS.gsap.to(s, .5, { force3D: "auto", rotationY: 0, x: 0, y: 0, rotationX: 0, z: 0, ease: "power3.out", overwrite: "all" }), "mouseleave" != o.type && "mouseout" !== o.type || tpGS.gsap.to(this, 3.8, { z: 0, ease: "power3.out" }) }) }, parallaxProcesses: function(e, a, r, o) { var s = t[e].fixedOnTop ? Math.min(1, Math.max(0, window.scrollY / t.lastwindowheight)) : Math.min(1, Math.max(0, 1 - (a.top + a.hheight) / (a.hheight + t.lastwindowheight))), n = (a.top >= 0 && a.top <= t.lastwindowheight || a.top <= 0 && a.bottom >= 0 || a.top <= 0 && a.bottom, t[e].slides[void 0 === t[e].pr_active_key ? 0 : t[e].pr_active_key]); if (t[e].scrollProg = s, t[e].sbtimeline.fixed ? (!1 !== t[e].fixedScrollOnState && t.stickySupported && (t[e].topc.addClass("rs-stickyscrollon"), t[e].fixedScrollOnState = !0), void 0 === t[e].sbtimeline.rest && t.updateFixedScrollTimes(e), a.top >= 0 && a.top <= t.lastwindowheight ? (s = t[e].sbtimeline.fixStart * (1 - a.top / t.lastwindowheight) / 1e3, !0 !== t.stickySupported && !1 !== t[e].fixedScrollOnState && (t[e].topc.removeClass("rs-fixedscrollon"), tpGS.gsap.set(t[e].cpar, { top: 0 }), t[e].fixedScrollOnState = !1)) : a.top <= 0 && a.bottom >= t[e].height ? (!0 !== t.stickySupported && !0 !== t[e].fixedScrollOnState && (t[e].fixedScrollOnState = !0, t[e].topc.addClass("rs-fixedscrollon"), tpGS.gsap.set(t[e].cpar, { top: 0 })), s = (t[e].sbtimeline.fixStart + t[e].sbtimeline.time * (Math.abs(a.top) / (a.hheight - t[e].height))) / 1e3) : (!0 !== t.stickySupported && (tpGS.gsap.set(t[e].cpar, { top: t[e].scrollproc >= 0 ? 0 : a.height - t[e].height }), !1 !== t[e].fixedScrollOnState && (t[e].topc.removeClass("rs-fixedscrollon"), t[e].fixedScrollOnState = !1)), s = a.top > t.lastwindowheight ? 0 : (t[e].sbtimeline.fixEnd + t[e].sbtimeline.rest * (1 - a.bottom / t[e].height)) / 1e3)) : s = t[e].duration * s / 1e3, void 0 !== n && void 0 !== t.gA(n, "key") && !0 !== r) for (var l in t[e].sbas[t.gA(n, "key")]) if (void 0 !== t[e]._L[l] && void 0 !== t[e]._L[l].timeline && (1 == t[e]._L[l].animationonscroll || "true" == t[e]._L[l].animationonscroll)) { var d = void 0 !== t[e]._L[l].scrollBasedOffset ? s + t[e]._L[l].scrollBasedOffset : s; d = d <= 0 ? 0 : d < .1 ? .1 : d, t[e]._L[l].animteToTime !== d && (t[e]._L[l].animteToTime = d, tpGS.gsap.to(t[e]._L[l].timeline, t[e].sbtimeline.speed, { time: d, ease: t[e].sbtimeline.ease })) } if (i && t[e].parallax.disable_onmobile) return !1; var c = t[e].parallax; if ("3d" != c.type && "3D" != c.type) { if (("scroll" == c.type || "mousescroll" == c.type) && c.pcontainers) for (var p = 0; p < c.pcontainers.length; p++) if (c.pcontainers[p].length > 0) { var g = c.pcontainers[p], u = c.pcontainer_depths[p] / 100, h = Math.round(t[e].scrollproc * (-u * t[e].conh) * 10) / 10 || 0, f = void 0 !== o ? o : c.speedls / 1e3 || 0; g.data("parallaxoffset", h), tpGS.gsap.to(g, f, { overwrite: "auto", force3D: "auto", y: h }) } if (c.bgcontainers) for (p = 0; p < c.bgcontainers.length; p++) { var m = c.bgcontainers[p], v = c.bgcontainer_depths[p]; h = t[e].scrollproc * (-v * t[e].conh) || 0, f = void 0 !== o ? o : c.speedbg / 1e3 || .015; f = void 0 !== t[e].parallax.lastBGY && 0 === f && Math.abs(h - t[e].parallax.lastBGY) > 50 ? .15 : f, tpGS.gsap.to(m, f, { position: "absolute", top: "0px", left: "0px", backfaceVisibility: "hidden", force3D: "true", y: h + "px" }), t[e].parallax.lastBGY = h } } var y = t[e].scrolleffect; if (y.set && (!i || !1 === y.disable_onmobile)) { var b = Math.abs(t[e].scrollproc) - y.tilt / 100; if (b = b < 0 ? 0 : b, !1 !== y._L) { var _ = 1 - b * y.multiplicator_layers, w = { force3D: "true" }; if ("top" == y.direction && t[e].scrollproc >= 0 && (_ = 1), "bottom" == y.direction && t[e].scrollproc <= 0 && (_ = 1), _ = _ > 1 ? 1 : _ < 0 ? 0 : _, y.fade && (w.opacity = _), y.scale) { var x = _; w.scale = 1 - x + 1 } if (y.blur) { var k = (1 - _) * y.maxblur; w["-webkit-filter"] = "blur(" + k + "px)", w.filter = "blur(" + k + "px)" } if (y.grayscale) { var S = "grayscale(" + 100 * (1 - _) + "%)"; w["-webkit-filter"] = void 0 === w["-webkit-filter"] ? S : w["-webkit-filter"] + " " + S, w.filter = void 0 === w.filter ? S : w.filter + " " + S } tpGS.gsap.set(y._L, w) } if (!1 !== y.bgs) { _ = 1 - b * y.multiplicator, w = { backfaceVisibility: "hidden", force3D: "true" }; for (var L in "top" == y.direction && t[e].scrollproc >= 0 && (_ = 1), "bottom" == y.direction && t[e].scrollproc <= 0 && (_ = 1), _ = _ > 1 ? 1 : _ < 0 ? 0 : _, y.bgs) if (y.bgs.hasOwnProperty(L)) { if (y.bgs[L].fade && (w.opacity = _), y.bgs[L].blur) { k = (1 - _) * y.maxblur; w["-webkit-filter"] = "blur(" + k + "px)", w.filter = "blur(" + k + "px)" } if (y.bgs[L].grayscale) { S = "grayscale(" + 100 * (1 - _) + "%)"; w["-webkit-filter"] = void 0 === w["-webkit-filter"] ? S : w["-webkit-filter"] + " " + S, w.filter = void 0 === w.filter ? S : w.filter + " " + S } tpGS.gsap.set(y.bgs[L].c, w) } } } } }); var a = function(e, i) { var a = t[i].parallax; e.find("rs-sbg-wrap").wrapAll('
'), e.find(".rs-parallax-wrap").wrapAll('
'), e.find(".rs-pxl-tobggroup").closest(".rs-parallax-wrap").wrapAll('
'); var r = e.find(".dddwrapper"), o = e.find(".dddwrapper-layer"); e.find(".dddwrapper-layertobggroup").appendTo(r), "carousel" == t[i].sliderType && (a.ddd_shadow && r.addClass("dddwrappershadow"), tpGS.gsap.set(r, { borderRadius: t[i].carousel.border_radius })), tpGS.gsap.set(e, { overflow: "visible", transformStyle: "preserve-3d", perspective: 1600 }), tpGS.gsap.set(r, { force3D: "auto", transformOrigin: "50% 50%", transformStyle: "preserve-3d", transformPerspective: 1600 }), tpGS.gsap.set(o, { force3D: "auto", transformOrigin: "50% 50%", zIndex: 5, transformStyle: "flat", transformPerspective: 1600 }), tpGS.gsap.set(t[i].canvas, { transformStyle: "preserve-3d", transformPerspective: 1600 }) } }(jQuery), function(e) { "use strict"; var t = jQuery.fn.revolution; jQuery.extend(!0, t, { animateSlide: function(e) { return a(e) } }); var i = function(e, t) { var i; return void 0 !== (i = jQuery.isArray(e) ? e.length >= t ? e[t] : e[e.length - 1] : e) && jQuery.isNumeric(i) ? parseInt(e, 0) : i }, a = function(e) { var a = e.id, n = "arrow" == t[a].sc_indicator ? void 0 === t[a].sc_indicator_dir ? t[a].sdir : t[a].sc_indicator_dir : t[a].sdir, l = !0 === e.recall ? jQuery.extend(!0, {}, t[a].lastSliderTransition) : function(e, i, a) { var r = "power1.in", o = "power1.out", s = "power1.inOut", n = "power2.in", l = "power2.out", d = "power2.inOut", c = "power3.inOut", p = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], g = [17, 18, 19, 20, 21, 22, 23, 24, 25, 27], u = 0, h = 1, f = 0, m = [ ["boxslide", 0, 0, 10, "box", !1, null, 0, o, o, 1e3, 6], ["boxrandomrotate", 0, 1, 10, "box", !1, null, 60, o, o, 1e3, 6], ["boxfade", 1, 0, 10, "box", !1, null, 1, s, s, 1e3, 5], ["slotslide-horizontal", 2, 0, 0, "horizontal", !0, !1, 2, d, d, 1e3, 3], ["slotslide-vertical", 3, 0, 0, "vertical", !0, !1, 3, d, d, 1e3, 3], ["curtain-1", 4, 3, 0, "horizontal", !0, !0, 4, o, o, 900, 5], ["curtain-2", 5, 3, 0, "horizontal", !0, !0, 5, o, o, 900, 5], ["curtain-3", 6, 3, 25, "horizontal", !0, !0, 6, o, o, 900, 5], ["slotzoom-horizontal", 7, 0, 0, "horizontal", !0, !0, 7, o, o, 1e3, 7], ["slotzoom-vertical", 8, 0, 0, "vertical", !0, !0, 8, l, l, 1e3, 8], ["slotzoom-mixed", 8, 1, 0, "vertical", !0, !0, 59, l, l, 1e3, 8], ["slotfade-horizontal", 9, 0, 0, "horizontal", !0, null, 9, d, d, 1500, 10], ["slotfade-vertical", 10, 0, 0, "vertical", !0, null, 10, d, d, 1500, 10], ["crossfade-horizontal", 9, 0, 0, "horizontal", !0, null, 9, d, d, 1500, 10], ["crossfade-vertical", 10, 0, 0, "vertical", !0, null, 10, d, d, 1500, 10], ["fade", 11, 0, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["crossfade", 11, 1, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["fadethroughdark", 11, 2, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["fadethroughlight", 11, 3, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["fadethroughtransparent", 11, 4, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["slideleft", 12, 0, 1, "horizontal", !0, !0, 12, c, c, 1e3, 1], ["slideup", 13, 0, 1, "horizontal", !0, !0, 13, c, c, 1e3, 1], ["slidedown", 14, 0, 1, "horizontal", !0, !0, 14, c, c, 1e3, 1], ["slideright", 15, 0, 1, "horizontal", !0, !0, 15, c, c, 1e3, 1], ["slideoverleft", 12, 7, 1, "horizontal", !0, !0, 12, c, c, 1e3, 1], ["slideoverup", 13, 7, 1, "horizontal", !0, !0, 13, c, c, 1e3, 1], ["slideoverdown", 14, 7, 1, "horizontal", !0, !0, 14, c, c, 1e3, 1], ["slideoverright", 15, 7, 1, "horizontal", !0, !0, 15, c, c, 1e3, 1], ["slideremoveleft", 12, 8, 1, "horizontal", !0, !0, 12, c, c, 1e3, 1], ["slideremoveup", 13, 8, 1, "horizontal", !0, !0, 13, c, c, 1e3, 1], ["slideremovedown", 14, 8, 1, "horizontal", !0, !0, 14, c, c, 1e3, 1], ["slideremoveright", 15, 8, 1, "horizontal", !0, !0, 15, c, c, 1e3, 1], ["papercut", 16, 0, 0, "vertical", null, !0, 16, c, c, 1e3, 2], ["3dcurtain-horizontal", 17, 0, 20, "vertical", !0, !0, 17, s, s, 2e3, 7], ["3dcurtain-vertical", 18, 0, 10, "horizontal", !0, !0, 18, s, s, 2e3, 7], ["cubic", 19, 0, 20, "horizontal", !1, !0, 19, d, d, 1e3, 1], ["cube", 19, 0, 20, "horizontal", !1, !0, 20, d, d, 1e3, 1], ["flyin", 20, 0, 4, "vertical", !1, !0, 21, "power3.out", c, 1e3, 1], ["turnoff", 21, 0, 1, "horizontal", !1, !0, 22, c, c, 1e3, 1], ["incube", 22, 0, 20, "horizontal", !1, !0, 23, d, d, 1e3, 1], ["cubic-horizontal", 23, 0, 20, "vertical", !1, !0, 24, d, d, 1e3, 1], ["cube-horizontal", 23, 0, 20, "vertical", !1, !0, 25, d, d, 1e3, 1], ["incube-horizontal", 24, 0, 20, "vertical", !1, !0, 26, d, d, 1e3, 1], ["turnoff-vertical", 25, 0, 1, "horizontal", !1, !0, 27, d, d, 1e3, 1], ["fadefromright", 12, 1, 1, "horizontal", !0, !0, 28, d, d, 1e3, 1], ["fadefromleft", 15, 1, 1, "horizontal", !0, !0, 29, d, d, 1e3, 1], ["fadefromtop", 14, 1, 1, "horizontal", !0, !0, 30, d, d, 1e3, 1], ["fadefrombottom", 13, 1, 1, "horizontal", !0, !0, 31, d, d, 1e3, 1], ["fadetoleftfadefromright", 12, 2, 1, "horizontal", !0, !0, 32, d, d, 1e3, 1], ["fadetorightfadefromleft", 15, 2, 1, "horizontal", !0, !0, 33, d, d, 1e3, 1], ["fadetobottomfadefromtop", 14, 2, 1, "horizontal", !0, !0, 34, d, d, 1e3, 1], ["fadetotopfadefrombottom", 13, 2, 1, "horizontal", !0, !0, 35, d, d, 1e3, 1], ["parallaxtoright", 15, 3, 1, "horizontal", !0, !0, 36, d, d, 1500, 1], ["parallaxtoleft", 12, 3, 1, "horizontal", !0, !0, 37, d, d, 1500, 1], ["parallaxtotop", 14, 3, 1, "horizontal", !0, !0, 38, d, d, 1500, 1], ["parallaxtobottom", 13, 3, 1, "horizontal", !0, !0, 39, d, d, 1500, 1], ["scaledownfromright", 12, 4, 1, "horizontal", !0, !0, 40, d, n, 1e3, 1], ["scaledownfromleft", 15, 4, 1, "horizontal", !0, !0, 41, d, n, 1e3, 1], ["scaledownfromtop", 14, 4, 1, "horizontal", !0, !0, 42, d, n, 1e3, 1], ["scaledownfrombottom", 13, 4, 1, "horizontal", !0, !0, 43, d, n, 1e3, 1], ["zoomout", 13, 5, 1, "horizontal", !0, !0, 44, d, d, 1e3, 1], ["zoomin", 13, 6, 1, "horizontal", !0, !0, 45, d, d, 1e3, 1], ["slidingoverlayup", 27, 0, 1, "horizontal", !0, !0, 47, s, o, 2e3, 1], ["slidingoverlaydown", 28, 0, 1, "horizontal", !0, !0, 48, s, o, 2e3, 1], ["slidingoverlayright", 30, 0, 1, "horizontal", !0, !0, 49, s, o, 2e3, 1], ["slidingoverlayleft", 29, 0, 1, "horizontal", !0, !0, 50, s, o, 2e3, 1], ["parallaxcirclesup", 31, 0, 1, "horizontal", !0, !0, 51, d, r, 1500, 1], ["parallaxcirclesdown", 32, 0, 1, "horizontal", !0, !0, 52, d, r, 1500, 1], ["parallaxcirclesright", 33, 0, 1, "horizontal", !0, !0, 53, d, r, 1500, 1], ["parallaxcirclesleft", 34, 0, 1, "horizontal", !0, !0, 54, d, r, 1500, 1], ["notransition", 26, 0, 1, "horizontal", !0, null, 46, d, n, 1e3, 1], ["parallaxright", 15, 3, 1, "horizontal", !0, !0, 55, d, n, 1500, 1], ["parallaxleft", 12, 3, 1, "horizontal", !0, !0, 56, d, n, 1500, 1], ["parallaxup", 14, 3, 1, "horizontal", !0, !0, 57, d, r, 1500, 1], ["parallaxdown", 13, 3, 1, "horizontal", !0, !0, 58, d, r, 1500, 1], ["grayscale", 11, 5, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["grayscalecross", 11, 6, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["brightness", 11, 7, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["brightnesscross", 11, 8, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["blurlight", 11, 9, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["blurlightcross", 11, 10, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["blurstrong", 11, 9, 1, "horizontal", !0, null, 11, d, d, 1e3, 1], ["blurstrongcross", 11, 10, 1, "horizontal", !0, null, 11, d, d, 1e3, 1] ]; return t[e].duringslidechange = !0, jQuery.each(["parallaxcircles", "slidingoverlay", "slide", "slideover", "slideremove", "parallax", "parralaxto"], function(e, t) { i == t + "horizontal" && (i = 1 != a ? t + "left" : t + "right"), i == t + "vertical" && (i = 1 != a ? t + "up" : t + "down") }), "random" == i ? i = Math.min(Math.round(Math.random() * (m.length - 1)), m.length - 1) : "random-static" == i ? i = p[Math.min(Math.round(Math.random() * p.length - 1), p.length - 1)] : "random-premium" == i && (i = g[Math.min(Math.round(Math.random() * g.length - 1), g.length - 1)]), 1 == t[e].isJoomla && null != window.MooTools && -1 != [12, 13, 14, 15, 16, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45].indexOf(i) && (i = g[Math.max(0, Math.min(g.length - 1, Math.round(Math.random() * (g.length - 2)) + 1))]), jQuery.each(m, function(e, t) { t[0] != i && t[7] != i || (u = t[1], h = t[2], f = e) }), { nTR: u = Math.max(0, Math.min(30, u)), TR: m[f], trC: h } }(a, e.animation.transition[e.ntrid], n), d = t[a].pr_next_bg && void 0 !== t[a].pr_next_bg.data("panzoom") && (l.nTR < 11 || 17 == l.nTR || 18 === l.nTR || l.nTR >= 27 && l.nTR <= 30) ? 11 : l.nTR, c = !1, p = void 0 !== t[a].pr_next_bg && t[a].pr_next_bg.length > 0 && void 0 !== t[a].pr_next_bg[0], g = void 0 !== t[a].pr_active_bg && t[a].pr_active_bg.length > 0 && void 0 !== t[a].pr_active_bg[0]; !0 !== e.recall ? (t[a].lastSliderAnimation = jQuery.extend(!0, {}, e.animation), t[a].lastSliderTransition = jQuery.extend(!0, {}, l)) : e.animation = jQuery.extend(!0, {}, t[a].lastSliderAnimation); var u = !0 === e.recall ? l.ntrid : e.ntrid || 0, h = i(e.animation.masterspeed, u); if (h = (h = "default" === h || "d" === h ? l.TR[10] : "random" === h ? Math.round(1e3 * Math.random() + 300) : null != h ? parseInt(h, 0) : l.TR[10]) > t[a].duration ? t[a].duration : h, t[a].rotate = i(e.animation.rotate, u), t[a].rotate = null == t[a].rotate || "default" == t[a].rotate || "d" == t[a].rotate ? 0 : 999 == t[a].rotate || "random" == t[a].rotate ? Math.round(360 * Math.random()) : t[a].rotate, t[a].rotate = window._rs_ie || window._rs_ie9 ? 0 : t[a].rotate, (d < 11 || 16 === d || 17 === d || 18 === d || l.nTR >= 27 && l.nTR <= 30) && (t[a].slots = i(e.animation.slotamount, u), t[a].slots = null == t[a].slots || "default" == t[a].slots || "d" == t[a].slots ? l.TR[11] : "random" == t[a].slots ? Math.round(12 * Math.random() + 4) : t[a].slots, t[a].slots = t[a].slots < 1 ? "boxslide" == l.TR[0] ? Math.round(6 * Math.random() + 3) : "boxslide" == l.TR[0] || "flyin" == l.TR[0] ? Math.round(4 * Math.random() + 1) : t[a].slots : t[a].slots, t[a].slots = (4 == d || 5 == d || 6 == d) && t[a].slots < 3 ? 3 : t[a].slots, t[a].slots = 0 != l.TR[3] ? Math.min(t[a].slots, l.TR[3]) : t[a].slots, t[a].slots = 9 == d ? t[a].width / t[a].slots : 10 == d ? t[a].height / t[a].slots : t[a].slots, t[a].slots = jQuery.inArray(d, [19, 20, 21, 22, 23, 24, 25, 27]) >= 0 ? 1 : t[a].slots, t[a].slots = 3 != d && 8 != d && 10 != d || "vertical" !== l.TR[4] ? t[a].slots : t[a].slots + 2, null != l.TR[6] && s(t[a].pr_active_bg, a, l.TR[6], l.TR[4]), null != l.TR[5] && s(t[a].pr_next_bg, a, l.TR[5], l.TR[4])), jQuery.inArray(d, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 17, 18, 27, 28, 29, 30]) >= 0) { var f = t[a].pr_next_bg.find("rs-bgvideo"); f.length > 0 && (c = !0, t[a].mtl.add(tpGS.gsap.set(f, { zIndex: 0, display: "none" }), 0), setTimeout(function() { void 0 !== t[a].videoIsPlaying && t[a].videoIsPlaying.length > 0 && t[a].videoIsPlaying[0].id == f[0].id && t.stopVideo(f, a) }, h > 50 ? 50 : h - 20), setTimeout(function() { void 0 !== t[a].videoIsPlaying && t[a].videoIsPlaying.length > 0 && t[a].videoIsPlaying[0].id == f[0].id && t.stopVideo(f, a) }, h > 100 ? 100 : h - 10)) } var m = 7 === d || 16 === d || 8 === d ? 0 : 1, v = d < 11 || 17 === d || 18 === d ? 0 : 1; if (p) { var y = t[a].pr_next_bg.find("rs-sbg"); void 0 !== y[0] && t[a].mtl.add(tpGS.gsap.set(y, { scale: 1, rotationX: 0, rotationY: 0, rotationZ: 0, z: 0, x: 0, y: 0, clearProps: "filter, transform", opacity: v }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_bg, { transformOrigin: "50% 50% 0", transformPerspective: 600, scale: 1, rotationX: 0, rotationY: 0, rotationZ: 0, z: 0, autoAlpha: 1, x: 0, y: 0, clearProps: "filter, transform" }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_bg.parent(), { backgroundColor: "transparent" }), 0) } if (g) { var b = t[a].pr_active_bg.find("rs-sbg"); void 0 !== b[0] && t[a].mtl.add(tpGS.gsap.set(b, { scale: 1, rotationX: 0, rotationY: 0, rotationZ: 0, z: 0, x: 0, y: 0, clearProps: "filter, transform", opacity: m }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_bg, { transformOrigin: "50% 50% 0", transformPerspective: 600, scale: 1, rotationX: 0, rotationY: 0, rotationZ: 0, z: 0, autoAlpha: 1, x: 0, y: 0, clearProps: "filter, transform" }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_bg.parent(), { backgroundColor: "transparent" }), 0) } var _ = i(e.animation.easein, u), w = i(e.animation.easeout, u); if (_ = "default" === _ || "d" === _ ? l.TR[8] || "power2.inOut" : _ || l.TR[8] || "power2.inOut", w = "default" === w || "d" === w ? l.TR[9] || "power2.inOut" : w || l.TR[9] || "power2.inOut", d >= 31) { var x = { canvas: t[a].pr_next_bg[0].getElementsByClassName("bgcanvas")[0] }; if (x.ctx = x.canvas.getContext("2d"), x.oBG_next = t[a].pr_next_bg[0].getElementsByTagName("rs-sbg")[0], x.img_next = t.getLoadObj(a, t.gA(x.oBG_next, "src-rs-ref")), x.col_next = t.gA(x.oBG_next, "bgcolor"), g && (x.oBG_act = t[a].pr_active_bg[0].getElementsByTagName("rs-sbg")[0], x.img_act = t.getLoadObj(a, t.gA(x.oBG_act, "src-rs-ref")), x.col_act = t.gA(x.oBG_act, "bgcolor")), x.ctx.clearRect(0, 0, x.canvas.width, x.canvas.height), x.canvas.width = t[a].width, x.canvas.height = t[a].height, x.canvas.style.background = "transparent", x.canvas.style.display = "block", x.oBG_next.style.display = "none", void 0 !== x.col_next && x.col_next.indexOf("gradient") >= 0 && (x.col_next = "transparent"), void 0 !== x.col_act && x.col_act.indexOf("gradient") >= 0 && (x.col_act = "transparent"), 31 === d) { for (var k = "transparent" !== x.col_next && void 0 !== x.col_next ? { x: 0, y: 0, width: t[a].width, height: t[a].height } : r("contain" === x.oBG_next.style.backgroundSize, t[a].width, t[a].height, x.img_next.width, x.img_next.height), S = void 0 === x.oBG_act ? void 0 : "transparent" !== x.col_act && void 0 !== x.col_act ? { x: 0, y: 0, width: t[a].width, height: t[a].height } : r("contain" === x.oBG_act.style.backgroundSize, t[a].width, t[a].height, x.img_act.width, x.img_act.height), L = t[a].width / t[a].slots, T = L / 2, O = t[a].height, A = [], R = 0; R < t[a].slots + 1; R++) A.push({ mt: O, it: O / 4, ml: 0, o: 2 }); t[a].mtl.add(tpGS.gsap.staggerTo(A, 2 * h / 1e3, { mt: 0, it: 0, ml: T, o: 0, ease: "power3.out", onUpdate: function() { var e = 0; x.ctx.clearRect(0, 0, x.canvas.width, x.canvas.height); for (var i = 0; i < t[a].slots + 1; i++) { var r = A[i].mt, s = A[i].ml, n = A[i].it, l = A[i].mt - O, d = A[i].ml + T, c = A[i].it - O / 4; o({ ctx: x.ctx, poly: [ [e - T + s, 0 + r], [e + T + 1 + s, 0 + r], [e + 1 + s, O + r], [e - L + s, O + r] ], bg: { overlay: "rgba(0,0,0," + A[i].o + ")", img: x.img_next.img, col: x.col_next, offsetx: k.x, offsety: k.y + n, width: k.width, height: k.height } }), void 0 !== x.col_act && (x.oBG_act.style.display = "none", o({ ctx: x.ctx, poly: [ [e - T + d, 0 + l], [e + T + 1 + d, 0 + l], [e + 1 + d, O + l], [e - L + d, O + l] ], bg: { overlay: "rgba(0,0,0," + (1 - A[i].o) + ")", img: x.img_act.img, col: x.col_act, offsetx: S.x, offsety: S.y + c, width: S.width, height: S.height } })), e += L } } }, .2, function() { x.ctx.clearRect(0, 0, x.canvas.width, x.canvas.height), x.canvas.style.display = "none", x.oBG_next.style.display = "block" }), 0) } } if (0 == d) { var I = Math.ceil(t[a].height / t[a].sloth), z = 0; t[a].pr_next_bg.find(".slotslide").each(function(e) { z = ++z === I ? 0 : z, t[a].rotate = 1 === l.trC ? 45 : t[a].rotate, t[a].mtl.add(tpGS.gsap.from(this, h / 2e3, { opacity: 0, transformStyle: "flat", transformPerspective: 600, scale: 0, rotationZ: 0 !== t[a].rotate ? Math.random() * t[a].rotate - t[a].rotate / 2 : 0, force3D: "auto", ease: _ }), (10 * e + 30 * z) / 3e3) }) } else if (1 == d) t[a].pr_next_bg.find(".slotslide").each(function(e) { t[a].mtl.add(tpGS.gsap.from(this, (Math.random() * h + 300) / 1e3, { autoAlpha: 0, force3D: "auto", rotation: t[a].rotate, ease: _ }), (500 * Math.random() + 200) / 1e3) }); else if (2 == d || 3 == d) t[a].pr_active_bg.find(".slotslide").each(function() { t[a].mtl.add(tpGS.gsap.to(this, h / 1e3, { y: 3 === d ? t[a].sloth : 0, x: 2 === d ? t[a].slotw : 0, ease: _, force3D: "auto", rotation: 0 - t[a].rotate }), 0) }), t[a].pr_next_bg.find(".slotslide").each(function() { t[a].mtl.add(tpGS.gsap.from(this, h / 1e3, { y: 3 == d ? 1 === n ? 0 - t[a].sloth : t[a].sloth : 0, x: 2 == d ? 1 === n ? 0 - t[a].slotw : t[a].slotw : 0, ease: _, force3D: "auto", rotation: t[a].rotate }), 0) }); else if (4 == d || 5 == d || 6 == d) { var C = tpGS.gsap.timeline(), P = h / 1e3 - h / 1e3 / t[a].slots; t[a].slots -= t[a].slots % 2 == 1 ? 1 : 0, t[a].pr_active_bg.find(".slotslide").each(function(e) { var i = 6 !== d ? e : e > t[a].slots / 2 ? t[a].slots - e : e, r = (5 !== d ? i : t[a].slots - i) * (P / t[a].slots) / (6 === d ? 1.3 : 1); C.add(tpGS.gsap.to(this, P, { transformPerspective: 600, force3D: "auto", y: 1 !== n ? t[a].height : -t[a].height, opacity: .75, rotation: t[a].rotate, ease: _, delay: r }), 0), t[a].mtl.add(C, 0) }), t[a].pr_next_bg.find(".slotslide").each(function(e) { var i = 6 !== d ? e : e > t[a].slots / 2 ? t[a].slots - e : e, r = (5 !== d ? i : t[a].slots - i) * (P / t[a].slots) / (6 === d ? 1.3 : 1); C.add(tpGS.gsap.from(this, P, { y: 1 == n ? t[a].height : -t[a].height, opacity: .75, rotation: t[a].rotate, force3D: "auto", ease: w, delay: r }), 0), t[a].mtl.add(C, 0) }) } else if (7 == d || 8 == d) h = Math.min(t[a].duration || h, h), t[a].pr_active_bg.find(".slotslide").each(function(e) { var i = e > t[a].slots / 2 ? t[a].slots - e : e; t[a].mtl.add(tpGS.gsap.to(this.getElementsByTagName("div"), h / 1e3, { x: 8 === d && 0 === l.trC ? 0 : i * t[a].slotw / 3, y: 8 === d && 0 === l.trC ? i * t[a].sloth / 3 : 0, ease: _, transformPerspective: 600, force3D: "auto", filter: "blur(2px)", scale: 1.2, opacity: 0 }), 0) }), t[a].pr_next_bg.find(".slotslide").each(function(e) { var i = e > t[a].slots / 2 ? t[a].slots - e : e; t[a].mtl.add(tpGS.gsap.fromTo(this.getElementsByTagName("div"), h / 1e3, { x: 8 === d && 0 === l.trC ? 0 : 0 - i * t[a].slotw / 3, y: 8 === d && 0 === l.trC ? 0 - i * t[a].sloth / 3 : 0, filter: "blur(2px)", opacity: 0, transformPerspective: 600, scale: 1.2 }, { x: 0, y: 0, ease: w, force3D: "auto", scale: 1, filter: "blur(0px)", opacity: 1, rotation: 0 }), 0) }); else if (9 == d || 10 == d) { var B = t[a].pr_next_bg[0].getElementsByClassName("slotslide"), G = h - h / 1.8; for (R = 0; R < B.length; R++) t[a].mtl.add(tpGS.gsap.fromTo(B[R], (h - R * (G / t[a].slots)) / 1e3, { zIndex: 10, opacity: 0 }, { opacity: 1, ease: "none", delay: R * (G / t[a].slots) / 1e3 }), 0) } else if (11 == d) { l.trC = Math.min(12, l.trC); var M = 2 == l.trC ? "#000000" : 3 == l.trC ? "#ffffff" : "transparent"; switch (h = 0 === h ? 10 : h, l.trC) { case 0: p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3, { autoAlpha: 0 }, { autoAlpha: 1, force3D: "auto", ease: _ }), 0); break; case 1: p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3, { autoAlpha: 0 }, { autoAlpha: 1, force3D: "auto", ease: _ }), 0), t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 1e3, { autoAlpha: 1 }, { autoAlpha: 0, force3D: "auto", ease: _ }), 0); break; case 2: case 3: case 4: t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_bg.parent(), { backgroundColor: M, force3D: "auto" }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_bg.parent(), { backgroundColor: "transparent", force3D: "auto" }), 0), g && t[a].mtl.add(tpGS.gsap.to(t[a].pr_active_bg, h / 2e3, { autoAlpha: 0, force3D: "auto", ease: _ }), 0), p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 2e3, { autoAlpha: 0 }, { autoAlpha: 1, force3D: "auto", ease: _ }), h / 2e3); break; case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: var D = "blur(" + (jQuery.inArray(l.trC, [9, 10]) >= 0 ? 5 : jQuery.inArray(l.trC, [11, 12]) >= 0 ? 10 : 0) + "px) grayscale(" + (jQuery.inArray(l.trC, [5, 6, 7, 8]) >= 0 ? 100 : 0) + "%) brightness(" + (jQuery.inArray(l.trC, [7, 8]) >= 0 ? 300 : 0) + "%)", H = "blur(0px) grayscale(0%) brightness(100%)"; p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3, { autoAlpha: 0, filter: D, "-webkit-filter": D }, { autoAlpha: 1, filter: H, "-webkit-filter": H, force3D: "auto", ease: _ }), 0), jQuery.inArray(l.trC, [6, 8, 10]) >= 0 && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 1e3, { autoAlpha: 1, filter: H, "-webkit-filter": H }, { autoAlpha: 0, force3D: "auto", ease: _, filter: D, "-webkit-filter": D }), 0) } t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_bg.find("rs-sbg"), { autoAlpha: 1 }), 0), g && t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_bg.find("rs-sbg"), { autoAlpha: 1 }), 0) } else if (12 == d || 13 == d || 14 == d || 15 == d) { var j = 3 == l.trC ? h / 1300 : h / 1e3, W = h / 1e3, N = 5 == l.trC || 6 == l.trC ? 0 : t[a].width, F = 5 == l.trC || 6 == l.trC ? 0 : t[a].currentSlideHeight, E = 12 == d ? N : 15 == d ? 0 - N : 0, Q = 13 == d ? 5 == l.trC || 6 == l.trC ? 0 : t[a].height : 14 == d ? 5 == l.trC || 6 == l.trC ? 0 : 0 - t[a].height : 0, V = 1 == l.trC || 2 == l.trC || 5 == l.trC || 6 == l.trC ? 0 : 1, Y = 4 == l.trC || 5 == l.trC ? .6 : 6 == l.trC ? 1.4 : 1, X = 5 == l.trC ? 1.4 : 6 == l.trC ? .6 : 1; if (7 != l.trC && 4 != l.trC || (N = 0, F = 0), 8 == l.trC ? (t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_slide, { zIndex: 20 }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_slide, { zIndex: 15 }), 0), t[a].mtl.add(tpGS.gsap.to(t[a].pr_next_bg, .01, { overflow: "hidden", x: 0, y: 0, scale: 1, autoAlpha: 1, rotation: 0, overwrite: !0, immediateRender: !0, force3D: "auto" }), 0)) : (void 0 !== t[a].pr_active_slide && t[a].pr_active_slide.length > 0 && t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_slide, { zIndex: 15 }), 0), void 0 !== t[a].pr_next_slide && t[a].pr_next_slide.length > 0 && t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_slide, { zIndex: 20 }), 0), p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, j, { x: E, y: Q, overflow: "hidden", scale: X, autoAlpha: V, rotation: t[a].rotate }, { autoAlpha: 1, x: 0, y: 0, scale: 1, rotation: 0, ease: _, force3D: "auto" }), 0)), 1 != l.trC) switch (d) { case 12: g && t[a].mtl.add(tpGS.gsap.to(t[a].pr_active_bg, W, { x: 0 - N + "px", overflow: "hidden", force3D: "auto", scale: Y, autoAlpha: V, rotation: t[a].rotate, ease: w }), 0); break; case 15: g && t[a].mtl.add(tpGS.gsap.to(t[a].pr_active_bg, W, { x: N + "px", overflow: "hidden", force3D: "auto", scale: Y, autoAlpha: V, rotation: t[a].rotate, ease: w }), 0); break; case 13: g && t[a].mtl.add(tpGS.gsap.to(t[a].pr_active_bg, W, { y: 0 - F + "px", overflow: "hidden", force3D: "auto", scale: Y, autoAlpha: V, rotation: t[a].rotate, ease: w }), 0); break; case 14: g && t[a].mtl.add(tpGS.gsap.to(t[a].pr_active_bg, W, { y: F + "px", overflow: "hidden", force3D: "auto", scale: Y, autoAlpha: V, rotation: t[a].rotate, ease: w }), 0) } } else if (16 == d) { var J = 1 === n ? "80% 50% 0" : "20% 50% 0"; t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_slide, { zIndex: 20 }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_slide, { zIndex: 15 }), 0), t[a].pr_active_bg.find(".slotslide").each(function(e) { t[a].mtl.add(tpGS.gsap.fromTo(this, h / 1e3, { x: 0, rotationZ: 0, opacity: 1, y: 0, z: 0, scale: 1 }, { opacity: 1, x: 1 === n ? 0 == e ? -t[a].width / 1.6 : -t[a].width / 1.8 : 0 === e ? t[a].width / 1.6 : t[a].width / 1.8, rotationZ: 1 === n ? 0 === e ? -35 : 25 : 0 === e ? 25 : -35, z: 0, y: 0 == e ? "-120%" : "140%", scale: .8, force3D: "auto", transformPerspective: 600, transformOrigin: J, delay: 0, ease: _ }), 0), t[a].mtl.add(tpGS.gsap.fromTo(this, h / 2e3, { opacity: 1 }, { opacity: 0, delay: h / 2e3 }), 0) }), p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3 - h / 7e3, { x: 100 * Math.random() - 50, opacity: 1, scale: .9, rotationZ: 10 * Math.random() - 5 }, { x: 0, opacity: 1, scale: 1, rotationZ: 0, ease: _, force3D: "auto", delay: h / 7e3 }), 0) } else if (17 == d || 18 == d) t[a].pr_next_bg.find(".slotslide").each(function(e) { t[a].mtl.add(tpGS.gsap.fromTo(this, h / t[a].slots / 1e3, { opacity: 0, y: 0, x: 0, rotationY: 17 === d ? 0 : 90, scale: 1, rotationX: 17 === d ? -90 : 0, force3D: "auto", transformPerspective: 600, transformOrigin: 17 === d ? "top center" : "center left" }, { opacity: 1, y: 0, x: 0, rotationX: 0, rotationY: 0, force3D: "auto", ease: w, delay: e * (h / t[a].slots / 2e3) }), 0) }), t[a].pr_active_bg.find(".slotslide").each(function(e) { t[a].mtl.add(tpGS.gsap.fromTo(this, h / t[a].slots / 1e3, { opacity: 1, rotationY: 0, scale: 1, rotationX: 0, force3D: "auto", transformPerspective: 600, transformOrigin: 17 === d ? "bottom center" : "center right" }, { opacity: 0, rotationX: 17 === d ? 110 : 0, rotationY: 17 === d ? 0 : 110, force3D: "auto", ease: _, delay: e * (h / t[a].slots / 2e3) }), 0) }); else if (19 == d || 22 == d || 23 == d || 24 == d) { t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_slide, { zIndex: 20 }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_slide, { zIndex: 10 }), 0); J = 19 === d ? "center center -" + t[a].height / 2 : 22 === d ? "center center " + t[a].height / 2 : 23 === d ? "center center -" + t[a].width / 2 : "center center " + t[a].width / 2; var q = []; tpGS.gsap.set(t[a].c, { transformStyle: "flat", backfaceVisibility: "hidden", transformPerspective: 600 }), p && (q.push(t[a].pr_next_bg), t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3, { rotationX: 19 == d || 22 === d ? 1 == n ? -90 : 90 : 0, rotationY: 23 == d || 24 === d ? 1 == n ? -90 : 90 : 0, x: 0, scale: 1, y: 0, overflow: "hidden", autoAlpha: 1, transformStyle: "flat", backfaceVisibility: "hidden", force3D: "auto", transformPerspective: 1200, transformOrigin: J }, { overflow: "hidden", x: 0, autoAlpha: 1, rotationX: 0, rotationY: 0, y: 0, scale: 1, delay: 0, ease: _, transformStyle: "flat", backfaceVisibility: "hidden", force3D: "auto", transformPerspective: 1200, transformOrigin: J }), 0), t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 2e3, { z: 19 == d || 23 === d ? -200 : 0 }, { z: 19 === d || 23 === d ? 0 : -200, ease: "power3.inOut", delay: 19 === d || 23 === d ? h / 2e3 : 0 }), 0)), 22 !== d && 24 !== d || (g && q.push(t[a].pr_active_bg), t[a].mtl.add(tpGS.gsap.fromTo(q, h / 2e3, { z: -200 }, { z: 0, ease: "power2.in", delay: h / 2e3 }), 0)), g && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 2e3, { z: 0 }, { z: -200, ease: "power3.inOut", delay: 0, force3D: "auto" }), 0), !g || 19 !== d && 23 !== d || t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 2e3, { autoAlpha: 1 }, { autoAlpha: 0, ease: "none", delay: h / 2e3, force3D: "auto" }), 0), g && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 1e3, { overflow: "hidden", rotationX: 0, rotationY: 0, rotationZ: 0, y: 0, x: 0, scale: 1, transformStyle: "flat", backfaceVisibility: "hidden", force3D: "auto", transformPerspective: 1200, transformOrigin: J }, { rotationX: 19 === d || 22 === d ? 1 == n ? 90 : -90 : 0, rotationY: 23 === d || 24 === d ? 1 == n ? 90 : -90 : 0, overflow: "hidden", y: 0, scale: 1, delay: 0, force3D: "auto", ease: _, transformStyle: "flat", backfaceVisibility: "hidden", transformPerspective: 1200, transformOrigin: J }), 0) } else if (20 == d) { J = 1 === n ? "20% " : "80% "; J += "60% -50%", p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3, { x: 1 === n ? -t[a].width : t[a].width, rotationX: 20, z: -t[a].width, autoAlpha: 0, y: 0, scale: 1, force3D: "auto", transformPerspective: 600, transformOrigin: J, rotationY: 1 === n ? 50 : -50 }, { x: 0, rotationX: 0, autoAlpha: 1, y: 0, z: 0, scale: 1, rotationY: 0, delay: 0, ease: _ }), 0), J = 1 != n ? "20% " : "80% ", J += "60% -50%", t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 1e3, { autoAlpha: 1, rotationX: 0, y: 0, z: 0, scale: 1, x: 0, force3D: "auto", transformPerspective: 600, transformOrigin: J, rotationY: 0 }, { autoAlpha: 1, rotationX: 20, y: 0, z: -t[a].width, x: 1 != n ? -t[a].width / 1.2 : t[a].width / 1.2, force3D: "auto", rotationY: 1 === n ? -50 : 50, delay: 0, ease: "power2.inOut" }), 0) } else if (21 == d || 25 == d) { var Z = 25 === d ? t[a].rotate : 1 === n ? 90 : -90, U = 25 === d ? 1 === n ? -90 : 90 : t[a].rotate; J = 1 === n ? 25 === d ? "center top 0" : "left center 0" : 25 === d ? "center bottom 0" : "right center 0"; p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, h / 1e3, { transformStyle: "flat", rotationX: U, y: 0, x: 0, autoAlpha: 0, force3D: "auto", transformPerspective: 1200, transformOrigin: J, rotationY: Z }, { autoAlpha: 1, rotationX: 0, rotationY: 0, ease: _ }), 0), J = 1 === n ? 25 === d ? "center bottom 0" : "right center 0" : 25 === d ? "center top 0" : "left center 0", Z = 25 !== d ? -Z : Z, U = 25 !== d ? U : -U, t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 1e3, { rotationX: 0, rotationY: 0, transformStyle: "flat", transformPerspective: 1200, force3D: "auto" }, { immediateRender: !0, rotationX: U, transformOrigin: J, rotationY: Z, ease: w }), 0) } else if (26 == d) h = 0, p && (t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg, .001, { autoAlpha: 0 }, { autoAlpha: 1, force3D: "auto", ease: _ }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_next_bg.find("rs-sbg"), { autoAlpha: 1 }), 0)), g && (t[a].mtl.add(tpGS.gsap.to(t[a].pr_active_bg, .001, { autoAlpha: 0, force3D: "auto", ease: _ }), 0), t[a].mtl.add(tpGS.gsap.set(t[a].pr_active_bg.find("rs-sbg"), { autoAlpha: 1 }), 0)); else if (27 == d || 28 == d || 29 == d || 30 == d) { var K = t[a].pr_next_bg.find(".slot"), $ = 27 == d || 29 == d ? "-100%" : "100%", ee = 27 == d || 29 == d ? "100%" : "-100%", te = 27 == d || 29 == d ? "-80%" : "80%", ie = 27 == d || 29 == d ? "80%" : "-80%", ae = 27 == d || 29 == d ? "10%" : "-10%", re = { overwrite: "all" }, oe = { autoAlpha: 0, zIndex: 1, force3D: "auto", ease: _ }, se = { position: "inherit", autoAlpha: 0, overwrite: "all", zIndex: 1 }, ne = { autoAlpha: 1, force3D: "auto", ease: w }, le = { overwrite: "all", zIndex: 2, opacity: 1, autoAlpha: 1 }, de = { autoAlpha: 1, force3D: "auto", overwrite: "all", ease: _ }, ce = { overwrite: "all", zIndex: 2, autoAlpha: 1 }, pe = { autoAlpha: 1, force3D: "auto", ease: _ }, ge = 1 == (27 == d || 28 == d ? 1 : 2) ? "y" : "x"; re[ge] = "0%", oe[ge] = $, se[ge] = ae, ne[ge] = 0, le[ge] = ee, de[ge] = $, ce[ge] = te, pe[ge] = ie, K.append(''), g && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_active_bg, h / 1e3, re, oe), 0), p && t[a].mtl.add(tpGS.gsap.fromTo(t[a].pr_next_bg.find("rs-sbg"), h / 2e3, se, ne), h / 2e3), t[a].mtl.add(tpGS.gsap.fromTo(K, h / 1e3, le, de), 0), t[a].mtl.add(tpGS.gsap.fromTo(K.find(".slotslide div"), h / 1e3, ce, pe), 0) } c && f.length > 0 && t[a].mtl.add(tpGS.gsap.set(f, { zIndex: 30, display: "block", onComplete: function() { t.playVideo(f, a) } })) }, r = function(e, t, i, a, r) { var o = a / r, s = t / i, n = t, l = i; return (e ? o > s : o < s) ? l = n / o : n = l * o, { width: n, height: l, x: (t - n) / 2, y: (i - l) / 2 } }, o = function(e) { e.ctx.save(), e.ctx.beginPath(), e.ctx.moveTo(e.poly[0][0], e.poly[0][1]); for (var t = 1; t < e.poly.length; t++) e.ctx.lineTo(e.poly[t][0], e.poly[t][1]); e.ctx.closePath(), e.ctx.lineWidth = 2, e.ctx.stroke(), e.ctx.clip(), void 0 !== e.bg.img && e.ctx.drawImage(e.bg.img, e.bg.offsetx, e.bg.offsety, e.bg.width, e.bg.height), "transparent" !== e.bg.col && void 0 !== e.bg.col && (e.ctx.fillStyle = e.bg.col, e.ctx.fillRect(e.bg.offsetx, e.bg.offsety, e.bg.width, e.bg.height)), void 0 !== e.bg.overlay && (e.ctx.fillStyle = e.bg.overlay, e.ctx.fillRect(e.bg.offsetx, e.bg.offsety, e.bg.width, e.bg.height)), e.ctx.restore() }, s = function(e, i, a, r) { if (0 !== e.length) { var o = e.find("rs-sbg"), s = o.data("mediafilter"), n = e.data("zoomstart"), l = e.data("rotationstart"); null != o.data("currotate") && (l = o.data("currotate")), null != o.data("curscale") && "box" == r ? n = 100 * o.data("curscale") : null != o.data("curscale") && (n = o.data("curscale")), function(e, i) { t[i].slotw = Math.ceil(t[i].width / t[i].slots), "fullscreen" == t[i].sliderLayout ? t[i].sloth = Math.ceil(t.getWinH(i) / t[i].slots) : t[i].sloth = Math.ceil(t[i].height / t[i].slots) }(0, i); var d = void 0 !== o[0] && void 0 !== o[0].dataset && void 0 !== o[0].dataset.lazyload ? o[0].dataset.lazyload : o.attr("src"), c = t[i].width, p = t[i].autoHeight ? t[i].c.height() : t[i].height, g = o.data("fxof"), u = 0, h = e.data("bgcolor") || "transparent", f = e.data("bgfit") || "cover", m = e.data("bgrepeat") || "no-repeat", v = e.data("bgposition") || "center center", y = void 0 !== h && h.indexOf("gradient") >= 0 ? "background:" + h : "background-color:" + h + ";background-image:url(" + d + ");background-repeat:" + m + ";background-size:" + f + ";background-position:" + v, b = ""; g = null == g ? 0 : g; var _ = e[0].parentNode; if (e.detach(), e.find(".slot").each(function() { jQuery(this).remove() }), "box" === r) for (var w = 0, x = 0, k = 0; k < t[i].slots; k++) { x = 0; for (var S = 0; S < t[i].slots; S++) b += '
', x += t[i].sloth; w += t[i].slotw } else if ("horizontal" === r) { if (!a) u = 0 - t[i].slotw; for (S = 0; S < t[i].slots; S++) b += '
' } if ("vertical" === r) { if (!a) u = 0 - t[i].sloth; for (S = 0; S < t[i].slots; S++) b += '
' } e.append(b), _.appendChild(e[0]) } } }(jQuery), function(e) { "use strict"; var t = jQuery.fn.revolution, i = t.is_mobile(); t.is_android(); function a(e) { return null == e ? -1 : jQuery.isNumeric(e) ? e : e.split(":").length > 1 ? 60 * parseInt(e.split(":")[0], 0) + parseInt(e.split(":")[1], 0) : e } jQuery.extend(!0, t, { preLoadAudio: function(e, i) { t[i].videos = void 0 === t[i].videos ? {} : t[i].videos, e.find(".rs-layer-audio").each(function() { var a = jQuery(this), r = t[i].videos[a[0].id] = void 0 === t[i].videos[a[0].id] ? v(a.data(), "audio", t.gA(e[0], "key")) : t[i].videos[a[0].id], o = {}; 0 === a.find("audio").length && (o.src = null != r.mp4 ? r.mp4 : "", o.pre = r.pload || "", this.id = void 0 === this.id || "" === this.id ? a.attr("audio-layer-" + Math.round(199999 * Math.random())) : this.id, o.id = this.id, o.status = "prepared", o.start = jQuery.now(), o.waittime = void 0 !== r.ploadwait ? 1e3 * r.ploadwait : 5e3, "auto" != o.pre && "canplaythrough" != o.pre && "canplay" != o.pre && "progress" != o.pre || (void 0 === t[i].audioqueue && (t[i].audioqueue = []), t[i].audioqueue.push(o), t.manageVideoLayer(a, i, t.gA(e[0], "key")))) }) }, preLoadAudioDone: function(e, i, a) { var r = t[i].videos[e[0].id]; t[i].audioqueue && t[i].audioqueue.length > 0 && jQuery.each(t[i].audioqueue, function(e, t) { r.mp4 !== t.src || t.pre !== a && "auto" !== t.pre || (t.status = "loaded") }) }, resetVideo: function(e, a, r, o) { var s = t[a].videos[e[0].id]; switch (s.type) { case "youtube": s.rwd && null != s.player && void 0 !== s.player.seekTo && (s.player.seekTo(-1 == s.ssec ? 0 : s.ssec), s.player.pauseVideo()), 0 != e.find("rs-poster").length || s.bgvideo || "preset" === r || tpGS.gsap.to(e.find("iframe"), .3, { opacity: 1, display: "block", ease: "power3.inOut" }); break; case "vimeo": void 0 !== s.vimeoplayer && !o && s.rwd && (0 !== s.ssec && -1 !== s.ssec || s.bgvideo || e.find("rs-poster").length > 0) && (s.vimeoplayer.setCurrentTime(-1 == s.ssec ? 0 : s.ssec), s.vimeoplayer.pause()), 0 != e.find("rs-poster").length || s.bgvideo || "preset" === r || tpGS.gsap.to(e.find("iframe"), .3, { opacity: 1, display: "block", ease: "power3.inOut" }); break; case "html5": if (i && s.notonmobile) return !1; tpGS.gsap.to(s.jvideo, .3, { opacity: 1, display: "block", ease: "power3.inOut" }), !s.rwd || e.hasClass("videoisplaying") || isNaN(s.video.duration) || (s.justReseted = !0, s.video.currentTime = -1 == s.ssec ? 0 : s.ssec), ("mute" == s.volume || t.lastToggleState(e.videomutetoggledby) || !0 === t[a].globalmute) && (s.video.muted = !0) } }, Mute: function(e, i, a) { var r = !1, o = t[i].videos[e[0].id]; switch (o.type) { case "youtube": o.player && (!0 === a && o.player.mute(), !1 === a && l(o, parseInt(o.volcache, 0)), r = o.player.isMuted()); break; case "vimeo": o.volcachecheck || (o.volcache = o.volcache > 1 ? o.volcache / 100 : o.volcache, o.volcachecheck = !0), o.volume = !0 === a ? "mute" : !1 === a ? o.volcache : o.volume, void 0 !== a && null != o.vimeoplayer && n(o, !0 === a ? 0 : o.volcache), r = "mute" == o.volume || 0 === o.volume; break; case "html5": o.volcachecheck || (o.volcache = o.volcache > 1 ? o.volcache / 100 : o.volcache, o.volcachecheck = !0), o.video.volume = o.volcache, void 0 !== a && o.video && (o.video.muted = a), r = void 0 !== o.video ? o.video.muted : r } if (void 0 === a) return r }, stopVideo: function(e, i) { if (void 0 !== t[i] && void 0 !== t[i]) { var a = t[i].videos[e[0].id]; if (void 0 !== a) switch (t[i].leaveViewPortBasedStop || (t[i].lastplayedvideos = []), t[i].leaveViewPortBasedStop = !1, a.type) { case "youtube": if (void 0 === a.player || 2 === a.player.getPlayerState() || 5 === a.player.getPlayerState()) return; a.player.pauseVideo(), a.youtubepausecalled = !0, setTimeout(function() { a.youtubepausecalled = !1 }, 80); break; case "vimeo": if (void 0 === a.vimeoplayer) return; a.vimeoplayer.pause(), a.vimeopausecalled = !0, setTimeout(function() { a.vimeopausecalled = !1 }, 80); break; case "html5": a.video && a.video.pause() } } }, playVideo: function(e, i) { var a = t[i].videos[e[0].id]; switch (clearTimeout(a.videoplaywait), a.type) { case "youtube": if (0 == e.find("iframe").length) e.append(a.videomarkup), u(e, i, !0); else if (null != a.player.playVideo) { var o = a.player.getCurrentTime(); a.nseTriggered && (o = -1, a.nseTriggered = !1), -1 != a.ssec && a.ssec > o && a.player.seekTo(a.ssec), !0 !== a.youtubepausecalled && p(a) } else a.videoplaywait = setTimeout(function() { !0 !== a.youtubepausecalled && t.playVideo(e, i) }, 50); break; case "vimeo": 0 == e.find("iframe").length ? (delete a.vimeoplayer, e.append(a.videomarkup), u(e, i, !0)) : e.hasClass("rs-apiready") ? (a.vimeoplayer = null == a.vimeoplayer ? new Vimeo.Player(e.find("iframe").attr("id")) : a.vimeoplayer, a.vimeoplayer.getPaused() ? setTimeout(function() { var r = void 0 === a.currenttime ? 0 : a.currenttime; a.nseTriggered && (r = -1, a.nseTriggered = !1), -1 != a.ssec && a.ssec > r && a.vimeoplayer.setCurrentTime(a.ssec), ("mute" == a.volume || 0 === a.volume || t.lastToggleState(e.data("videomutetoggledby")) || !0 === t[i].globalmute) && (a.volumetoken = !0, a.vimeoplayer.setVolume(0)), c(a.vimeoplayer) }, 510) : a.videoplaywait = setTimeout(function() { !0 !== a.vimeopausecalled && t.playVideo(e, i) }, 50)) : a.videoplaywait = setTimeout(function() { !0 !== a.vimeopausecalled && t.playVideo(e, i) }, 100); break; case "html5": if (a.metaloaded) { d(a.video); o = a.video.currentTime; a.nseTriggered && (o = -1, a.nseTriggered = !1), -1 != a.ssec && a.ssec > o && (a.video.currentTime = a.ssec) } else r(a.video, "loadedmetadata", function(e) { t.resetVideo(e, i), a.video.play(); var r = a.video.currentTime; a.nseTriggered && (r = -1, a.nseTriggered = !1), -1 != a.ssec && a.ssec > r && (a.video.currentTime = a.ssec) }(e)) } }, isVideoPlaying: function(e, i) { var a = !1; return null != t[i].playingvideos && jQuery.each(t[i].playingvideos, function(t, i) { e.attr("id") == i.attr("id") && (a = !0) }), a }, removeMediaFromList: function(e, t) { b(e, t) }, prepareCoveredVideo: function(e) { clearTimeout(t[e].resizePrepareCoverVideolistener); var i = "carousel" === t[e].sliderType ? t[e].carousel.justify ? void 0 === t[e].carousel.slide_widths ? void 0 : t[e].carousel.slide_widths[t[e].carousel.focused] : t[e].carousel.slide_width : t[e].conw, a = "carousel" === t[e].sliderType ? t[e].carousel.slide_height : t[e].conh; if (0 === i || 0 === a || void 0 === i || void 0 === a) return t.contWidthManager(e, "containerResized_1"), t.updateDimensions(e, "prepareCoveredVideo"), t.setSize(e, void 0, "prepareCoveredVideo"), t[e].dimensionChanged = !0, t.updateDimensions(e, "prepareCoveredVideo"), void(t[e].resizePrepareCoverVideolistener = setTimeout(function() { t.prepareCoveredVideo(e) }, 100)); for (var r in t[e].videos) { var o = t[e].videos[r]; if ((o.bgvideo || o.fcover) && ("html5" === o.type && void 0 !== o.jvideo && tpGS.gsap.set(o.jvideo, { width: i }), void 0 === t[e].activeRSSlide || o.slideid === t.gA(t[e].slides[t[e].activeRSSlide], "key") || void 0 === t[e].pr_next_slide || o.slideid === t.gA(t[e].pr_next_slide[0], "key"))) { o.vd = o.ratio.split(":").length > 1 ? o.ratio.split(":")[0] / o.ratio.split(":")[1] : 1; var s = i / a, n = s / o.vd * 100, l = o.vd / s * 100; "Edge" === t.get_browser() || "IE" === t.get_browser() ? (o.ifr = void 0 === o.ifr ? o.video : o.ifr, s > o.vd ? tpGS.gsap.set(o.ifr, { minWidth: "100%", height: n + "%", x: "-50%", y: "-50%", top: "50%", left: "50%", position: "absolute" }) : tpGS.gsap.set(o.ifr, { minHeight: "100%", width: l + "%", x: "-50%", y: "-50%", top: "50%", left: "50%", position: "absolute" })) : s > o.vd ? tpGS.gsap.set(o.ifr, { height: n + "%", width: "100%", top: -(n - 100) / 2 + "%", left: "0px", position: "absolute" }) : tpGS.gsap.set(o.ifr, { width: l + "%", height: "100%", left: -(l - 100) / 2 + "%", top: "0px", position: "absolute" }) } } }, checkVideoApis: function(e, i) { location.protocol; if (!t[i].youtubeapineeded && ((null != e.data("ytid") || e.find("iframe").length > 0 && e.find("iframe").attr("src").toLowerCase().indexOf("youtube") > 0) && (t[i].youtubeapineeded = !0), t[i].youtubeapineeded && !window.rs_addedyt)) { t[i].youtubestarttime = jQuery.now(), window.rs_addedyt = !0; var a = document.createElement("script"), r = document.getElementsByTagName("script")[0], o = !0; a.src = "https://www.youtube.com/iframe_api", jQuery("head").find("*").each(function() { "https://www.youtube.com/iframe_api" == jQuery(this).attr("src") && (o = !1) }), o && r.parentNode.insertBefore(a, r) } if (!t[i].vimeoapineeded && ((null != e.data("vimeoid") || e.find("iframe").length > 0 && e.find("iframe").attr("src").toLowerCase().indexOf("vimeo") > 0) && (t[i].vimeoapineeded = !0), t[i].vimeoapineeded && !window.rs_addedvim)) { t[i].vimeostarttime = jQuery.now(), window.rs_addedvim = !0; var s = document.createElement("script"); r = document.getElementsByTagName("script")[0], o = !0; s.src = "https://player.vimeo.com/api/player.js", jQuery("head").find("*").each(function() { "https://player.vimeo.com/api/player.js" == jQuery(this).attr("src") && (o = !1) }), o && r.parentNode.insertBefore(s, r) } }, manageVideoLayer: function(e, a, o) { if (!0 === t.gA(e[0], "videoLayerManaged") || "true" === t.gA(e[0], "videoLayerManaged")) return !1; t[a].videos = void 0 === t[a].videos ? {} : t[a].videos; var s = t[a].videos[e[0].id] = void 0 === t[a].videos[e[0].id] ? v(e.data(), void 0, o) : t[a].videos[e[0].id]; if (s.audio = void 0 !== s.audio && s.audio, i && s.opom) 0 == e.find("rs-poster").length && e.append(''); else { switch (s.id = e[0].id, s.pload = "auto" === s.pload || "canplay" === s.pload || "canplaythrough" === s.pload || "progress" === s.pload ? "auto" : s.pload, s.type = null != s.mp4 || null != s.webm ? "html5" : null != s.ytid && String(s.ytid).length > 1 ? "youtube" : null != s.vimeoid && String(s.vimeoid).length > 1 ? "vimeo" : "none", s.newtype = "html5" == s.type && 0 == e.find(s.audio ? "audio" : "video").length ? "html5" : "youtube" == s.type && 0 == e.find("iframe").length ? "youtube" : "vimeo" == s.type && 0 == e.find("iframe").length ? "vimeo" : "none", !s.audio && "1sttime" == s.aplay && s.pausetimer && s.bgvideo && t.sA(e.closest("rs-slide")[0], "rspausetimeronce", 1), s.audio || !s.bgvideo || !s.pausetimer || 1 != s.aplay && "true" != s.aplay && "no1sttime" != s.aplay || t.sA(e.closest("rs-slide")[0], "rspausetimeralways", 1), s.noInt && e.addClass("rs-nointeraction"), s.newtype) { case "html5": 1 == window.isSafari11 && (t[a].slideHasIframe = !0), s.audio && e.addClass("rs-audio"), s.tag = s.audio ? "audio" : "video"; var n = "video" === s.tag && (t.is_mobile() || t.isSafari11()) ? s.aplay || "true" === s.aplay ? "muted playsinline autoplay" : s.inline ? " playsinline" : "" : "", l = "<" + s.tag + " " + n + " " + (s.controls && "none" !== s.controls ? " controls " : "") + ' style="' + ("Edge" !== t.get_browser() ? "object-fit:cover;background-size:cover;opacity:0;width:100%; height:100%" : "") + '" class="" ' + (s.loop ? "loop" : "") + ' preload="' + s.pload + '">'; "video" === s.tag && null != s.webm && "firefox" == t.get_browser().toLowerCase() && (l = l + ''), null != s.mp4 && (l = l + ''), null != s.ogv && (l = l + ''), l += "", s.videomarkup = l, i && s.notonmobile || t.isIE(8) || e.append(l), e.find(s.tag).parent().hasClass("html5vid") || e.find(s.tag).wrap('
'), s.jvideo = e.find(s.tag), s.video = s.jvideo[0], s.html5vid = s.jvideo.parent(), s.metaloaded || r(s.video, "loadedmetadata", function(e) { f(e, a), t.resetVideo(e, a) }(e)); break; case "youtube": t[a].slideHasIframe = !0, s.controls && "none" !== s.controls || (s.vatr = s.vatr.replace("controls=1", "controls=0"), -1 == s.vatr.toLowerCase().indexOf("controls") && (s.vatr = s.vatr + "&controls=0")), (s.inline || "RS-BGVIDEO" === e[0].tagName) && (s.vatr = s.vatr + "&playsinline=1"), -1 != s.ssec && (s.vatr += "&start=" + s.ssec), -1 != s.esec && (s.vatr += "&end=" + s.esec); var d = s.vatr.split("origin=https://"); s.vatrnew = d.length > 1 ? d[0] + "origin=https://" + (self.location.href.match(/www/gi) && !d[1].match(/www/gi) ? "www." + d[1] : d[1]) : s.vatr, s.videomarkup = ''; break; case "vimeo": t[a].slideHasIframe = !0, s.controls && "none" !== s.controls ? (s.vatr = s.vatr.replace("background=0", "background=1"), -1 == s.vatr.toLowerCase().indexOf("background") && (s.vatr = s.vatr + "&background=1")) : (s.vatr = s.vatr.replace("background=1", "background=0"), -1 == s.vatr.toLowerCase().indexOf("background") && (s.vatr = s.vatr + "&background=0")), s.vatr = "autoplay=" + (!0 === s.aplay ? 1 : 0) + "&" + s.vatr, i && (s.vatr = "muted=1&" + s.vatr), s.loop && (s.vatr = "loop=1&" + s.vatr), s.videomarkup = '' } if (!(null != s.poster && s.poster.length > 2) || i && s.npom) { if (i && s.notonmobile) return !1; 0 != e.find("iframe").length || "youtube" != s.type && "vimeo" != s.type || (delete s.vimeoplayer, e.append(s.videomarkup), u(e, a, !1)) } else 0 == e.find("rs-poster").length && e.append(''), 0 == e.find("iframe").length && e.find("rs-poster").click(function() { if (t.playVideo(e, a), i) { if (s.notonmobile) return !1; tpGS.gsap.to(e.find("rs-poster"), .3, { opacity: 0, visibility: "hidden", force3D: "auto", ease: "power3.inOut" }), tpGS.gsap.to(e.find("iframe"), .3, { opacity: 1, display: "block", ease: "power3.inOut" }) } }); "none" !== s.doverlay && void 0 !== s.doverlay && (s.bgvideo ? 1 != e.closest("rs-sbg-wrap").find("rs-dotted").length && e.closest("rs-sbg-wrap").append('') : 1 != e.find("rs-dotted").length && e.append('')), t.sA(e[0], "videoLayerManaged", !0), s.bgvideo && tpGS.gsap.set(e.find("video, iframe"), { opacity: 0 }) } } }); var r = function(e, t, i) { e.addEventListener ? e.addEventListener(t, i, { capture: !1, passive: !0 }) : e.attachEvent(t, i, { capture: !1, passive: !0 }) }, o = function(e, t, i) { var a = {}; return a.video = e, a.type = t, a.settings = i, a }, s = function(e, i) { var a = t[e].videos[i[0].id]; (a.bgvideo || a.fcover) && (a.fcover && i.removeClass("rs-fsv").addClass("coverscreenvideo"), (void 0 === a.ratio || a.ratio.split(":").length <= 1) && (a.ratio = "16:9"), t.prepareCoveredVideo(e)) }, n = function(e, t) { var i = e.vimeoplayer; i.getPaused().then(function(a) { e.volumetoken = !0; var r = !a, o = i.setVolume(t); void 0 !== o && o.then(function(t) { i.getPaused().then(function(t) { r === t && (e.volume = "mute", e.volumetoken = !0, i.setVolume(0), i.play()) }).catch(function(e) { console.log("Get Paused Function Failed for Vimeo Volume Changes Inside the Promise") }) }).catch(function(t) { r && (e.volume = "mute", e.volumetoken = !0, i.setVolume(0), i.play()) }) }).catch(function() { console.log("Get Paused Function Failed for Vimeo Volume Changes") }) }, l = function(e, t) { var i = e.player.getPlayerState(); "mute" === t ? e.player.mute() : (e.player.unMute(), e.player.setVolume(t)), setTimeout(function() { 1 === i && 1 !== e.player.getPlayerState() && (e.player.mute(), e.player.playVideo()) }, 39) }, d = function(e) { var t = e.play(); void 0 !== t && t.then(function(e) {}).catch(function(t) { e.pause() }) }, c = function(e) { var t = e.play(); void 0 !== t && t.then(function(e) {}).catch(function(t) { e.volumetoken = !0, e.setVolume(0), e.play() }) }, p = function(e) { e.player.playVideo(), setTimeout(function() { 1 !== e.player.getPlayerState() && 3 !== e.player.getPlayerState() && (e.volume = "mute", e.player.mute(), e.player.playVideo()) }, 39) }, g = function(e, i, a) { e.vimeostarted = !0, e.nextslidecalled = !1; var r = i.find("rs-poster"); e.ifr = i.find("iframe"), void 0 !== r && r.length > 0 ? (tpGS.gsap.to(r, .3, { opacity: 0, visibility: "hidden", force3D: "auto", ease: "power3.inOut" }), void 0 !== e.ifr && e.ifr.length > 0 && tpGS.gsap.to(e.ifr, .3, { opacity: 1, display: "block", ease: "power3.inOut" })) : void 0 !== e.ifr && e.ifr.length > 0 && tpGS.gsap.to(e.ifr, .001, { opacity: 1, display: "block", ease: "power3.out" }), t[a].c.trigger("revolution.slide.onvideoplay", o(e.vimeoplayer, "vimeo", e)), t[a].stopByVideo = e.pausetimer, y(i, a), "mute" == e.volume || 0 === e.volume || t.lastToggleState(i.data("videomutetoggledby")) || !0 === t[a].globalmute ? (e.volumetoken = !0, e.vimeoplayer.setVolume(0)) : n(e, parseInt(e.volcache, 0) / 100 || .75), t.toggleState(e.videotoggledby) }, u = function(e, a, r) { var n = t[a].videos[e[0].id], d = "iframe" + Math.round(1e5 * Math.random() + 1); if (n.ifr = e.find("iframe"), s(a, e), n.ifr.attr("id", d), n.startvideonow = r, n.videolistenerexist) { if (r) switch (n.type) { case "youtube": p(n), -1 != n.ssec && n.player.seekTo(n.ssec); break; case "vimeo": c(n.vimeoplayer), -1 != n.ssec && n.vimeoplayer.seekTo(n.ssec) } } else switch (n.type) { case "youtube": if ("undefined" == typeof YT || void 0 === YT.Player) return t.checkVideoApis(e, a), void setTimeout(function() { u(e, a, r) }, 50); n.player = new YT.Player(d, { events: { onStateChange: function(i) { i.data == YT.PlayerState.PLAYING ? (tpGS.gsap.to(e.find("rs-poster"), .3, { opacity: 0, visibility: "hidden", force3D: "auto", ease: "power3.inOut" }), tpGS.gsap.to(n.ifr, .3, { opacity: 1, display: "block", ease: "power3.inOut" }), "mute" == n.volume || 0 === n.volume || t.lastToggleState(e.data("videomutetoggledby")) || !0 === t[a].globalmute ? n.player.mute() : l(n, parseInt(n.volcache, 0) || 75), t[a].stopByVideo = !0, y(e, a), n.pausetimer ? t[a].c.trigger("stoptimer") : t[a].stopByVideo = !1, t[a].c.trigger("revolution.slide.onvideoplay", o(n.player, "youtube", n)), t.toggleState(n.videotoggledby)) : (0 == i.data && n.loop && (-1 != n.ssec && n.player.seekTo(n.ssec), p(n), t.toggleState(n.videotoggledby)), t.checkfullscreenEnabled(a) || 0 != i.data && 2 != i.data || !(n.scop && e.find("rs-poster").length > 0 || n.bgvideo && e.find(".rs-fullvideo-cover").length > 0) || (n.bgvideo ? tpGS.gsap.to(e.find(".rs-fullvideo-cover"), .1, { opacity: 1, force3D: "auto", ease: "power3.inOut" }) : tpGS.gsap.to(e.find("rs-poster"), .1, { opacity: 1, visibility: "visible", force3D: "auto", ease: "power3.inOut" }), tpGS.gsap.to(n.ifr, .1, { opacity: 0, ease: "power3.inOut" })), -1 != i.data && 3 != i.data && (t[a].stopByVideo = !1, t[a].tonpause = !1, b(e, a), t[a].c.trigger("starttimer"), t[a].c.trigger("revolution.slide.onvideostop", o(n.player, "youtube", n)), null != t[a].videoIsPlaying && t[a].videoIsPlaying.attr("id") != e.attr("id") || t.unToggleState(n.videotoggledby)), 0 == i.data && n.nse ? (h(), n.nseTriggered = !0, t[a].c.revnext(), b(e, a)) : (b(e, a), t[a].stopByVideo = !1, 3 !== i.data && (-1 != n.lasteventdata && 3 != n.lasteventdata && void 0 !== n.lasteventdata || -1 != i.data && 3 != i.data) && t[a].c.trigger("starttimer"), t[a].c.trigger("revolution.slide.onvideostop", o(n.player, "youtube", n)), null != t[a].videoIsPlaying && t[a].videoIsPlaying.attr("id") != e.attr("id") || t.unToggleState(n.videotoggledby))), n.lasteventdata = i.data }, onReady: function(a) { var r, o = t.is_mobile(), s = e.hasClass("rs-layer-video"); !o && (!t.isSafari11() || o && s) || "RS-BGVIDEO" !== e[0].tagName && (!s || !0 !== n.aplay && "true" !== n.aplay) || (r = !0, n.player.setVolume(0), n.volume = "mute", n.player.mute(), clearTimeout(e.data("mobilevideotimr")), 2 !== n.player.getPlayerState() && -1 !== n.player.getPlayerState() || e.data("mobilevideotimr", setTimeout(function() { p(n) }, 500))), r || "mute" != n.volume || (n.player.setVolume(0), n.player.mute()), e.addClass("rs-apiready"), null == n.speed && 1 === n.speed || a.target.setPlaybackRate(parseFloat(n.speed)), e.find("rs-poster").unbind("click"), e.find("rs-poster").click(function() { i || p(n) }), n.startvideonow && (p(n), -1 != n.ssec && n.player.seekTo(n.ssec)), n.videolistenerexist = !0 } } }); break; case "vimeo": if ("undefined" == typeof Vimeo || void 0 === Vimeo.Player) return t.checkVideoApis(e, a), void setTimeout(function() { u(e, a, r) }, 50); for (var f, m = n.ifr.attr("src"), v = {}, _ = m, w = /([^&=]+)=([^&]*)/g; f = w.exec(_);) v[decodeURIComponent(f[1])] = decodeURIComponent(f[2]); m = (m = null != v.player_id ? m.replace(v.player_id, d) : m + "&player_id=" + d).replace(/&api=0|&api=1/g, ""); var x, k = t.is_mobile() || t.isSafari11(), S = "RS-BGVIDEO" === e[0].tagName; if (k && S && (m += "&background=1"), n.ifr.attr("src", m), n.vimeoplayer = void 0 === n.vimeoplayer || !1 === n.vimeoplayer ? new Vimeo.Player(d) : n.vimeoplayer, k) S ? x = !0 : (n.aplay || "true" === n.aplay) && (x = !0), x && (n.volumetoken = !0, n.vimeoplayer.setVolume(0), n.volume = "mute"); n.vimeoplayer.on("play", function(t) { n.vimeostarted || g(n, e, a) }), n.vimeoplayer.on("loaded", function(t) { var i = {}; n.vimeoplayer.getVideoWidth().then(function(t) { i.width = t, void 0 !== i.width && void 0 !== i.height && (n.ratio = i.width + ":" + i.height, n.vimeoplayerloaded = !0, s(a, e)) }), n.vimeoplayer.getVideoHeight().then(function(t) { i.height = t, void 0 !== i.width && void 0 !== i.height && (n.ratio = i.width + ":" + i.height, n.vimeoplayerloaded = !0, s(a, e)) }), n.startvideonow && ("mute" === n.volume && (n.volumetoken = !0, n.vimeoplayer.setVolume(0)), c(n.vimeoplayer), -1 != n.ssec && n.vimeoplayer.setCurrentTime(n.ssec)) }), e.addClass("rs-apiready"), n.vimeoplayer.on("volumechange", function(e) { n.volumetoken && (n.volume = e.volume), n.volumetoken = !1 }), n.vimeoplayer.on("timeupdate", function(i) { n.vimeostarted || 0 === i.percent || void 0 !== t[a].activeRSSlide && n.slideid !== t.gA(t[a].slides[t[a].activeRSSlide], "key") || g(n, e, a), n.pausetimer && "playing" == t[a].sliderstatus && (t[a].stopByVideo = !0, t[a].c.trigger("stoptimer")), n.currenttime = i.seconds, 0 != n.esec && -1 !== n.esec && n.esec < i.seconds && !0 !== n.nextslidecalled && (n.loop ? (c(n.vimeoplayer), n.vimeoplayer.setCurrentTime(-1 !== n.ssec ? n.ssec : 0)) : (n.nse && (n.nseTriggered = !0, n.nextslidecalled = !0, t[a].c.revnext()), n.vimeoplayer.pause())) }), n.vimeoplayer.on("ended", function(i) { n.vimeostarted = !1, b(e, a), t[a].stopByVideo = !1, t[a].c.trigger("starttimer"), t[a].c.trigger("revolution.slide.onvideostop", o(n.vimeoplayer, "vimeo", n)), n.nse && (n.nseTriggered = !0, t[a].c.revnext()), null != t[a].videoIsPlaying && t[a].videoIsPlaying.attr("id") != e.attr("id") || t.unToggleState(n.videotoggledby) }), n.vimeoplayer.on("pause", function(i) { n.vimeostarted = !1, (n.scop && e.find("rs-poster").length > 0 || n.bgvideo && e.find(".rs-fullvideo-cover").length > 0) && (n.bgvideo ? tpGS.gsap.to(e.find(".rs-fullvideo-cover"), .1, { opacity: 1, force3D: "auto", ease: "power3.inOut" }) : tpGS.gsap.to(e.find("rs-poster"), .1, { opacity: 1, visibility: "visible", force3D: "auto", ease: "power3.inOut" }), tpGS.gsap.to(e.find("iframe"), .1, { opacity: 0, ease: "power3.inOut" })), t[a].stopByVideo = !1, t[a].tonpause = !1, b(e, a), t[a].c.trigger("starttimer"), t[a].c.trigger("revolution.slide.onvideostop", o(n.vimeoplayer, "vimeo", n)), null != t[a].videoIsPlaying && t[a].videoIsPlaying.attr("id") != e.attr("id") || t.unToggleState(n.videotoggledby) }), e.find("rs-poster").unbind("click"), e.find("rs-poster").click(function() { if (!i) return c(n.vimeoplayer), !1 }), n.videolistenerexist = !0 } }, h = function() { document.exitFullscreen && document.fullscreen ? document.exitFullscreen() : document.mozCancelFullScreen && document.mozFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen && document.webkitIsFullScreen && document.webkitExitFullscreen() }; t.checkfullscreenEnabled = function(e) { if (void 0 !== window.fullScreen) return window.fullScreen; if (void 0 !== document.fullscreen) return document.fullscreen; if (void 0 !== document.mozFullScreen) return document.mozFullScreen; if (void 0 !== document.webkitIsFullScreen) return document.webkitIsFullScreen; var i = t.isWebkit() && /Apple Computer/.test(navigator.vendor) ? 42 : 5; return screen.width == t.winW && Math.abs(screen.height - t.getWinH(e)) < i }; var f = function(e, a, s) { var n = t[a].videos[e[0].id]; if (i && n.notonmobile) return !1; n.metaloaded = !0, n.controls && !n.audio || (0 != e.find(".tp-video-play-button").length || i || e.append('
 
'), e.find("video, rs-poster, .tp-video-play-button").click(function() { e.hasClass("videoisplaying") ? n.video.pause() : n.video.play() })), (n.fcover || e.hasClass("rs-fsv") || n.bgvideo) && (n.fcover || n.bgvideo ? (n.html5vid.addClass("fullcoveredvideo"), void 0 !== n.ratio && 1 != n.ratio.split(":").length || (n.ratio = "16:9"), t.prepareCoveredVideo(a)) : n.html5vid.addClass("rs-fsv")), r(n.video, "canplaythrough", function() { t.preLoadAudioDone(e, a, "canplaythrough") }), r(n.video, "canplay", function() { t.preLoadAudioDone(e, a, "canplay") }), r(n.video, "progress", function() { t.preLoadAudioDone(e, a, "progress") }), r(n.video, "timeupdate", function(i) { void 0 !== e && void 0 !== e[0] && !0 !== n.VideoIsVisible && !0 !== n.justReseted && (e[0].getElementsByTagName("rs-poster").length > 0 ? (tpGS.gsap.to(e[0].getElementsByTagName("rs-poster"), .3, { autoAlpha: 0, force3D: "auto", ease: "power3.inOut" }), e.find(n.tag).length > 0 && tpGS.gsap.to(e.find(n.tag), .001, { opacity: 1, display: "block", ease: "power3.inOut" })) : e.find(n.tag).length > 0 && tpGS.gsap.to(e.find(n.tag), .001, { opacity: 1, display: "block", ease: "power3.out" }), n.VideoIsVisible = !0, clearTimeout(n.showCoverSoon)), n.justReseted && 1 != t.checkfullscreenEnabled(a) && e.find("rs-poster").length > 0 && (n.showCoverSoon = setTimeout(function() { n.seeking || (tpGS.gsap.to(e.find("rs-poster"), .001, { autoAlpha: 1, force3D: "auto", ease: "power3.inOut" }), tpGS.gsap.to(e.find(n.tag), 1e-4, { opacity: 0, ease: "power3.inOut" })), n.VideoIsVisible = !1 }, 500)), n.justReseted = !1, -1 === n.esec && n.loop && 1 == window.isSafari11 && (n.esec = n.video.duration - .075), 0 != n.esec && -1 != n.esec && n.esec < n.video.currentTime && !n.nextslidecalled && (n.loop ? (n.video.play(), n.video.currentTime = -1 === n.ssec ? .5 : n.ssec) : (n.nse && (n.nseTriggered = !0, n.nextslidecalled = !0, t[a].jcnah = !0, t[a].c.revnext(), setTimeout(function() { t[a].jcnah = !1 }, 1e3)), n.video.pause())) }), r(n.video, "play", function() { n.nextslidecalled = !1, n.volume = null != n.volume && "mute" != n.volume ? parseFloat(n.volcache) : n.volume, n.volcache = null != n.volcache && "mute" != n.volcache ? parseFloat(n.volcache) : n.volcache, t.is_mobile() || t.isSafari11() || (!0 === t[a].globalmute ? n.video.muted = !0 : n.video.muted = "mute" == n.volume, n.volcache = jQuery.isNumeric(n.volcache) && n.volcache > 1 ? n.volcache / 100 : n.volcache, "mute" == n.volume ? n.video.muted = !0 : null != n.volcache && (n.video.volume = n.volcache)), e.addClass("videoisplaying"), y(e, a), clearTimeout(n.showCoverSoon), !0 !== n.pausetimer || "audio" == n.tag ? (t[a].stopByVideo = !1, t[a].c.trigger("revolution.slide.onvideostop", o(n.video, "html5", n))) : (t[a].stopByVideo = !0, t[a].c.trigger("revolution.slide.onvideoplay", o(n.video, "html5", n))), n.pausetimer && "playing" == t[a].sliderstatus && (t[a].stopByVideo = !0, t[a].c.trigger("stoptimer")), t.toggleState(n.videotoggledby) }), r(n.video, "seeked", function() { n.seeking = !1 }), r(n.video, "seeking", function() { n.seeking = !0 }), r(n.video, "pause", function(i) { !t.checkfullscreenEnabled(a) && e.find("rs-poster").length > 0 && n.scop && (n.showCoverSoon = setTimeout(function() { n.seeking || (tpGS.gsap.to(e.find("rs-poster"), .001, { opacity: 1, visibility: "visible", force3D: "auto", ease: "power3.inOut" }), tpGS.gsap.to(e.find(n.tag), 1e-4, { opacity: 0, ease: "power3.inOut" })) }, 500), n.VideoIsVisible = !1), e.removeClass("videoisplaying"), t[a].stopByVideo = !1, b(e, a), "audio" != n.tag && t[a].c.trigger("starttimer"), t[a].c.trigger("revolution.slide.onvideostop", o(n.video, "html5", n)), null != t[a].videoIsPlaying && t[a].videoIsPlaying.attr("id") != e.attr("id") || t.unToggleState(n.videotoggledby) }), r(n.video, "ended", function() { h(), b(e, a), t[a].stopByVideo = !1, b(e, a), "audio" != n.tag && t[a].c.trigger("starttimer"), t[a].c.trigger("revolution.slide.onvideostop", o(n.video, "html5", e.data())), n.nse && n.video.currentTime > 0 && (1 == !t[a].jcnah && (n.nseTriggered = !0, t[a].c.revnext(), t[a].jcnah = !0), setTimeout(function() { t[a].jcnah = !1 }, 1500)), e.removeClass("videoisplaying"), !0 !== t[a].inviewport && void 0 !== t[a].inviewport || (t[a].lastplayedvideos = []) }) }, m = function(e) { return "t" === e || !0 === e || "true" === e || "f" !== e && !1 !== e && "false" !== e && e }, v = function(e, t, i) { e.audio = "audio" === t; var r = void 0 === e.video ? [] : e.video.split(";"), o = { volume: e.audio ? 1 : "mute", pload: "auto", ratio: "16:9", loop: !0, aplay: "true", fcover: 1 === e.bgvideo, afs: !0, controls: !1, nse: !0, npom: !1, opom: !1, inline: !0, notonmobile: !1, start: -1, end: -1, doverlay: "none", scop: !1, rwd: !0, speed: 1, ploadwait: 5, stopAV: 1 !== e.bgvideo, noInt: !1, volcache: 75 }; for (var s in r) if (r.hasOwnProperty(s)) { var n = r[s].split(":"); switch (n[0]) { case "v": o.volume = n[1]; break; case "vd": o.volcache = n[1]; break; case "p": o.pload = n[1]; break; case "ar": o.ratio = n[1] + (void 0 !== n[2] ? ":" + n[2] : ""); break; case "ap": o.aplay = m(n[1]); break; case "fc": o.fcover = m(n[1]); break; case "afs": o.afs = m(n[1]); break; case "vc": o.controls = n[1]; break; case "nse": o.nse = m(n[1]); break; case "npom": o.npom = m(n[1]); break; case "opom": o.opom = m(n[1]); break; case "t": o.vtype = n[1]; break; case "inl": o.inline = m(n[1]); break; case "nomo": o.notonmobile = m(n[1]); break; case "sta": o.start = n[1] + (void 0 !== n[2] ? ":" + n[2] : ""); break; case "end": o.end = n[1] + (void 0 !== n[2] ? ":" + n[2] : ""); break; case "do": o.doverlay = n[1]; break; case "scop": o.scop = m(n[1]); break; case "rwd": o.rwd = m(n[1]); break; case "sp": o.speed = n[1]; break; case "vw": o.ploadwait = parseInt(n[1], 0) || 5; break; case "sav": o.stopAV = m(n[1]); break; case "noint": o.noInt = m(n[1]); break; case "l": o.loopcache = n[1], o.loop = "loop" === n[1] || "loopandnoslidestop" === n[1] || "none" !== n[1] && m(n[1]); break; case "ptimer": o.pausetimer = m(n[1]); break; case "sat": o.waitToSlideTrans = m(n[1]) } } return void 0 !== e.bgvideo && (o.bgvideo = e.bgvideo), void 0 === e.bgvideo || !1 !== o.fcover && "false" !== o.fcover || (o.doverlay = "none"), o.noInt && (o.controls = !1), void 0 !== e.mp4 && (o.mp4 = e.mp4), void 0 !== e.videomp4 && (o.mp4 = e.videomp4), void 0 !== e.ytid && (o.ytid = e.ytid), void 0 !== e.ogv && (o.ogv = e.ogv), void 0 !== e.webm && (o.webm = e.webm), void 0 !== e.vimeoid && (o.vimeoid = e.vimeoid), void 0 !== e.vatr && (o.vatr = e.vatr), void 0 !== e.videoattributes && (o.vatr = e.videoattributes), void 0 !== e.poster && (o.poster = e.poster), o.slideid = i, o.aplay = "true" === o.aplay || o.aplay, 1 === o.bgvideo && (o.volume = "mute"), o.ssec = a(o.start), o.esec = a(o.end), o.pausetimer = void 0 === o.pausetimer ? "loopandnoslidestop" !== o.loopcache : o.pausetimer, o.inColumn = e._incolumn, o.audio = e.audio, !0 !== o.loop && "true" !== o.loop || !0 !== o.nse && "true" !== o.nse || (o.loop = !1), o }, y = function(e, i) { if (t[i].playingvideos = void 0 === t[i].playingvideos ? new Array : t[i].playingvideos, t[i].videos[e[0].id].stopAV && void 0 !== t[i].playingvideos && t[i].playingvideos.length > 0) for (var a in t[i].lastplayedvideos = jQuery.extend(!0, [], t[i].playingvideos), t[i].playingvideos) t[i].playingvideos.hasOwnProperty(a) && t.stopVideo(t[i].playingvideos[a], i); t[i].playingvideos.push(e), t[i].videoIsPlaying = e }, b = function(e, i) { void 0 !== t[i] && void 0 !== t[i] && null != t[i].playingvideos && jQuery.inArray(e, t[i].playingvideos) >= 0 && t[i].playingvideos.splice(jQuery.inArray(e, t[i].playingvideos), 1) } }(jQuery); /*! * Font Awesome Free 5.12.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */ var l, a; l = this, a = function() { "use strict"; var l = {}, a = {}; try { "undefined" != typeof window && (l = window), "undefined" != typeof document && (a = document) } catch (l) {} var e = (l.navigator || {}).userAgent, r = void 0 === e ? "" : e, n = l, o = a, u = (n.document, !!o.documentElement && !!o.head && "function" == typeof o.addEventListener && o.createElement, ~r.indexOf("MSIE") || r.indexOf("Trident/"), "___FONT_AWESOME___"), t = function() { try { return "production" === process.env.NODE_ENV } catch (l) { return !1 } }(); var f = n || {}; f[u] || (f[u] = {}), f[u].styles || (f[u].styles = {}), f[u].hooks || (f[u].hooks = {}), f[u].shims || (f[u].shims = []); var i = f[u], s = [ ["glass", null, "glass-martini"], ["meetup", "fab", null], ["star-o", "far", "star"], ["remove", null, "times"], ["close", null, "times"], ["gear", null, "cog"], ["trash-o", "far", "trash-alt"], ["file-o", "far", "file"], ["clock-o", "far", "clock"], ["arrow-circle-o-down", "far", "arrow-alt-circle-down"], ["arrow-circle-o-up", "far", "arrow-alt-circle-up"], ["play-circle-o", "far", "play-circle"], ["repeat", null, "redo"], ["rotate-right", null, "redo"], ["refresh", null, "sync"], ["list-alt", "far", null], ["dedent", null, "outdent"], ["video-camera", null, "video"], ["picture-o", "far", "image"], ["photo", "far", "image"], ["image", "far", "image"], ["pencil", null, "pencil-alt"], ["map-marker", null, "map-marker-alt"], ["pencil-square-o", "far", "edit"], ["share-square-o", "far", "share-square"], ["check-square-o", "far", "check-square"], ["arrows", null, "arrows-alt"], ["times-circle-o", "far", "times-circle"], ["check-circle-o", "far", "check-circle"], ["mail-forward", null, "share"], ["expand", null, "expand-alt"], ["compress", null, "compress-alt"], ["eye", "far", null], ["eye-slash", "far", null], ["warning", null, "exclamation-triangle"], ["calendar", null, "calendar-alt"], ["arrows-v", null, "arrows-alt-v"], ["arrows-h", null, "arrows-alt-h"], ["bar-chart", "far", "chart-bar"], ["bar-chart-o", "far", "chart-bar"], ["twitter-square", "fab", null], ["facebook-square", "fab", null], ["gears", null, "cogs"], ["thumbs-o-up", "far", "thumbs-up"], ["thumbs-o-down", "far", "thumbs-down"], ["heart-o", "far", "heart"], ["sign-out", null, "sign-out-alt"], ["linkedin-square", "fab", "linkedin"], ["thumb-tack", null, "thumbtack"], ["external-link", null, "external-link-alt"], ["sign-in", null, "sign-in-alt"], ["github-square", "fab", null], ["lemon-o", "far", "lemon"], ["square-o", "far", "square"], ["bookmark-o", "far", "bookmark"], ["twitter", "fab", null], ["facebook", "fab", "facebook-f"], ["facebook-f", "fab", "facebook-f"], ["github", "fab", null], ["credit-card", "far", null], ["feed", null, "rss"], ["hdd-o", "far", "hdd"], ["hand-o-right", "far", "hand-point-right"], ["hand-o-left", "far", "hand-point-left"], ["hand-o-up", "far", "hand-point-up"], ["hand-o-down", "far", "hand-point-down"], ["arrows-alt", null, "expand-arrows-alt"], ["group", null, "users"], ["chain", null, "link"], ["scissors", null, "cut"], ["files-o", "far", "copy"], ["floppy-o", "far", "save"], ["navicon", null, "bars"], ["reorder", null, "bars"], ["pinterest", "fab", null], ["pinterest-square", "fab", null], ["google-plus-square", "fab", null], ["google-plus", "fab", "google-plus-g"], ["money", "far", "money-bill-alt"], ["unsorted", null, "sort"], ["sort-desc", null, "sort-down"], ["sort-asc", null, "sort-up"], ["linkedin", "fab", "linkedin-in"], ["rotate-left", null, "undo"], ["legal", null, "gavel"], ["tachometer", null, "tachometer-alt"], ["dashboard", null, "tachometer-alt"], ["comment-o", "far", "comment"], ["comments-o", "far", "comments"], ["flash", null, "bolt"], ["clipboard", "far", null], ["paste", "far", "clipboard"], ["lightbulb-o", "far", "lightbulb"], ["exchange", null, "exchange-alt"], ["cloud-download", null, "cloud-download-alt"], ["cloud-upload", null, "cloud-upload-alt"], ["bell-o", "far", "bell"], ["cutlery", null, "utensils"], ["file-text-o", "far", "file-alt"], ["building-o", "far", "building"], ["hospital-o", "far", "hospital"], ["tablet", null, "tablet-alt"], ["mobile", null, "mobile-alt"], ["mobile-phone", null, "mobile-alt"], ["circle-o", "far", "circle"], ["mail-reply", null, "reply"], ["github-alt", "fab", null], ["folder-o", "far", "folder"], ["folder-open-o", "far", "folder-open"], ["smile-o", "far", "smile"], ["frown-o", "far", "frown"], ["meh-o", "far", "meh"], ["keyboard-o", "far", "keyboard"], ["flag-o", "far", "flag"], ["mail-reply-all", null, "reply-all"], ["star-half-o", "far", "star-half"], ["star-half-empty", "far", "star-half"], ["star-half-full", "far", "star-half"], ["code-fork", null, "code-branch"], ["chain-broken", null, "unlink"], ["shield", null, "shield-alt"], ["calendar-o", "far", "calendar"], ["maxcdn", "fab", null], ["html5", "fab", null], ["css3", "fab", null], ["ticket", null, "ticket-alt"], ["minus-square-o", "far", "minus-square"], ["level-up", null, "level-up-alt"], ["level-down", null, "level-down-alt"], ["pencil-square", null, "pen-square"], ["external-link-square", null, "external-link-square-alt"], ["compass", "far", null], ["caret-square-o-down", "far", "caret-square-down"], ["toggle-down", "far", "caret-square-down"], ["caret-square-o-up", "far", "caret-square-up"], ["toggle-up", "far", "caret-square-up"], ["caret-square-o-right", "far", "caret-square-right"], ["toggle-right", "far", "caret-square-right"], ["eur", null, "euro-sign"], ["euro", null, "euro-sign"], ["gbp", null, "pound-sign"], ["usd", null, "dollar-sign"], ["dollar", null, "dollar-sign"], ["inr", null, "rupee-sign"], ["rupee", null, "rupee-sign"], ["jpy", null, "yen-sign"], ["cny", null, "yen-sign"], ["rmb", null, "yen-sign"], ["yen", null, "yen-sign"], ["rub", null, "ruble-sign"], ["ruble", null, "ruble-sign"], ["rouble", null, "ruble-sign"], ["krw", null, "won-sign"], ["won", null, "won-sign"], ["btc", "fab", null], ["bitcoin", "fab", "btc"], ["file-text", null, "file-alt"], ["sort-alpha-asc", null, "sort-alpha-down"], ["sort-alpha-desc", null, "sort-alpha-down-alt"], ["sort-amount-asc", null, "sort-amount-down"], ["sort-amount-desc", null, "sort-amount-down-alt"], ["sort-numeric-asc", null, "sort-numeric-down"], ["sort-numeric-desc", null, "sort-numeric-down-alt"], ["youtube-square", "fab", null], ["youtube", "fab", null], ["xing", "fab", null], ["xing-square", "fab", null], ["youtube-play", "fab", "youtube"], ["dropbox", "fab", null], ["stack-overflow", "fab", null], ["instagram", "fab", null], ["flickr", "fab", null], ["adn", "fab", null], ["bitbucket", "fab", null], ["bitbucket-square", "fab", "bitbucket"], ["tumblr", "fab", null], ["tumblr-square", "fab", null], ["long-arrow-down", null, "long-arrow-alt-down"], ["long-arrow-up", null, "long-arrow-alt-up"], ["long-arrow-left", null, "long-arrow-alt-left"], ["long-arrow-right", null, "long-arrow-alt-right"], ["apple", "fab", null], ["windows", "fab", null], ["android", "fab", null], ["linux", "fab", null], ["dribbble", "fab", null], ["skype", "fab", null], ["foursquare", "fab", null], ["trello", "fab", null], ["gratipay", "fab", null], ["gittip", "fab", "gratipay"], ["sun-o", "far", "sun"], ["moon-o", "far", "moon"], ["vk", "fab", null], ["weibo", "fab", null], ["renren", "fab", null], ["pagelines", "fab", null], ["stack-exchange", "fab", null], ["arrow-circle-o-right", "far", "arrow-alt-circle-right"], ["arrow-circle-o-left", "far", "arrow-alt-circle-left"], ["caret-square-o-left", "far", "caret-square-left"], ["toggle-left", "far", "caret-square-left"], ["dot-circle-o", "far", "dot-circle"], ["vimeo-square", "fab", null], ["try", null, "lira-sign"], ["turkish-lira", null, "lira-sign"], ["plus-square-o", "far", "plus-square"], ["slack", "fab", null], ["wordpress", "fab", null], ["openid", "fab", null], ["institution", null, "university"], ["bank", null, "university"], ["mortar-board", null, "graduation-cap"], ["yahoo", "fab", null], ["google", "fab", null], ["reddit", "fab", null], ["reddit-square", "fab", null], ["stumbleupon-circle", "fab", null], ["stumbleupon", "fab", null], ["delicious", "fab", null], ["digg", "fab", null], ["pied-piper-pp", "fab", null], ["pied-piper-alt", "fab", null], ["drupal", "fab", null], ["joomla", "fab", null], ["spoon", null, "utensil-spoon"], ["behance", "fab", null], ["behance-square", "fab", null], ["steam", "fab", null], ["steam-square", "fab", null], ["automobile", null, "car"], ["envelope-o", "far", "envelope"], ["spotify", "fab", null], ["deviantart", "fab", null], ["soundcloud", "fab", null], ["file-pdf-o", "far", "file-pdf"], ["file-word-o", "far", "file-word"], ["file-excel-o", "far", "file-excel"], ["file-powerpoint-o", "far", "file-powerpoint"], ["file-image-o", "far", "file-image"], ["file-photo-o", "far", "file-image"], ["file-picture-o", "far", "file-image"], ["file-archive-o", "far", "file-archive"], ["file-zip-o", "far", "file-archive"], ["file-audio-o", "far", "file-audio"], ["file-sound-o", "far", "file-audio"], ["file-video-o", "far", "file-video"], ["file-movie-o", "far", "file-video"], ["file-code-o", "far", "file-code"], ["vine", "fab", null], ["codepen", "fab", null], ["jsfiddle", "fab", null], ["life-ring", "far", null], ["life-bouy", "far", "life-ring"], ["life-buoy", "far", "life-ring"], ["life-saver", "far", "life-ring"], ["support", "far", "life-ring"], ["circle-o-notch", null, "circle-notch"], ["rebel", "fab", null], ["ra", "fab", "rebel"], ["resistance", "fab", "rebel"], ["empire", "fab", null], ["ge", "fab", "empire"], ["git-square", "fab", null], ["git", "fab", null], ["hacker-news", "fab", null], ["y-combinator-square", "fab", "hacker-news"], ["yc-square", "fab", "hacker-news"], ["tencent-weibo", "fab", null], ["qq", "fab", null], ["weixin", "fab", null], ["wechat", "fab", "weixin"], ["send", null, "paper-plane"], ["paper-plane-o", "far", "paper-plane"], ["send-o", "far", "paper-plane"], ["circle-thin", "far", "circle"], ["header", null, "heading"], ["sliders", null, "sliders-h"], ["futbol-o", "far", "futbol"], ["soccer-ball-o", "far", "futbol"], ["slideshare", "fab", null], ["twitch", "fab", null], ["yelp", "fab", null], ["newspaper-o", "far", "newspaper"], ["paypal", "fab", null], ["google-wallet", "fab", null], ["cc-visa", "fab", null], ["cc-mastercard", "fab", null], ["cc-discover", "fab", null], ["cc-amex", "fab", null], ["cc-paypal", "fab", null], ["cc-stripe", "fab", null], ["bell-slash-o", "far", "bell-slash"], ["trash", null, "trash-alt"], ["copyright", "far", null], ["eyedropper", null, "eye-dropper"], ["area-chart", null, "chart-area"], ["pie-chart", null, "chart-pie"], ["line-chart", null, "chart-line"], ["lastfm", "fab", null], ["lastfm-square", "fab", null], ["ioxhost", "fab", null], ["angellist", "fab", null], ["cc", "far", "closed-captioning"], ["ils", null, "shekel-sign"], ["shekel", null, "shekel-sign"], ["sheqel", null, "shekel-sign"], ["meanpath", "fab", "font-awesome"], ["buysellads", "fab", null], ["connectdevelop", "fab", null], ["dashcube", "fab", null], ["forumbee", "fab", null], ["leanpub", "fab", null], ["sellsy", "fab", null], ["shirtsinbulk", "fab", null], ["simplybuilt", "fab", null], ["skyatlas", "fab", null], ["diamond", "far", "gem"], ["intersex", null, "transgender"], ["facebook-official", "fab", "facebook"], ["pinterest-p", "fab", null], ["whatsapp", "fab", null], ["hotel", null, "bed"], ["viacoin", "fab", null], ["medium", "fab", null], ["y-combinator", "fab", null], ["yc", "fab", "y-combinator"], ["optin-monster", "fab", null], ["opencart", "fab", null], ["expeditedssl", "fab", null], ["battery-4", null, "battery-full"], ["battery", null, "battery-full"], ["battery-3", null, "battery-three-quarters"], ["battery-2", null, "battery-half"], ["battery-1", null, "battery-quarter"], ["battery-0", null, "battery-empty"], ["object-group", "far", null], ["object-ungroup", "far", null], ["sticky-note-o", "far", "sticky-note"], ["cc-jcb", "fab", null], ["cc-diners-club", "fab", null], ["clone", "far", null], ["hourglass-o", "far", "hourglass"], ["hourglass-1", null, "hourglass-start"], ["hourglass-2", null, "hourglass-half"], ["hourglass-3", null, "hourglass-end"], ["hand-rock-o", "far", "hand-rock"], ["hand-grab-o", "far", "hand-rock"], ["hand-paper-o", "far", "hand-paper"], ["hand-stop-o", "far", "hand-paper"], ["hand-scissors-o", "far", "hand-scissors"], ["hand-lizard-o", "far", "hand-lizard"], ["hand-spock-o", "far", "hand-spock"], ["hand-pointer-o", "far", "hand-pointer"], ["hand-peace-o", "far", "hand-peace"], ["registered", "far", null], ["creative-commons", "fab", null], ["gg", "fab", null], ["gg-circle", "fab", null], ["tripadvisor", "fab", null], ["odnoklassniki", "fab", null], ["odnoklassniki-square", "fab", null], ["get-pocket", "fab", null], ["wikipedia-w", "fab", null], ["safari", "fab", null], ["chrome", "fab", null], ["firefox", "fab", null], ["opera", "fab", null], ["internet-explorer", "fab", null], ["television", null, "tv"], ["contao", "fab", null], ["500px", "fab", null], ["amazon", "fab", null], ["calendar-plus-o", "far", "calendar-plus"], ["calendar-minus-o", "far", "calendar-minus"], ["calendar-times-o", "far", "calendar-times"], ["calendar-check-o", "far", "calendar-check"], ["map-o", "far", "map"], ["commenting", null, "comment-dots"], ["commenting-o", "far", "comment-dots"], ["houzz", "fab", null], ["vimeo", "fab", "vimeo-v"], ["black-tie", "fab", null], ["fonticons", "fab", null], ["reddit-alien", "fab", null], ["edge", "fab", null], ["credit-card-alt", null, "credit-card"], ["codiepie", "fab", null], ["modx", "fab", null], ["fort-awesome", "fab", null], ["usb", "fab", null], ["product-hunt", "fab", null], ["mixcloud", "fab", null], ["scribd", "fab", null], ["pause-circle-o", "far", "pause-circle"], ["stop-circle-o", "far", "stop-circle"], ["bluetooth", "fab", null], ["bluetooth-b", "fab", null], ["gitlab", "fab", null], ["wpbeginner", "fab", null], ["wpforms", "fab", null], ["envira", "fab", null], ["wheelchair-alt", "fab", "accessible-icon"], ["question-circle-o", "far", "question-circle"], ["volume-control-phone", null, "phone-volume"], ["asl-interpreting", null, "american-sign-language-interpreting"], ["deafness", null, "deaf"], ["hard-of-hearing", null, "deaf"], ["glide", "fab", null], ["glide-g", "fab", null], ["signing", null, "sign-language"], ["viadeo", "fab", null], ["viadeo-square", "fab", null], ["snapchat", "fab", null], ["snapchat-ghost", "fab", null], ["snapchat-square", "fab", null], ["pied-piper", "fab", null], ["first-order", "fab", null], ["yoast", "fab", null], ["themeisle", "fab", null], ["google-plus-official", "fab", "google-plus"], ["google-plus-circle", "fab", "google-plus"], ["font-awesome", "fab", null], ["fa", "fab", "font-awesome"], ["handshake-o", "far", "handshake"], ["envelope-open-o", "far", "envelope-open"], ["linode", "fab", null], ["address-book-o", "far", "address-book"], ["vcard", null, "address-card"], ["address-card-o", "far", "address-card"], ["vcard-o", "far", "address-card"], ["user-circle-o", "far", "user-circle"], ["user-o", "far", "user"], ["id-badge", "far", null], ["drivers-license", null, "id-card"], ["id-card-o", "far", "id-card"], ["drivers-license-o", "far", "id-card"], ["quora", "fab", null], ["free-code-camp", "fab", null], ["telegram", "fab", null], ["thermometer-4", null, "thermometer-full"], ["thermometer", null, "thermometer-full"], ["thermometer-3", null, "thermometer-three-quarters"], ["thermometer-2", null, "thermometer-half"], ["thermometer-1", null, "thermometer-quarter"], ["thermometer-0", null, "thermometer-empty"], ["bathtub", null, "bath"], ["s15", null, "bath"], ["window-maximize", "far", null], ["window-restore", "far", null], ["times-rectangle", null, "window-close"], ["window-close-o", "far", "window-close"], ["times-rectangle-o", "far", "window-close"], ["bandcamp", "fab", null], ["grav", "fab", null], ["etsy", "fab", null], ["imdb", "fab", null], ["ravelry", "fab", null], ["eercast", "fab", "sellcast"], ["snowflake-o", "far", "snowflake"], ["superpowers", "fab", null], ["wpexplorer", "fab", null], ["cab", null, "taxi"] ]; return function(l) { try { l() } catch (l) { if (!t) throw l } }(function() { var l; "function" == typeof i.hooks.addShims ? i.hooks.addShims(s) : (l = i.shims).push.apply(l, s) }), s }, "object" == typeof exports && "undefined" != typeof module ? module.exports = a() : "function" == typeof define && define.amd ? define(a) : l["fontawesome-free-shims"] = a(); /*! * SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 * http://www.smartmenus.org/ * * Copyright Vasil Dinkov, Vadikom Web Ltd. * http://vadikom.com * * Licensed MIT */ (function(factory) { if (typeof define === 'function' && define.amd) { define(['jquery'], factory); } else if (typeof module === 'object' && typeof module.exports === 'object') { module.exports = factory(require('jquery')); } else { factory(jQuery); } }(function($) { var menuTrees = [], mouse = false, // optimize for touch by default - we will detect for mouse input touchEvents = 'ontouchstart' in window, // we use this just to choose between toucn and pointer events, not for touch screen detection mouseDetectionEnabled = false, requestAnimationFrame = window.requestAnimationFrame || function(callback) { return setTimeout(callback, 1000 / 60); }, cancelAnimationFrame = window.cancelAnimationFrame || function(id) { clearTimeout(id); }, canAnimate = !!$.fn.animate; function initMouseDetection(disable) { var eNS = '.smartmenus_mouse'; if (!mouseDetectionEnabled && !disable) { var firstTime = true, lastMove = null, events = { 'mousemove': function(e) { var thisMove = { x: e.pageX, y: e.pageY, timeStamp: new Date().getTime() }; if (lastMove) { var deltaX = Math.abs(lastMove.x - thisMove.x), deltaY = Math.abs(lastMove.y - thisMove.y); if ((deltaX > 0 || deltaY > 0) && deltaX <= 2 && deltaY <= 2 && thisMove.timeStamp - lastMove.timeStamp <= 300) { mouse = true; if (firstTime) { var $a = $(e.target).closest('a'); if ($a.is('a')) { $.each(menuTrees, function() { if ($.contains(this.$root[0], $a[0])) { this.itemEnter({ currentTarget: $a[0] }); return false; } }); } firstTime = false; } } } lastMove = thisMove; } }; events[touchEvents ? 'touchstart' : 'pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut'] = function(e) { if (isTouchEvent(e.originalEvent)) { mouse = false; } }; $(document).on(getEventsNS(events, eNS)); mouseDetectionEnabled = true; } else if (mouseDetectionEnabled && disable) { $(document).off(eNS); mouseDetectionEnabled = false; } } function isTouchEvent(e) { return !/^(4|mouse)$/.test(e.pointerType); } function getEventsNS(events, eNS) { if (!eNS) { eNS = ''; } var eventsNS = {}; for (var i in events) { eventsNS[i.split(' ').join(eNS + ' ') + eNS] = events[i]; } return eventsNS; } $.SmartMenus = function(elm, options) { this.$root = $(elm); this.opts = options; this.rootId = ''; // internal this.accessIdPrefix = ''; this.$subArrow = null; this.activatedItems = []; // stores last activated A's for each level this.visibleSubMenus = []; // stores visible sub menus UL's (might be in no particular order) this.showTimeout = 0; this.hideTimeout = 0; this.scrollTimeout = 0; this.clickActivated = false; this.focusActivated = false; this.zIndexInc = 0; this.idInc = 0; this.$firstLink = null; // we'll use these for some tests this.$firstSub = null; // at runtime so we'll cache them this.disabled = false; this.$disableOverlay = null; this.$touchScrollingSub = null; this.cssTransforms3d = 'perspective' in elm.style || 'webkitPerspective' in elm.style; this.wasCollapsible = false; this.init(); }; $.extend($.SmartMenus, { hideAll: function() { $.each(menuTrees, function() { this.menuHideAll(); }); }, destroy: function() { while (menuTrees.length) { menuTrees[0].destroy(); } initMouseDetection(true); }, prototype: { init: function(refresh) { var self = this; if (!refresh) { menuTrees.push(this); this.rootId = (new Date().getTime() + Math.random() + '').replace(/\D/g, ''); this.accessIdPrefix = 'sm-' + this.rootId + '-'; if (this.$root.hasClass('sm-rtl')) { this.opts.rightToLeftSubMenus = true; } var eNS = '.smartmenus'; this.$root .data('smartmenus', this) .attr('data-smartmenus-id', this.rootId) .dataSM('level', 1) .on(getEventsNS({ 'mouseover focusin': $.proxy(this.rootOver, this), 'mouseout focusout': $.proxy(this.rootOut, this), 'keydown': $.proxy(this.rootKeyDown, this) }, eNS)) .on(getEventsNS({ 'mouseenter': $.proxy(this.itemEnter, this), 'mouseleave': $.proxy(this.itemLeave, this), 'mousedown': $.proxy(this.itemDown, this), 'focus': $.proxy(this.itemFocus, this), 'blur': $.proxy(this.itemBlur, this), 'click': $.proxy(this.itemClick, this) }, eNS), 'a'); eNS += this.rootId; if (this.opts.hideOnClick) { $(document).on(getEventsNS({ 'touchstart': $.proxy(this.docTouchStart, this), 'touchmove': $.proxy(this.docTouchMove, this), 'touchend': $.proxy(this.docTouchEnd, this), 'click': $.proxy(this.docClick, this) }, eNS)); } $(window).on(getEventsNS({ 'resize orientationchange': $.proxy(this.winResize, this) }, eNS)); if (this.opts.subIndicators) { this.$subArrow = $('').addClass('sub-arrow'); if (this.opts.subIndicatorsText) { this.$subArrow.html(this.opts.subIndicatorsText); } } initMouseDetection(); } this.$firstSub = this.$root.find('ul').each(function() { self.menuInit($(this)); }).eq(0); this.$firstLink = this.$root.find('a').eq(0); if (this.opts.markCurrentItem) { var reDefaultDoc = /(index|default)\.[^#\?\/]*/i, reHash = /#.*/, locHref = window.location.href.replace(reDefaultDoc, ''), locHrefNoHash = locHref.replace(reHash, ''); this.$root.find('a').each(function() { var href = this.href.replace(reDefaultDoc, ''), $this = $(this); if (href == locHref || href == locHrefNoHash) { $this.addClass('current'); if (self.opts.markCurrentTree) { $this.parentsUntil('[data-smartmenus-id]', 'ul').each(function() { $(this).dataSM('parent-a').addClass('current'); }); } } }); } this.wasCollapsible = this.isCollapsible(); }, destroy: function(refresh) { if (!refresh) { var eNS = '.smartmenus'; this.$root .removeData('smartmenus') .removeAttr('data-smartmenus-id') .removeDataSM('level') .off(eNS); eNS += this.rootId; $(document).off(eNS); $(window).off(eNS); if (this.opts.subIndicators) { this.$subArrow = null; } } this.menuHideAll(); var self = this; this.$root.find('ul').each(function() { var $this = $(this); if ($this.dataSM('scroll-arrows')) { $this.dataSM('scroll-arrows').remove(); } if ($this.dataSM('shown-before')) { if (self.opts.subMenusMinWidth || self.opts.subMenusMaxWidth) { $this.css({ width: '', minWidth: '', maxWidth: '' }).removeClass('sm-nowrap'); } if ($this.dataSM('scroll-arrows')) { $this.dataSM('scroll-arrows').remove(); } $this.css({ zIndex: '', top: '', left: '', marginLeft: '', marginTop: '', display: '' }); } if (($this.attr('id') || '').indexOf(self.accessIdPrefix) == 0) { $this.removeAttr('id'); } }) .removeDataSM('in-mega') .removeDataSM('shown-before') .removeDataSM('scroll-arrows') .removeDataSM('parent-a') .removeDataSM('level') .removeDataSM('beforefirstshowfired') .removeAttr('role') .removeAttr('aria-hidden') .removeAttr('aria-labelledby') .removeAttr('aria-expanded'); this.$root.find('a.has-submenu').each(function() { var $this = $(this); if ($this.attr('id').indexOf(self.accessIdPrefix) == 0) { $this.removeAttr('id'); } }) .removeClass('has-submenu') .removeDataSM('sub') .removeAttr('aria-haspopup') .removeAttr('aria-controls') .removeAttr('aria-expanded') .closest('li').removeDataSM('sub'); if (this.opts.subIndicators) { this.$root.find('span.sub-arrow').remove(); } if (this.opts.markCurrentItem) { this.$root.find('a.current').removeClass('current'); } if (!refresh) { this.$root = null; this.$firstLink = null; this.$firstSub = null; if (this.$disableOverlay) { this.$disableOverlay.remove(); this.$disableOverlay = null; } menuTrees.splice($.inArray(this, menuTrees), 1); } }, disable: function(noOverlay) { if (!this.disabled) { this.menuHideAll(); if (!noOverlay && !this.opts.isPopup && this.$root.is(':visible')) { var pos = this.$root.offset(); this.$disableOverlay = $('
').css({ position: 'absolute', top: pos.top, left: pos.left, width: this.$root.outerWidth(), height: this.$root.outerHeight(), zIndex: this.getStartZIndex(true), opacity: 0 }).appendTo(document.body); } this.disabled = true; } }, docClick: function(e) { if (this.$touchScrollingSub) { this.$touchScrollingSub = null; return; } if (this.visibleSubMenus.length && !$.contains(this.$root[0], e.target) || $(e.target).closest('a').length) { this.menuHideAll(); } }, docTouchEnd: function(e) { if (!this.lastTouch) { return; } if (this.visibleSubMenus.length && (this.lastTouch.x2 === undefined || this.lastTouch.x1 == this.lastTouch.x2) && (this.lastTouch.y2 === undefined || this.lastTouch.y1 == this.lastTouch.y2) && (!this.lastTouch.target || !$.contains(this.$root[0], this.lastTouch.target))) { if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout = 0; } var self = this; this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, 350); } this.lastTouch = null; }, docTouchMove: function(e) { if (!this.lastTouch) { return; } var touchPoint = e.originalEvent.touches[0]; this.lastTouch.x2 = touchPoint.pageX; this.lastTouch.y2 = touchPoint.pageY; }, docTouchStart: function(e) { var touchPoint = e.originalEvent.touches[0]; this.lastTouch = { x1: touchPoint.pageX, y1: touchPoint.pageY, target: touchPoint.target }; }, enable: function() { if (this.disabled) { if (this.$disableOverlay) { this.$disableOverlay.remove(); this.$disableOverlay = null; } this.disabled = false; } }, getClosestMenu: function(elm) { var $closestMenu = $(elm).closest('ul'); while ($closestMenu.dataSM('in-mega')) { $closestMenu = $closestMenu.parent().closest('ul'); } return $closestMenu[0] || null; }, getHeight: function($elm) { return this.getOffset($elm, true); }, getOffset: function($elm, height) { var old; if ($elm.css('display') == 'none') { old = { position: $elm[0].style.position, visibility: $elm[0].style.visibility }; $elm.css({ position: 'absolute', visibility: 'hidden' }).show(); } var box = $elm[0].getBoundingClientRect && $elm[0].getBoundingClientRect(), val = box && (height ? box.height || box.bottom - box.top : box.width || box.right - box.left); if (!val && val !== 0) { val = height ? $elm[0].offsetHeight : $elm[0].offsetWidth; } if (old) { $elm.hide().css(old); } return val; }, getStartZIndex: function(root) { var zIndex = parseInt(this[root ? '$root' : '$firstSub'].css('z-index')); if (!root && isNaN(zIndex)) { zIndex = parseInt(this.$root.css('z-index')); } return !isNaN(zIndex) ? zIndex : 1; }, getTouchPoint: function(e) { return e.touches && e.touches[0] || e.changedTouches && e.changedTouches[0] || e; }, getViewport: function(height) { var name = height ? 'Height' : 'Width', val = document.documentElement['client' + name], val2 = window['inner' + name]; if (val2) { val = Math.min(val, val2); } return val; }, getViewportHeight: function() { return this.getViewport(true); }, getViewportWidth: function() { return this.getViewport(); }, getWidth: function($elm) { return this.getOffset($elm); }, handleEvents: function() { return !this.disabled && this.isCSSOn(); }, handleItemEvents: function($a) { return this.handleEvents() && !this.isLinkInMegaMenu($a); }, isCollapsible: function() { return this.$firstSub.css('position') == 'static'; }, isCSSOn: function() { return this.$firstLink.css('display') != 'inline'; }, isFixed: function() { var isFixed = this.$root.css('position') == 'fixed'; if (!isFixed) { this.$root.parentsUntil('body').each(function() { if ($(this).css('position') == 'fixed') { isFixed = true; return false; } }); } return isFixed; }, isLinkInMegaMenu: function($a) { return $(this.getClosestMenu($a[0])).hasClass('mega-menu'); }, isTouchMode: function() { return !mouse || this.opts.noMouseOver || this.isCollapsible(); }, itemActivate: function($a, hideDeeperSubs) { var $ul = $a.closest('ul'), level = $ul.dataSM('level'); if (level > 1 && (!this.activatedItems[level - 2] || this.activatedItems[level - 2][0] != $ul.dataSM('parent-a')[0])) { var self = this; $($ul.parentsUntil('[data-smartmenus-id]', 'ul').get().reverse()).add($ul).each(function() { self.itemActivate($(this).dataSM('parent-a')); }); } if (!this.isCollapsible() || hideDeeperSubs) { this.menuHideSubMenus(!this.activatedItems[level - 1] || this.activatedItems[level - 1][0] != $a[0] ? level - 1 : level); } this.activatedItems[level - 1] = $a; if (this.$root.triggerHandler('activate.smapi', $a[0]) === false) { return; } var $sub = $a.dataSM('sub'); if ($sub && (this.isTouchMode() || (!this.opts.showOnClick || this.clickActivated))) { this.menuShow($sub); } }, itemBlur: function(e) { var $a = $(e.currentTarget); if (!this.handleItemEvents($a)) { return; } this.$root.triggerHandler('blur.smapi', $a[0]); }, itemClick: function(e) { var $a = $(e.currentTarget); if (!this.handleItemEvents($a)) { return; } if (this.$touchScrollingSub && this.$touchScrollingSub[0] == $a.closest('ul')[0]) { this.$touchScrollingSub = null; e.stopPropagation(); return false; } if (this.$root.triggerHandler('click.smapi', $a[0]) === false) { return false; } var subArrowClicked = $(e.target).is('.sub-arrow'), $sub = $a.dataSM('sub'), firstLevelSub = $sub ? $sub.dataSM('level') == 2 : false, collapsible = this.isCollapsible(), behaviorToggle = /toggle$/.test(this.opts.collapsibleBehavior), behaviorLink = /link$/.test(this.opts.collapsibleBehavior), behaviorAccordion = /^accordion/.test(this.opts.collapsibleBehavior); if ($sub && !$sub.is(':visible')) { if (!behaviorLink || !collapsible || subArrowClicked) { if (this.opts.showOnClick && firstLevelSub) { this.clickActivated = true; } this.itemActivate($a, behaviorAccordion); if ($sub.is(':visible')) { this.focusActivated = true; return false; } } } else if (collapsible && (behaviorToggle || subArrowClicked)) { this.itemActivate($a, behaviorAccordion); this.menuHide($sub); if (behaviorToggle) { this.focusActivated = false; } return false; } if (this.opts.showOnClick && firstLevelSub || $a.hasClass('disabled') || this.$root.triggerHandler('select.smapi', $a[0]) === false) { return false; } }, itemDown: function(e) { var $a = $(e.currentTarget); if (!this.handleItemEvents($a)) { return; } $a.dataSM('mousedown', true); }, itemEnter: function(e) { var $a = $(e.currentTarget); if (!this.handleItemEvents($a)) { return; } if (!this.isTouchMode()) { if (this.showTimeout) { clearTimeout(this.showTimeout); this.showTimeout = 0; } var self = this; this.showTimeout = setTimeout(function() { self.itemActivate($a); }, this.opts.showOnClick && $a.closest('ul').dataSM('level') == 1 ? 1 : this.opts.showTimeout); } this.$root.triggerHandler('mouseenter.smapi', $a[0]); }, itemFocus: function(e) { var $a = $(e.currentTarget); if (!this.handleItemEvents($a)) { return; } if (this.focusActivated && (!this.isTouchMode() || !$a.dataSM('mousedown')) && (!this.activatedItems.length || this.activatedItems[this.activatedItems.length - 1][0] != $a[0])) { this.itemActivate($a, true); } this.$root.triggerHandler('focus.smapi', $a[0]); }, itemLeave: function(e) { var $a = $(e.currentTarget); if (!this.handleItemEvents($a)) { return; } if (!this.isTouchMode()) { $a[0].blur(); if (this.showTimeout) { clearTimeout(this.showTimeout); this.showTimeout = 0; } } $a.removeDataSM('mousedown'); this.$root.triggerHandler('mouseleave.smapi', $a[0]); }, menuHide: function($sub) { if (this.$root.triggerHandler('beforehide.smapi', $sub[0]) === false) { return; } if (canAnimate) { $sub.stop(true, true); } if ($sub.css('display') != 'none') { var complete = function() { $sub.css('z-index', ''); }; if (this.isCollapsible()) { if (canAnimate && this.opts.collapsibleHideFunction) { this.opts.collapsibleHideFunction.call(this, $sub, complete); } else { $sub.hide(this.opts.collapsibleHideDuration, complete); } } else { if (canAnimate && this.opts.hideFunction) { this.opts.hideFunction.call(this, $sub, complete); } else { $sub.hide(this.opts.hideDuration, complete); } } if ($sub.dataSM('scroll')) { this.menuScrollStop($sub); $sub.css({ 'touch-action': '', '-ms-touch-action': '', '-webkit-transform': '', transform: '' }) .off('.smartmenus_scroll').removeDataSM('scroll').dataSM('scroll-arrows').hide(); } $sub.dataSM('parent-a').removeClass('highlighted').attr('aria-expanded', 'false'); $sub.attr({ 'aria-expanded': 'false', 'aria-hidden': 'true' }); var level = $sub.dataSM('level'); this.activatedItems.splice(level - 1, 1); this.visibleSubMenus.splice($.inArray($sub, this.visibleSubMenus), 1); this.$root.triggerHandler('hide.smapi', $sub[0]); } }, menuHideAll: function() { if (this.showTimeout) { clearTimeout(this.showTimeout); this.showTimeout = 0; } var level = this.opts.isPopup ? 1 : 0; for (var i = this.visibleSubMenus.length - 1; i >= level; i--) { this.menuHide(this.visibleSubMenus[i]); } if (this.opts.isPopup) { if (canAnimate) { this.$root.stop(true, true); } if (this.$root.is(':visible')) { if (canAnimate && this.opts.hideFunction) { this.opts.hideFunction.call(this, this.$root); } else { this.$root.hide(this.opts.hideDuration); } } } this.activatedItems = []; this.visibleSubMenus = []; this.clickActivated = false; this.focusActivated = false; this.zIndexInc = 0; this.$root.triggerHandler('hideAll.smapi'); }, menuHideSubMenus: function(level) { for (var i = this.activatedItems.length - 1; i >= level; i--) { var $sub = this.activatedItems[i].dataSM('sub'); if ($sub) { this.menuHide($sub); } } }, menuInit: function($ul) { if (!$ul.dataSM('in-mega')) { if ($ul.hasClass('mega-menu')) { $ul.find('ul').dataSM('in-mega', true); } var level = 2, par = $ul[0]; while ((par = par.parentNode.parentNode) != this.$root[0]) { level++; } var $a = $ul.prevAll('a').eq(-1); if (!$a.length) { $a = $ul.prevAll().find('a').eq(-1); } $a.addClass('has-submenu').dataSM('sub', $ul); $ul.dataSM('parent-a', $a) .dataSM('level', level) .parent().dataSM('sub', $ul); var aId = $a.attr('id') || this.accessIdPrefix + (++this.idInc), ulId = $ul.attr('id') || this.accessIdPrefix + (++this.idInc); $a.attr({ id: aId, 'aria-haspopup': 'true', 'aria-controls': ulId, 'aria-expanded': 'false' }); $ul.attr({ id: ulId, 'role': 'group', 'aria-hidden': 'true', 'aria-labelledby': aId, 'aria-expanded': 'false' }); if (this.opts.subIndicators) { $a[this.opts.subIndicatorsPos](this.$subArrow.clone()); } } }, menuPosition: function($sub) { var $a = $sub.dataSM('parent-a'), $li = $a.closest('li'), $ul = $li.parent(), level = $sub.dataSM('level'), subW = this.getWidth($sub), subH = this.getHeight($sub), itemOffset = $a.offset(), itemX = itemOffset.left, itemY = itemOffset.top, itemW = this.getWidth($a), itemH = this.getHeight($a), $win = $(window), winX = $win.scrollLeft(), winY = $win.scrollTop(), winW = this.getViewportWidth(), winH = this.getViewportHeight(), horizontalParent = $ul.parent().is('[data-sm-horizontal-sub]') || level == 2 && !$ul.hasClass('sm-vertical'), rightToLeft = this.opts.rightToLeftSubMenus && !$li.is('[data-sm-reverse]') || !this.opts.rightToLeftSubMenus && $li.is('[data-sm-reverse]'), subOffsetX = level == 2 ? this.opts.mainMenuSubOffsetX : this.opts.subMenusSubOffsetX, subOffsetY = level == 2 ? this.opts.mainMenuSubOffsetY : this.opts.subMenusSubOffsetY, x, y; if (horizontalParent) { x = rightToLeft ? itemW - subW - subOffsetX : subOffsetX; y = this.opts.bottomToTopSubMenus ? -subH - subOffsetY : itemH + subOffsetY; } else { x = rightToLeft ? subOffsetX - subW : itemW - subOffsetX; y = this.opts.bottomToTopSubMenus ? itemH - subOffsetY - subH : subOffsetY; } if (this.opts.keepInViewport) { var absX = itemX + x, absY = itemY + y; if (rightToLeft && absX < winX) { x = horizontalParent ? winX - absX + x : itemW - subOffsetX; } else if (!rightToLeft && absX + subW > winX + winW) { x = horizontalParent ? winX + winW - subW - absX + x : subOffsetX - subW; } if (!horizontalParent) { if (subH < winH && absY + subH > winY + winH) { y += winY + winH - subH - absY; } else if (subH >= winH || absY < winY) { y += winY - absY; } } if (horizontalParent && (absY + subH > winY + winH + 0.49 || absY < winY) || !horizontalParent && subH > winH + 0.49) { var self = this; if (!$sub.dataSM('scroll-arrows')) { $sub.dataSM('scroll-arrows', $([$('')[0], $('')[0]]) .on({ mouseenter: function() { $sub.dataSM('scroll').up = $(this).hasClass('scroll-up'); self.menuScroll($sub); }, mouseleave: function(e) { self.menuScrollStop($sub); self.menuScrollOut($sub, e); }, 'mousewheel DOMMouseScroll': function(e) { e.preventDefault(); } }) .insertAfter($sub) ); } var eNS = '.smartmenus_scroll'; $sub.dataSM('scroll', { y: this.cssTransforms3d ? 0 : y - itemH, step: 1, itemH: itemH, subH: subH, arrowDownH: this.getHeight($sub.dataSM('scroll-arrows').eq(1)) }) .on(getEventsNS({ 'mouseover': function(e) { self.menuScrollOver($sub, e); }, 'mouseout': function(e) { self.menuScrollOut($sub, e); }, 'mousewheel DOMMouseScroll': function(e) { self.menuScrollMousewheel($sub, e); } }, eNS)) .dataSM('scroll-arrows').css({ top: 'auto', left: '0', marginLeft: x + (parseInt($sub.css('border-left-width')) || 0), width: subW - (parseInt($sub.css('border-left-width')) || 0) - (parseInt($sub.css('border-right-width')) || 0), zIndex: $sub.css('z-index') }) .eq(horizontalParent && this.opts.bottomToTopSubMenus ? 0 : 1).show(); if (this.isFixed()) { var events = {}; events[touchEvents ? 'touchstart touchmove touchend' : 'pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp'] = function(e) { self.menuScrollTouch($sub, e); }; $sub.css({ 'touch-action': 'none', '-ms-touch-action': 'none' }).on(getEventsNS(events, eNS)); } } } $sub.css({ top: 'auto', left: '0', marginLeft: x, marginTop: y - itemH }); }, menuScroll: function($sub, once, step) { var data = $sub.dataSM('scroll'), $arrows = $sub.dataSM('scroll-arrows'), end = data.up ? data.upEnd : data.downEnd, diff; if (!once && data.momentum) { data.momentum *= 0.92; diff = data.momentum; if (diff < 0.5) { this.menuScrollStop($sub); return; } } else { diff = step || (once || !this.opts.scrollAccelerate ? this.opts.scrollStep : Math.floor(data.step)); } var level = $sub.dataSM('level'); if (this.activatedItems[level - 1] && this.activatedItems[level - 1].dataSM('sub') && this.activatedItems[level - 1].dataSM('sub').is(':visible')) { this.menuHideSubMenus(level - 1); } data.y = data.up && end <= data.y || !data.up && end >= data.y ? data.y : (Math.abs(end - data.y) > diff ? data.y + (data.up ? diff : -diff) : end); $sub.css(this.cssTransforms3d ? { '-webkit-transform': 'translate3d(0, ' + data.y + 'px, 0)', transform: 'translate3d(0, ' + data.y + 'px, 0)' } : { marginTop: data.y }); if (mouse && (data.up && data.y > data.downEnd || !data.up && data.y < data.upEnd)) { $arrows.eq(data.up ? 1 : 0).show(); } if (data.y == end) { if (mouse) { $arrows.eq(data.up ? 0 : 1).hide(); } this.menuScrollStop($sub); } else if (!once) { if (this.opts.scrollAccelerate && data.step < this.opts.scrollStep) { data.step += 0.2; } var self = this; this.scrollTimeout = requestAnimationFrame(function() { self.menuScroll($sub); }); } }, menuScrollMousewheel: function($sub, e) { if (this.getClosestMenu(e.target) == $sub[0]) { e = e.originalEvent; var up = (e.wheelDelta || -e.detail) > 0; if ($sub.dataSM('scroll-arrows').eq(up ? 0 : 1).is(':visible')) { $sub.dataSM('scroll').up = up; this.menuScroll($sub, true); } } e.preventDefault(); }, menuScrollOut: function($sub, e) { if (mouse) { if (!/^scroll-(up|down)/.test((e.relatedTarget || '').className) && ($sub[0] != e.relatedTarget && !$.contains($sub[0], e.relatedTarget) || this.getClosestMenu(e.relatedTarget) != $sub[0])) { $sub.dataSM('scroll-arrows').css('visibility', 'hidden'); } } }, menuScrollOver: function($sub, e) { if (mouse) { if (!/^scroll-(up|down)/.test(e.target.className) && this.getClosestMenu(e.target) == $sub[0]) { this.menuScrollRefreshData($sub); var data = $sub.dataSM('scroll'), upEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH; $sub.dataSM('scroll-arrows').eq(0).css('margin-top', upEnd).end() .eq(1).css('margin-top', upEnd + this.getViewportHeight() - data.arrowDownH).end() .css('visibility', 'visible'); } } }, menuScrollRefreshData: function($sub) { var data = $sub.dataSM('scroll'), upEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH; if (this.cssTransforms3d) { upEnd = -(parseFloat($sub.css('margin-top')) - upEnd); } $.extend(data, { upEnd: upEnd, downEnd: upEnd + this.getViewportHeight() - data.subH }); }, menuScrollStop: function($sub) { if (this.scrollTimeout) { cancelAnimationFrame(this.scrollTimeout); this.scrollTimeout = 0; $sub.dataSM('scroll').step = 1; return true; } }, menuScrollTouch: function($sub, e) { e = e.originalEvent; if (isTouchEvent(e)) { var touchPoint = this.getTouchPoint(e); if (this.getClosestMenu(touchPoint.target) == $sub[0]) { var data = $sub.dataSM('scroll'); if (/(start|down)$/i.test(e.type)) { if (this.menuScrollStop($sub)) { e.preventDefault(); this.$touchScrollingSub = $sub; } else { this.$touchScrollingSub = null; } this.menuScrollRefreshData($sub); $.extend(data, { touchStartY: touchPoint.pageY, touchStartTime: e.timeStamp }); } else if (/move$/i.test(e.type)) { var prevY = data.touchY !== undefined ? data.touchY : data.touchStartY; if (prevY !== undefined && prevY != touchPoint.pageY) { this.$touchScrollingSub = $sub; var up = prevY < touchPoint.pageY; if (data.up !== undefined && data.up != up) { $.extend(data, { touchStartY: touchPoint.pageY, touchStartTime: e.timeStamp }); } $.extend(data, { up: up, touchY: touchPoint.pageY }); this.menuScroll($sub, true, Math.abs(touchPoint.pageY - prevY)); } e.preventDefault(); } else { // touchend/pointerup if (data.touchY !== undefined) { if (data.momentum = Math.pow(Math.abs(touchPoint.pageY - data.touchStartY) / (e.timeStamp - data.touchStartTime), 2) * 15) { this.menuScrollStop($sub); this.menuScroll($sub); e.preventDefault(); } delete data.touchY; } } } } }, menuShow: function($sub) { if (!$sub.dataSM('beforefirstshowfired')) { $sub.dataSM('beforefirstshowfired', true); if (this.$root.triggerHandler('beforefirstshow.smapi', $sub[0]) === false) { return; } } if (this.$root.triggerHandler('beforeshow.smapi', $sub[0]) === false) { return; } $sub.dataSM('shown-before', true); if (canAnimate) { $sub.stop(true, true); } if (!$sub.is(':visible')) { var $a = $sub.dataSM('parent-a'), collapsible = this.isCollapsible(); if (this.opts.keepHighlighted || collapsible) { $a.addClass('highlighted'); } if (collapsible) { $sub.removeClass('sm-nowrap').css({ zIndex: '', width: 'auto', minWidth: '', maxWidth: '', top: '', left: '', marginLeft: '', marginTop: '' }); } else { $sub.css('z-index', this.zIndexInc = (this.zIndexInc || this.getStartZIndex()) + 1); if (this.opts.subMenusMinWidth || this.opts.subMenusMaxWidth) { $sub.css({ width: 'auto', minWidth: '', maxWidth: '' }).addClass('sm-nowrap'); if (this.opts.subMenusMinWidth) { $sub.css('min-width', this.opts.subMenusMinWidth); } if (this.opts.subMenusMaxWidth) { var noMaxWidth = this.getWidth($sub); $sub.css('max-width', this.opts.subMenusMaxWidth); if (noMaxWidth > this.getWidth($sub)) { $sub.removeClass('sm-nowrap').css('width', this.opts.subMenusMaxWidth); } } } this.menuPosition($sub); } var complete = function() { $sub.css('overflow', ''); }; if (collapsible) { if (canAnimate && this.opts.collapsibleShowFunction) { this.opts.collapsibleShowFunction.call(this, $sub, complete); } else { $sub.show(this.opts.collapsibleShowDuration, complete); } } else { if (canAnimate && this.opts.showFunction) { this.opts.showFunction.call(this, $sub, complete); } else { $sub.show(this.opts.showDuration, complete); } } $a.attr('aria-expanded', 'true'); $sub.attr({ 'aria-expanded': 'true', 'aria-hidden': 'false' }); this.visibleSubMenus.push($sub); this.$root.triggerHandler('show.smapi', $sub[0]); } }, popupHide: function(noHideTimeout) { if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout = 0; } var self = this; this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, noHideTimeout ? 1 : this.opts.hideTimeout); }, popupShow: function(left, top) { if (!this.opts.isPopup) { alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'); return; } if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout = 0; } this.$root.dataSM('shown-before', true); if (canAnimate) { this.$root.stop(true, true); } if (!this.$root.is(':visible')) { this.$root.css({ left: left, top: top }); var self = this, complete = function() { self.$root.css('overflow', ''); }; if (canAnimate && this.opts.showFunction) { this.opts.showFunction.call(this, this.$root, complete); } else { this.$root.show(this.opts.showDuration, complete); } this.visibleSubMenus[0] = this.$root; } }, refresh: function() { this.destroy(true); this.init(true); }, rootKeyDown: function(e) { if (!this.handleEvents()) { return; } switch (e.keyCode) { case 27: // reset on Esc var $activeTopItem = this.activatedItems[0]; if ($activeTopItem) { this.menuHideAll(); $activeTopItem[0].focus(); var $sub = $activeTopItem.dataSM('sub'); if ($sub) { this.menuHide($sub); } } break; case 32: // activate item's sub on Space var $target = $(e.target); if ($target.is('a') && this.handleItemEvents($target)) { var $sub = $target.dataSM('sub'); if ($sub && !$sub.is(':visible')) { this.itemClick({ currentTarget: e.target }); e.preventDefault(); } } break; } }, rootOut: function(e) { if (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) { return; } if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout = 0; } if (!this.opts.showOnClick || !this.opts.hideOnClick) { var self = this; this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, this.opts.hideTimeout); } }, rootOver: function(e) { if (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) { return; } if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout = 0; } }, winResize: function(e) { if (!this.handleEvents()) { if (this.$disableOverlay) { var pos = this.$root.offset(); this.$disableOverlay.css({ top: pos.top, left: pos.left, width: this.$root.outerWidth(), height: this.$root.outerHeight() }); } return; } if (!('onorientationchange' in window) || e.type == 'orientationchange') { var collapsible = this.isCollapsible(); if (!(this.wasCollapsible && collapsible)) { if (this.activatedItems.length) { this.activatedItems[this.activatedItems.length - 1][0].blur(); } this.menuHideAll(); } this.wasCollapsible = collapsible; } } } }); $.fn.dataSM = function(key, val) { if (val) { return this.data(key + '_smartmenus', val); } return this.data(key + '_smartmenus'); }; $.fn.removeDataSM = function(key) { return this.removeData(key + '_smartmenus'); }; $.fn.smartmenus = function(options) { if (typeof options == 'string') { var args = arguments, method = options; Array.prototype.shift.call(args); return this.each(function() { var smartmenus = $(this).data('smartmenus'); if (smartmenus && smartmenus[method]) { smartmenus[method].apply(smartmenus, args); } }); } return this.each(function() { var dataOpts = $(this).data('sm-options') || null; if (dataOpts) { try { dataOpts = eval('(' + dataOpts + ')'); } catch (e) { dataOpts = null; alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.'); }; } new $.SmartMenus(this, $.extend({}, $.fn.smartmenus.defaults, options, dataOpts)); }); }; $.fn.smartmenus.defaults = { isPopup: false, // is this a popup menu (can be shown via the popupShow/popupHide methods) or a permanent menu bar mainMenuSubOffsetX: 0, // pixels offset from default position mainMenuSubOffsetY: 0, // pixels offset from default position subMenusSubOffsetX: 0, // pixels offset from default position subMenusSubOffsetY: 0, // pixels offset from default position subMenusMinWidth: '10em', // min-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored subMenusMaxWidth: '20em', // max-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored subIndicators: true, // create sub menu indicators - creates a SPAN and inserts it in the A subIndicatorsPos: 'append', // position of the SPAN relative to the menu item content ('append', 'prepend') subIndicatorsText: '', // [optionally] add text in the SPAN (e.g. '+') (you may want to check the CSS for the sub indicators too) scrollStep: 30, // pixels step when scrolling long sub menus that do not fit in the viewport height scrollAccelerate: true, // accelerate scrolling or use a fixed step showTimeout: 250, // timeout before showing the sub menus hideTimeout: 500, // timeout before hiding the sub menus showDuration: 0, // duration for show animation - set to 0 for no animation - matters only if showFunction:null showFunction: null, // custom function to use when showing a sub menu (the default is the jQuery 'show') hideDuration: 0, // duration for hide animation - set to 0 for no animation - matters only if hideFunction:null hideFunction: function($ul, complete) { $ul.fadeOut(200, complete); }, // custom function to use when hiding a sub menu (the default is the jQuery 'hide') collapsibleShowDuration: 0, // duration for show animation for collapsible sub menus - matters only if collapsibleShowFunction:null collapsibleShowFunction: function($ul, complete) { $ul.slideDown(200, complete); }, // custom function to use when showing a collapsible sub menu collapsibleHideDuration: 0, // duration for hide animation for collapsible sub menus - matters only if collapsibleHideFunction:null collapsibleHideFunction: function($ul, complete) { $ul.slideUp(200, complete); }, // custom function to use when hiding a collapsible sub menu showOnClick: false, // show the first-level sub menus onclick instead of onmouseover (i.e. mimic desktop app menus) (matters only for mouse input) hideOnClick: true, // hide the sub menus on click/tap anywhere on the page noMouseOver: false, // disable sub menus activation onmouseover (i.e. behave like in touch mode - use just mouse clicks) (matters only for mouse input) keepInViewport: true, // reposition the sub menus if needed to make sure they always appear inside the viewport keepHighlighted: true, // keep all ancestor items of the current sub menu highlighted (adds the 'highlighted' class to the A's) markCurrentItem: false, // automatically add the 'current' class to the A element of the item linking to the current URL markCurrentTree: true, // add the 'current' class also to the A elements of all ancestor items of the current item rightToLeftSubMenus: false, // right to left display of the sub menus (check the CSS for the sub indicators' position) bottomToTopSubMenus: false, // bottom to top display of the sub menus collapsibleBehavior: 'default' // parent items behavior in collapsible (mobile) view ('default', 'toggle', 'link', 'accordion', 'accordion-toggle', 'accordion-link') }; return $; })); /*! Magnific Popup - v1.1.0 - 2016-02-20 * http://dimsemenov.com/plugins/magnific-popup/ * Copyright (c) 2016 Dmitry Semenov; */ ! function(a) { "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : window.jQuery || window.Zepto) }(function(a) { var b, c, d, e, f, g, h = "Close", i = "BeforeClose", j = "AfterClose", k = "BeforeAppend", l = "MarkupParse", m = "Open", n = "Change", o = "mfp", p = "." + o, q = "mfp-ready", r = "mfp-removing", s = "mfp-prevent-close", t = function() {}, u = !!window.jQuery, v = a(window), w = function(a, c) { b.ev.on(o + a + p, c) }, x = function(b, c, d, e) { var f = document.createElement("div"); return f.className = "mfp-" + b, d && (f.innerHTML = d), e ? c && c.appendChild(f) : (f = a(f), c && f.appendTo(c)), f }, y = function(c, d) { b.ev.triggerHandler(o + c, d), b.st.callbacks && (c = c.charAt(0).toLowerCase() + c.slice(1), b.st.callbacks[c] && b.st.callbacks[c].apply(b, a.isArray(d) ? d : [d])) }, z = function(c) { return c === g && b.currTemplate.closeBtn || (b.currTemplate.closeBtn = a(b.st.closeMarkup.replace("%title%", b.st.tClose)), g = c), b.currTemplate.closeBtn }, A = function() { a.magnificPopup.instance || (b = new t, b.init(), a.magnificPopup.instance = b) }, B = function() { var a = document.createElement("p").style, b = ["ms", "O", "Moz", "Webkit"]; if (void 0 !== a.transition) return !0; for (; b.length;) if (b.pop() + "Transition" in a) return !0; return !1 }; t.prototype = { constructor: t, init: function() { var c = navigator.appVersion; b.isLowIE = b.isIE8 = document.all && !document.addEventListener, b.isAndroid = /android/gi.test(c), b.isIOS = /iphone|ipad|ipod/gi.test(c), b.supportsTransition = B(), b.probablyMobile = b.isAndroid || b.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), d = a(document), b.popupsCache = {} }, open: function(c) { var e; if (c.isObj === !1) { b.items = c.items.toArray(), b.index = 0; var g, h = c.items; for (e = 0; e < h.length; e++) if (g = h[e], g.parsed && (g = g.el[0]), g === c.el[0]) { b.index = e; break } } else b.items = a.isArray(c.items) ? c.items : [c.items], b.index = c.index || 0; if (b.isOpen) return void b.updateItemHTML(); b.types = [], f = "", c.mainEl && c.mainEl.length ? b.ev = c.mainEl.eq(0) : b.ev = d, c.key ? (b.popupsCache[c.key] || (b.popupsCache[c.key] = {}), b.currTemplate = b.popupsCache[c.key]) : b.currTemplate = {}, b.st = a.extend(!0, {}, a.magnificPopup.defaults, c), b.fixedContentPos = "auto" === b.st.fixedContentPos ? !b.probablyMobile : b.st.fixedContentPos, b.st.modal && (b.st.closeOnContentClick = !1, b.st.closeOnBgClick = !1, b.st.showCloseBtn = !1, b.st.enableEscapeKey = !1), b.bgOverlay || (b.bgOverlay = x("bg").on("click" + p, function() { b.close() }), b.wrap = x("wrap").attr("tabindex", -1).on("click" + p, function(a) { b._checkIfClose(a.target) && b.close() }), b.container = x("container", b.wrap)), b.contentContainer = x("content"), b.st.preloader && (b.preloader = x("preloader", b.container, b.st.tLoading)); var i = a.magnificPopup.modules; for (e = 0; e < i.length; e++) { var j = i[e]; j = j.charAt(0).toUpperCase() + j.slice(1), b["init" + j].call(b) } y("BeforeOpen"), b.st.showCloseBtn && (b.st.closeBtnInside ? (w(l, function(a, b, c, d) { c.close_replaceWith = z(d.type) }), f += " mfp-close-btn-in") : b.wrap.append(z())), b.st.alignTop && (f += " mfp-align-top"), b.fixedContentPos ? b.wrap.css({ overflow: b.st.overflowY, overflowX: "hidden", overflowY: b.st.overflowY }) : b.wrap.css({ top: v.scrollTop(), position: "absolute" }), (b.st.fixedBgPos === !1 || "auto" === b.st.fixedBgPos && !b.fixedContentPos) && b.bgOverlay.css({ height: d.height(), position: "absolute" }), b.st.enableEscapeKey && d.on("keyup" + p, function(a) { 27 === a.keyCode && b.close() }), v.on("resize" + p, function() { b.updateSize() }), b.st.closeOnContentClick || (f += " mfp-auto-cursor"), f && b.wrap.addClass(f); var k = b.wH = v.height(), n = {}; if (b.fixedContentPos && b._hasScrollBar(k)) { var o = b._getScrollbarSize(); o && (n.marginRight = o) } b.fixedContentPos && (b.isIE7 ? a("body, html").css("overflow", "hidden") : n.overflow = "hidden"); var r = b.st.mainClass; return b.isIE7 && (r += " mfp-ie7"), r && b._addClassToMFP(r), b.updateItemHTML(), y("BuildControls"), a("html").css(n), b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo || a(document.body)), b._lastFocusedEl = document.activeElement, setTimeout(function() { b.content ? (b._addClassToMFP(q), b._setFocus()) : b.bgOverlay.addClass(q), d.on("focusin" + p, b._onFocusIn) }, 16), b.isOpen = !0, b.updateSize(k), y(m), c }, close: function() { b.isOpen && (y(i), b.isOpen = !1, b.st.removalDelay && !b.isLowIE && b.supportsTransition ? (b._addClassToMFP(r), setTimeout(function() { b._close() }, b.st.removalDelay)) : b._close()) }, _close: function() { y(h); var c = r + " " + q + " "; if (b.bgOverlay.detach(), b.wrap.detach(), b.container.empty(), b.st.mainClass && (c += b.st.mainClass + " "), b._removeClassFromMFP(c), b.fixedContentPos) { var e = { marginRight: "" }; b.isIE7 ? a("body, html").css("overflow", "") : e.overflow = "", a("html").css(e) } d.off("keyup" + p + " focusin" + p), b.ev.off(p), b.wrap.attr("class", "mfp-wrap").removeAttr("style"), b.bgOverlay.attr("class", "mfp-bg"), b.container.attr("class", "mfp-container"), !b.st.showCloseBtn || b.st.closeBtnInside && b.currTemplate[b.currItem.type] !== !0 || b.currTemplate.closeBtn && b.currTemplate.closeBtn.detach(), b.st.autoFocusLast && b._lastFocusedEl && a(b._lastFocusedEl).focus(), b.currItem = null, b.content = null, b.currTemplate = null, b.prevHeight = 0, y(j) }, updateSize: function(a) { if (b.isIOS) { var c = document.documentElement.clientWidth / window.innerWidth, d = window.innerHeight * c; b.wrap.css("height", d), b.wH = d } else b.wH = a || v.height(); b.fixedContentPos || b.wrap.css("height", b.wH), y("Resize") }, updateItemHTML: function() { var c = b.items[b.index]; b.contentContainer.detach(), b.content && b.content.detach(), c.parsed || (c = b.parseEl(b.index)); var d = c.type; if (y("BeforeChange", [b.currItem ? b.currItem.type : "", d]), b.currItem = c, !b.currTemplate[d]) { var f = b.st[d] ? b.st[d].markup : !1; y("FirstMarkupParse", f), f ? b.currTemplate[d] = a(f) : b.currTemplate[d] = !0 } e && e !== c.type && b.container.removeClass("mfp-" + e + "-holder"); var g = b["get" + d.charAt(0).toUpperCase() + d.slice(1)](c, b.currTemplate[d]); b.appendContent(g, d), c.preloaded = !0, y(n, c), e = c.type, b.container.prepend(b.contentContainer), y("AfterChange") }, appendContent: function(a, c) { b.content = a, a ? b.st.showCloseBtn && b.st.closeBtnInside && b.currTemplate[c] === !0 ? b.content.find(".mfp-close").length || b.content.append(z()) : b.content = a : b.content = "", y(k), b.container.addClass("mfp-" + c + "-holder"), b.contentContainer.append(b.content) }, parseEl: function(c) { var d, e = b.items[c]; if (e.tagName ? e = { el: a(e) } : (d = e.type, e = { data: e, src: e.src }), e.el) { for (var f = b.types, g = 0; g < f.length; g++) if (e.el.hasClass("mfp-" + f[g])) { d = f[g]; break } e.src = e.el.attr("data-mfp-src"), e.src || (e.src = e.el.attr("href")) } return e.type = d || b.st.type || "inline", e.index = c, e.parsed = !0, b.items[c] = e, y("ElementParse", e), b.items[c] }, addGroup: function(a, c) { var d = function(d) { d.mfpEl = this, b._openClick(d, a, c) }; c || (c = {}); var e = "click.magnificPopup"; c.mainEl = a, c.items ? (c.isObj = !0, a.off(e).on(e, d)) : (c.isObj = !1, c.delegate ? a.off(e).on(e, c.delegate, d) : (c.items = a, a.off(e).on(e, d))) }, _openClick: function(c, d, e) { var f = void 0 !== e.midClick ? e.midClick : a.magnificPopup.defaults.midClick; if (f || !(2 === c.which || c.ctrlKey || c.metaKey || c.altKey || c.shiftKey)) { var g = void 0 !== e.disableOn ? e.disableOn : a.magnificPopup.defaults.disableOn; if (g) if (a.isFunction(g)) { if (!g.call(b)) return !0 } else if (v.width() < g) return !0; c.type && (c.preventDefault(), b.isOpen && c.stopPropagation()), e.el = a(c.mfpEl), e.delegate && (e.items = d.find(e.delegate)), b.open(e) } }, updateStatus: function(a, d) { if (b.preloader) { c !== a && b.container.removeClass("mfp-s-" + c), d || "loading" !== a || (d = b.st.tLoading); var e = { status: a, text: d }; y("UpdateStatus", e), a = e.status, d = e.text, b.preloader.html(d), b.preloader.find("a").on("click", function(a) { a.stopImmediatePropagation() }), b.container.addClass("mfp-s-" + a), c = a } }, _checkIfClose: function(c) { if (!a(c).hasClass(s)) { var d = b.st.closeOnContentClick, e = b.st.closeOnBgClick; if (d && e) return !0; if (!b.content || a(c).hasClass("mfp-close") || b.preloader && c === b.preloader[0]) return !0; if (c === b.content[0] || a.contains(b.content[0], c)) { if (d) return !0 } else if (e && a.contains(document, c)) return !0; return !1 } }, _addClassToMFP: function(a) { b.bgOverlay.addClass(a), b.wrap.addClass(a) }, _removeClassFromMFP: function(a) { this.bgOverlay.removeClass(a), b.wrap.removeClass(a) }, _hasScrollBar: function(a) { return (b.isIE7 ? d.height() : document.body.scrollHeight) > (a || v.height()) }, _setFocus: function() { (b.st.focus ? b.content.find(b.st.focus).eq(0) : b.wrap).focus() }, _onFocusIn: function(c) { return c.target === b.wrap[0] || a.contains(b.wrap[0], c.target) ? void 0 : (b._setFocus(), !1) }, _parseMarkup: function(b, c, d) { var e; d.data && (c = a.extend(d.data, c)), y(l, [b, c, d]), a.each(c, function(c, d) { if (void 0 === d || d === !1) return !0; if (e = c.split("_"), e.length > 1) { var f = b.find(p + "-" + e[0]); if (f.length > 0) { var g = e[1]; "replaceWith" === g ? f[0] !== d[0] && f.replaceWith(d) : "img" === g ? f.is("img") ? f.attr("src", d) : f.replaceWith(a("").attr("src", d).attr("class", f.attr("class"))) : f.attr(e[1], d) } } else b.find(p + "-" + c).html(d) }) }, _getScrollbarSize: function() { if (void 0 === b.scrollbarSize) { var a = document.createElement("div"); a.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(a), b.scrollbarSize = a.offsetWidth - a.clientWidth, document.body.removeChild(a) } return b.scrollbarSize } }, a.magnificPopup = { instance: null, proto: t.prototype, modules: [], open: function(b, c) { return A(), b = b ? a.extend(!0, {}, b) : {}, b.isObj = !0, b.index = c || 0, this.instance.open(b) }, close: function() { return a.magnificPopup.instance && a.magnificPopup.instance.close() }, registerModule: function(b, c) { c.options && (a.magnificPopup.defaults[b] = c.options), a.extend(this.proto, c.proto), this.modules.push(b) }, defaults: { disableOn: 0, key: null, midClick: !1, mainClass: "", preloader: !0, focus: "", closeOnContentClick: !1, closeOnBgClick: !0, closeBtnInside: !0, showCloseBtn: !0, enableEscapeKey: !0, modal: !1, alignTop: !1, removalDelay: 0, prependTo: null, fixedContentPos: "auto", fixedBgPos: "auto", overflowY: "auto", closeMarkup: '', tClose: "Close (Esc)", tLoading: "Loading...", autoFocusLast: !0 } }, a.fn.magnificPopup = function(c) { A(); var d = a(this); if ("string" == typeof c) if ("open" === c) { var e, f = u ? d.data("magnificPopup") : d[0].magnificPopup, g = parseInt(arguments[1], 10) || 0; f.items ? e = f.items[g] : (e = d, f.delegate && (e = e.find(f.delegate)), e = e.eq(g)), b._openClick({ mfpEl: e }, d, f) } else b.isOpen && b[c].apply(b, Array.prototype.slice.call(arguments, 1)); else c = a.extend(!0, {}, c), u ? d.data("magnificPopup", c) : d[0].magnificPopup = c, b.addGroup(d, c); return d }; var C, D, E, F = "inline", G = function() { E && (D.after(E.addClass(C)).detach(), E = null) }; a.magnificPopup.registerModule(F, { options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, proto: { initInline: function() { b.types.push(F), w(h + "." + F, function() { G() }) }, getInline: function(c, d) { if (G(), c.src) { var e = b.st.inline, f = a(c.src); if (f.length) { var g = f[0].parentNode; g && g.tagName && (D || (C = e.hiddenClass, D = x(C), C = "mfp-" + C), E = f.after(D).detach().removeClass(C)), b.updateStatus("ready") } else b.updateStatus("error", e.tNotFound), f = a("
"); return c.inlineElement = f, f } return b.updateStatus("ready"), b._parseMarkup(d, {}, c), d } } }); var H, I = "ajax", J = function() { H && a(document.body).removeClass(H) }, K = function() { J(), b.req && b.req.abort() }; a.magnificPopup.registerModule(I, { options: { settings: null, cursor: "mfp-ajax-cur", tError: 'The content could not be loaded.' }, proto: { initAjax: function() { b.types.push(I), H = b.st.ajax.cursor, w(h + "." + I, K), w("BeforeChange." + I, K) }, getAjax: function(c) { H && a(document.body).addClass(H), b.updateStatus("loading"); var d = a.extend({ url: c.src, success: function(d, e, f) { var g = { data: d, xhr: f }; y("ParseAjax", g), b.appendContent(a(g.data), I), c.finished = !0, J(), b._setFocus(), setTimeout(function() { b.wrap.addClass(q) }, 16), b.updateStatus("ready"), y("AjaxContentAdded") }, error: function() { J(), c.finished = c.loadError = !0, b.updateStatus("error", b.st.ajax.tError.replace("%url%", c.src)) } }, b.st.ajax.settings); return b.req = a.ajax(d), "" } } }); var L, M = function(c) { if (c.data && void 0 !== c.data.title) return c.data.title; var d = b.st.image.titleSrc; if (d) { if (a.isFunction(d)) return d.call(b, c); if (c.el) return c.el.attr(d) || "" } return "" }; a.magnificPopup.registerModule("image", { options: { markup: '
', cursor: "mfp-zoom-out-cur", titleSrc: "title", verticalFit: !0, tError: 'The image could not be loaded.' }, proto: { initImage: function() { var c = b.st.image, d = ".image"; b.types.push("image"), w(m + d, function() { "image" === b.currItem.type && c.cursor && a(document.body).addClass(c.cursor) }), w(h + d, function() { c.cursor && a(document.body).removeClass(c.cursor), v.off("resize" + p) }), w("Resize" + d, b.resizeImage), b.isLowIE && w("AfterChange", b.resizeImage) }, resizeImage: function() { var a = b.currItem; if (a && a.img && b.st.image.verticalFit) { var c = 0; b.isLowIE && (c = parseInt(a.img.css("padding-top"), 10) + parseInt(a.img.css("padding-bottom"), 10)), a.img.css("max-height", b.wH - c) } }, _onImageHasSize: function(a) { a.img && (a.hasSize = !0, L && clearInterval(L), a.isCheckingImgSize = !1, y("ImageHasSize", a), a.imgHidden && (b.content && b.content.removeClass("mfp-loading"), a.imgHidden = !1)) }, findImageSize: function(a) { var c = 0, d = a.img[0], e = function(f) { L && clearInterval(L), L = setInterval(function() { return d.naturalWidth > 0 ? void b._onImageHasSize(a) : (c > 200 && clearInterval(L), c++, void(3 === c ? e(10) : 40 === c ? e(50) : 100 === c && e(500))) }, f) }; e(1) }, getImage: function(c, d) { var e = 0, f = function() { c && (c.img[0].complete ? (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("ready")), c.hasSize = !0, c.loaded = !0, y("ImageLoadComplete")) : (e++, 200 > e ? setTimeout(f, 100) : g())) }, g = function() { c && (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("error", h.tError.replace("%url%", c.src))), c.hasSize = !0, c.loaded = !0, c.loadError = !0) }, h = b.st.image, i = d.find(".mfp-img"); if (i.length) { var j = document.createElement("img"); j.className = "mfp-img", c.el && c.el.find("img").length && (j.alt = c.el.find("img").attr("alt")), c.img = a(j).on("load.mfploader", f).on("error.mfploader", g), j.src = c.src, i.is("img") && (c.img = c.img.clone()), j = c.img[0], j.naturalWidth > 0 ? c.hasSize = !0 : j.width || (c.hasSize = !1) } return b._parseMarkup(d, { title: M(c), img_replaceWith: c.img }, c), b.resizeImage(), c.hasSize ? (L && clearInterval(L), c.loadError ? (d.addClass("mfp-loading"), b.updateStatus("error", h.tError.replace("%url%", c.src))) : (d.removeClass("mfp-loading"), b.updateStatus("ready")), d) : (b.updateStatus("loading"), c.loading = !0, c.hasSize || (c.imgHidden = !0, d.addClass("mfp-loading"), b.findImageSize(c)), d) } } }); var N, O = function() { return void 0 === N && (N = void 0 !== document.createElement("p").style.MozTransform), N }; a.magnificPopup.registerModule("zoom", { options: { enabled: !1, easing: "ease-in-out", duration: 300, opener: function(a) { return a.is("img") ? a : a.find("img") } }, proto: { initZoom: function() { var a, c = b.st.zoom, d = ".zoom"; if (c.enabled && b.supportsTransition) { var e, f, g = c.duration, j = function(a) { var b = a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), d = "all " + c.duration / 1e3 + "s " + c.easing, e = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" }, f = "transition"; return e["-webkit-" + f] = e["-moz-" + f] = e["-o-" + f] = e[f] = d, b.css(e), b }, k = function() { b.content.css("visibility", "visible") }; w("BuildControls" + d, function() { if (b._allowZoom()) { if (clearTimeout(e), b.content.css("visibility", "hidden"), a = b._getItemToZoom(), !a) return void k(); f = j(a), f.css(b._getOffset()), b.wrap.append(f), e = setTimeout(function() { f.css(b._getOffset(!0)), e = setTimeout(function() { k(), setTimeout(function() { f.remove(), a = f = null, y("ZoomAnimationEnded") }, 16) }, g) }, 16) } }), w(i + d, function() { if (b._allowZoom()) { if (clearTimeout(e), b.st.removalDelay = g, !a) { if (a = b._getItemToZoom(), !a) return; f = j(a) } f.css(b._getOffset(!0)), b.wrap.append(f), b.content.css("visibility", "hidden"), setTimeout(function() { f.css(b._getOffset()) }, 16) } }), w(h + d, function() { b._allowZoom() && (k(), f && f.remove(), a = null) }) } }, _allowZoom: function() { return "image" === b.currItem.type }, _getItemToZoom: function() { return b.currItem.hasSize ? b.currItem.img : !1 }, _getOffset: function(c) { var d; d = c ? b.currItem.img : b.st.zoom.opener(b.currItem.el || b.currItem); var e = d.offset(), f = parseInt(d.css("padding-top"), 10), g = parseInt(d.css("padding-bottom"), 10); e.top -= a(window).scrollTop() - f; var h = { width: d.width(), height: (u ? d.innerHeight() : d[0].offsetHeight) - g - f }; return O() ? h["-moz-transform"] = h.transform = "translate(" + e.left + "px," + e.top + "px)" : (h.left = e.left, h.top = e.top), h } } }); var P = "iframe", Q = "//about:blank", R = function(a) { if (b.currTemplate[P]) { var c = b.currTemplate[P].find("iframe"); c.length && (a || (c[0].src = Q), b.isIE8 && c.css("display", a ? "block" : "none")) } }; a.magnificPopup.registerModule(P, { options: { markup: '
', srcAction: "iframe_src", patterns: { youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" }, vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" }, gmaps: { index: "//maps.google.", src: "%id%&output=embed" } } }, proto: { initIframe: function() { b.types.push(P), w("BeforeChange", function(a, b, c) { b !== c && (b === P ? R() : c === P && R(!0)) }), w(h + "." + P, function() { R() }) }, getIframe: function(c, d) { var e = c.src, f = b.st.iframe; a.each(f.patterns, function() { return e.indexOf(this.index) > -1 ? (this.id && (e = "string" == typeof this.id ? e.substr(e.lastIndexOf(this.id) + this.id.length, e.length) : this.id.call(this, e)), e = this.src.replace("%id%", e), !1) : void 0 }); var g = {}; return f.srcAction && (g[f.srcAction] = e), b._parseMarkup(d, g, c), b.updateStatus("ready"), d } } }); var S = function(a) { var c = b.items.length; return a > c - 1 ? a - c : 0 > a ? c + a : a }, T = function(a, b, c) { return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c) }; a.magnificPopup.registerModule("gallery", { options: { enabled: !1, arrowMarkup: '', preload: [0, 2], navigateByImgClick: !0, arrows: !0, tPrev: "Previous (Left arrow key)", tNext: "Next (Right arrow key)", tCounter: "%curr% of %total%" }, proto: { initGallery: function() { var c = b.st.gallery, e = ".mfp-gallery"; return b.direction = !0, c && c.enabled ? (f += " mfp-gallery", w(m + e, function() { c.navigateByImgClick && b.wrap.on("click" + e, ".mfp-img", function() { return b.items.length > 1 ? (b.next(), !1) : void 0 }), d.on("keydown" + e, function(a) { 37 === a.keyCode ? b.prev() : 39 === a.keyCode && b.next() }) }), w("UpdateStatus" + e, function(a, c) { c.text && (c.text = T(c.text, b.currItem.index, b.items.length)) }), w(l + e, function(a, d, e, f) { var g = b.items.length; e.counter = g > 1 ? T(c.tCounter, f.index, g) : "" }), w("BuildControls" + e, function() { if (b.items.length > 1 && c.arrows && !b.arrowLeft) { var d = c.arrowMarkup, e = b.arrowLeft = a(d.replace(/%title%/gi, c.tPrev).replace(/%dir%/gi, "left")).addClass(s), f = b.arrowRight = a(d.replace(/%title%/gi, c.tNext).replace(/%dir%/gi, "right")).addClass(s); e.click(function() { b.prev() }), f.click(function() { b.next() }), b.container.append(e.add(f)) } }), w(n + e, function() { b._preloadTimeout && clearTimeout(b._preloadTimeout), b._preloadTimeout = setTimeout(function() { b.preloadNearbyImages(), b._preloadTimeout = null }, 16) }), void w(h + e, function() { d.off(e), b.wrap.off("click" + e), b.arrowRight = b.arrowLeft = null })) : !1 }, next: function() { b.direction = !0, b.index = S(b.index + 1), b.updateItemHTML() }, prev: function() { b.direction = !1, b.index = S(b.index - 1), b.updateItemHTML() }, goTo: function(a) { b.direction = a >= b.index, b.index = a, b.updateItemHTML() }, preloadNearbyImages: function() { var a, c = b.st.gallery.preload, d = Math.min(c[0], b.items.length), e = Math.min(c[1], b.items.length); for (a = 1; a <= (b.direction ? e : d); a++) b._preloadItem(b.index + a); for (a = 1; a <= (b.direction ? d : e); a++) b._preloadItem(b.index - a) }, _preloadItem: function(c) { if (c = S(c), !b.items[c].preloaded) { var d = b.items[c]; d.parsed || (d = b.parseEl(c)), y("LazyLoad", d), "image" === d.type && (d.img = a('').on("load.mfploader", function() { d.hasSize = !0 }).on("error.mfploader", function() { d.hasSize = !0, d.loadError = !0, y("LazyLoadError", d) }).attr("src", d.src)), d.preloaded = !0 } } } }); var U = "retina"; a.magnificPopup.registerModule(U, { options: { replaceSrc: function(a) { return a.src.replace(/\.\w+$/, function(a) { return "@2x" + a }) }, ratio: 1 }, proto: { initRetina: function() { if (window.devicePixelRatio > 1) { var a = b.st.retina, c = a.ratio; c = isNaN(c) ? c() : c, c > 1 && (w("ImageHasSize." + U, function(a, b) { b.img.css({ "max-width": b.img[0].naturalWidth / c, width: "100%" }) }), w("ElementParse." + U, function(b, d) { d.src = a.replaceSrc(d, c) })) } } } }), A() }); (function($) { $.fn.opalcountdown = function(options) { return this.each(function() { new $.opalcountdown(this, options); }); } $.opalcountdown = function(obj, options) { this.options = $.extend({ autoStart: true, LeadingZero: true, DisplayFormat: "
%%D%% Days
%%H%% Hours
%%M%% Minutes
%%S%% Seconds
", FinishMessage: "Expired", CountActive: true, TargetDate: null }, options || {}); if (this.options.TargetDate == null || this.options.TargetDate == '') { return; } this.timer = null; this.element = obj; this.countStepper = -1; this.countStepper = Math.ceil(this.countStepper); this.SetTimeOutPeriod = (Math.abs(this.countStepper) - 1) * 1000 + 990; var dthen = new Date(this.options.TargetDate); var dnow = new Date(); if (this.countStepper > 0) { ddiff = new Date(dnow - dthen); } else { ddiff = new Date(dthen - dnow); } gsecs = Math.floor(ddiff.valueOf() / 1000); this.CountBack(gsecs, this); }; $.opalcountdown.fn = $.opalcountdown.prototype; $.opalcountdown.fn.extend = $.opalcountdown.extend = $.extend; $.opalcountdown.fn.extend({ calculateDate: function(secs, num1, num2) { var s = ((Math.floor(secs / num1)) % num2).toString(); if (this.options.LeadingZero && s.length < 2) { s = "0" + s; } return "" + s + ""; }, CountBack: function(secs, self) { if (secs < 0) { self.element.innerHTML = '
' + self.options.FinishMessage + "
"; return; } clearInterval(self.timer); DisplayStr = self.options.DisplayFormat.replace(/%%D%%/g, self.calculateDate(secs, 86400, 100000)); DisplayStr = DisplayStr.replace(/%%H%%/g, self.calculateDate(secs, 3600, 24)); DisplayStr = DisplayStr.replace(/%%M%%/g, self.calculateDate(secs, 60, 60)); DisplayStr = DisplayStr.replace(/%%S%%/g, self.calculateDate(secs, 1, 60)); self.element.innerHTML = DisplayStr; if (self.options.CountActive) { self.timer = null; self.timer = setTimeout(function() { self.CountBack((secs + self.countStepper), self); }, (self.SetTimeOutPeriod)); } } }); $(document).ready(function() { $('[data-countdown="countdown"]').each(function(index, el) { var $this = $(this); var $date = $this.data('date').split("-"); var $days = $this.data('days'); var $hours = $this.data('hours'); var $minutes = $this.data('minutes'); var $seconds = $this.data('seconds'); var $Message = $this.data('Message'); $this.opalcountdown({ TargetDate: $date[0] + "/" + $date[1] + "/" + $date[2] + " " + $date[3] + ":" + $date[4] + ":" + $date[5], DisplayFormat: "
%%D%% " + $days + "
%%H%% " + $hours + "
%%M%% " + $minutes + "
%%S%% " + $seconds + "
", FinishMessage: $Message }); }); }); })(jQuery); /*! js-Offcanvas - v1.2.7 - 2018-09-07 jQuery Accesible Offcanvas Panels * https://github.com/vmitsaras/js-offcanvas * Copyright (c) 2018 Vasileios Mitsaras (@vmitsaras) * MIT License */ ! function(a) { "use strict"; var b = a.utils || {}; b.classes = { hiddenVisually: "u-hidden-visually", modifier: "--", isActive: "is-active", isClosed: "is-closed", isOpen: "is-open", isClicked: "is-clicked", isAnimating: "is-animating", isVisible: "is-visible", hidden: "u-hidden" }, b.keyCodes = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }, b.a11yclick = function(a) { var c = a.charCode || a.keyCode, d = a.type; return "click" === d || "keydown" === d && (c === b.keyCodes.SPACE || c === b.keyCodes.ENTER || void 0) }, b.a11yclickBind = function(a, c, d) { a.on("click." + d + " keydown." + d, function(e) { b.a11yclick(e) && (e.preventDefault(e), c && "function" == typeof c && c.call(), a.trigger("clicked." + d)) }) }, b.supportTransition = "transition" in document.documentElement.style || "WebkitTransition" in document.documentElement.style, b.whichTransitionEvent = function() { var a = document.createElement("fakeelement"), b = { transition: "transitionend", WebkitTransition: "webkitTransitionEnd" }; for (var c in b) if (void 0 !== a.style[c]) return b[c] }, b.transEndEventName = b.whichTransitionEvent(), b.onEndTransition = function(a, c) { var d = function(a) { if (b.supportTransition) { if (a.target != this) return; this.removeEventListener(b.transEndEventName, d) } c && "function" == typeof c && c.call() }; b.supportTransition ? a.addEventListener(b.transEndEventName, d) : d() }, b.createModifierClass = function(a, c) { return a + b.classes.modifier + c }, b.cssModifiers = function(a, c, d) { for (var e = a.split(","), f = 0, g = e.length; f < g; f++) c.push(b.createModifierClass(d, e[f])) }, b.getMetaOptions = function(a, b, c) { var d = "data-" + b, e = d + "-options", f = a.getAttribute(d) || a.getAttribute(e); try { return f && JSON.parse(f) || {} } catch (g) { return void(console && console.error("Error parsing " + d + " on " + a.className + ": " + g)) } }, a.utils = b }(this), function(a, b) { "use strict"; var c = "trab-tab", d = c + "-component"; a.componentNamespace = a.componentNamespace || {}; var e = a.componentNamespace.TrapTabKey = function(a, c) { if (!a) throw new Error("Element required to initialize object"); this.element = a, this.$element = b(a), c = c || {}, this.options = b.extend({}, this.defaults, c) }; e.prototype.init = function() { this.$element.data(d) || this.$element.data(d, this) }, e.prototype.bindTrap = function() { var a = this; this.$element.on("keydown." + c, function(b) { a._trapTabKey(a.$element, b) }) }, e.prototype.unbindTrap = function() { this.$element.off("keydown." + c) }, e.prototype.giveFocus = function() { var a = this, b = a.options, c = a.$element.find("*"), d = a.$element.find("[data-focus]"); d.length ? d.first().focus() : c.filter(b.focusableElementsString).filter(":visible").first().focus() }, e.prototype._trapTabKey = function(a, b) { var c = this, d = c.options; if (9 == b.which) { var e, f = a.find("*"); e = f.filter(d.focusableElementsString).filter(":visible"); var g; g = jQuery(":focus"); var h; h = e.length; var i; i = e.index(g), b.shiftKey ? 0 == i && (e.get(h - 1).focus(), b.preventDefault()) : i == h - 1 && (e.get(0).focus(), b.preventDefault()) } }, e.prototype.defaults = { focusableElementsString: "a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]" }, e.defaults = e.prototype.defaults }(this, jQuery), function(a, b) { "use strict"; var c = "button", d = c + "-component", e = a.utils, f = { iconOnly: "icon-only", withIcon: "icon", toggleState: "toggle-state", showHide: "visible-on-active" }; a.componentNamespace = a.componentNamespace || {}; var g = a.componentNamespace.Button = function(a, d) { if (!a) throw new Error("Element required to initialize object"); this.element = a, this.$element = b(a), this.options = d = d || {}, this.metadata = e.getMetaOptions(this.element, c), this.options = b.extend({}, this.defaults, this.metadata, d) }; g.prototype.init = function() { this.$element.data(d) || (this.$element.data(d, this), this.hasTitle = !!this.$element.attr("title"), this.$element.trigger("beforecreate." + c), this.isPressed = !1, this.isExpanded = !1, this._create()) }, g.prototype._create = function() { var a = this.options, d = [a.baseClass + "__text"]; this._buttonClasses = [a.baseClass], null === a.label && (a.label = this.$element.html()), a.wrapText && (this.$buttonText = b("").html(a.label).appendTo(this.$element.empty())), a.icon && (this.$buttonIcon = b("").prependTo(this.$element), this._buttonClasses.push(e.createModifierClass(a.baseClass, f.withIcon)), a.iconActive && (a.toggle = !0, this.$buttonIconActive = b("").insertAfter(this.$buttonIcon), this._buttonClasses.push(e.createModifierClass(a.baseClass, f.toggleState))), a.hideText && (d.push(e.classes.hiddenVisually), this._buttonClasses.push(e.createModifierClass(a.baseClass, f.iconOnly)))), a.modifiers && e.cssModifiers(a.modifiers, this._buttonClasses, a.baseClass), a.wrapText && this.$buttonText.addClass(d.join(" ")), a.textActive && a.wrapText && (a.toggle = !0, d.push(e.createModifierClass(a.baseClass + "__text", f.showHide)), this._buttonClasses.push(e.createModifierClass(a.baseClass, f.toggleState)), this.$buttonTextActive = b("").addClass(d.join(" ")).html(a.textActive).insertAfter(this.$buttonText), this.$element.attr("aria-live", "polite")), this.$element.addClass(this._buttonClasses.join(" ")), a.role && this.$element.attr("role", a.role), a.controls && this.controls(a.controls), a.pressed && this._isPressed(a.pressed), a.expanded && (this.isPressed = !0, this._isExpanded(a.expanded)), this.hasTitle || !a.hideText || a.hideTitle || this.$element.attr("title", this.$element.text()), this.$element.trigger("create." + c) }, g.prototype._isPressed = function(a) { this.isPressed = a, this.$element.attr("aria-pressed", a)[a ? "addClass" : "removeClass"](e.classes.isActive) }, g.prototype._isExpanded = function(a) { this.isExpanded = a, this.$element.attr("aria-expanded", a)[a ? "addClass" : "removeClass"](e.classes.isActive) }, g.prototype.controls = function(a) { this.$element.attr("aria-controls", a) }, g.prototype.destroy = function() { var a = this.options; if (this.$element.removeData(d).removeAttr("role").removeAttr("aria-pressed").removeAttr("aria-expanded").removeAttr("aria-controls").removeClass(this._buttonClasses.join(" ")).removeClass(e.classes.isActive).off("." + c), this.options.icon && this.$element.find('[class^="' + this.options.iconFamily + '"]').remove(), a.wrapText) { var b = this.$buttonText.html(); this.$element.empty().html(b) } this.element = null, this.$element = null }, g.prototype.defaults = { baseClass: "c-button", role: "button", label: null, modifiers: null, controls: null, textActive: null, wrapText: !0, hideText: !1, hideTitle: !1, icon: null, iconActive: null, iconFamily: "o-icon", iconPosition: null, pressed: !1, expanded: !1 }, g.defaults = g.prototype.defaults }(this, jQuery), function(a, b) { "use strict"; var c = "jsButton", d = ".js-button"; b.fn[c] = function() { return this.each(function() { new window.componentNamespace.Button(this).init() }) }, b(document).bind("enhance", function(a) { b(b(a.target).is(d) && a.target).add(d, a.target).filter(d)[c]() }) }(this, jQuery), function(a, b) { "use strict"; var c = "offcanvas", d = c + "-component", e = a.utils, f = document; a.componentNamespace = a.componentNamespace || {}; var g = a.componentNamespace.Offcanvas = function(a, d) { if (!a) throw new Error("Element required to initialize object"); this.element = a, this.$element = b(a), this.options = d = d || {}, this.metadata = e.getMetaOptions(this.element, c), this.options = b.extend({}, this.defaults, this.metadata, d), this.isOpen = !1, this.onOpen = this.options.onOpen, this.onClose = this.options.onClose, this.onInit = this.options.onInit }; g.prototype.init = function() { this.$element.data(d) || (this.$element.data(d, this), this.$element.trigger("beforecreate." + c), this._addAttributes(), this._initTrigger(), this._createModal(), this._trapTabKey(), this._closeButton(), this.onInit && "function" == typeof this.onInit && this.onInit.call(this.element), this.$element.trigger("create." + c)) }, g.prototype._addAttributes = function() { var c = this.options, d = { tabindex: "-1", "aria-hidden": !this.isOpen }; c.role && (d.role = c.role), this._panelClasses = [c.baseClass, e.classes.isClosed], a.utils.supportTransition || this._panelClasses.push(e.createModifierClass(c.baseClass, c.supportNoTransitionsClass)), e.cssModifiers(c.modifiers, this._panelClasses, c.baseClass), this.$element.attr(d).addClass(this._panelClasses.join(" ")), this.$content = b("." + c.contentClass), this._contentOpenClasses = [], e.cssModifiers(c.modifiers, this._contentOpenClasses, c.contentClass), this._modalOpenClasses = [c.modalClass, e.classes.isClosed], e.cssModifiers(c.modifiers, this._modalOpenClasses, c.modalClass), this._bodyOpenClasses = [c.bodyModifierClass + "--visible"], e.cssModifiers(c.modifiers, this._bodyOpenClasses, c.bodyModifierClass), c.modifiers.toLowerCase().indexOf("reveal") >= 0 ? this.transitionElement = this.$content[0] : this.transitionElement = this.element }, g.prototype._createModal = function() { var a = this, d = a.$element.parent(); this.options.modal && (this.$modal = b("
").on("mousedown." + c, function() { a.close() }).appendTo(d), this.$modal.addClass(this._modalOpenClasses.join(" "))) }, g.prototype._trapTabKey = function() { this.trapTabKey = new a.componentNamespace.TrapTabKey(this.element), this.trapTabKey.init() }, g.prototype._trapTabEscKey = function() { var a = this; b(f).on("keyup." + c, function(c) { var d = c.keyCode || c.which; if (d === e.keyCodes.ESCAPE && a.isOpen) { if (b("input").is(":focus")) return; a.close() } }) }, g.prototype._closeButton = function() { function b() { d.close() } var d = this, f = d.options; this.$closeBtn = this.$element.find("." + f.closeButtonClass), this.$closeBtn.length && (this.closeBtn = new a.componentNamespace.Button(this.$closeBtn[0]), this.closeBtn.init(), this.closeBtn.controls(this.$element.attr("id")), e.a11yclickBind(this.$closeBtn, b, c)) }, g.prototype.open = function() { var a = this, g = a.options; this.isOpen || (g.resize && this.resize(), this.$trigger || (this.$trigger = this.$element.data(d + "-trigger")), f.activeElement && (this.lastFocus = f.activeElement), this.isOpen = !0, b("html, body").addClass(this._bodyOpenClasses.join(" ")), this._addClasses(this.$element, this.isOpen, !0), this._addClasses(this.$content, this.isOpen, !0), g.modal && (this._addClasses(this.$modal, this.isOpen, !0), this.$modal.addClass(e.createModifierClass(g.modalClass, "opening"))), this.$element.attr("aria-hidden", "false").addClass(e.createModifierClass(g.baseClass, "opening")).trigger("opening." + c), this.$content.addClass(this._contentOpenClasses.join(" ")), e.onEndTransition(this.transitionElement, function() { a.trapTabKey.giveFocus(), a.trapTabKey.bindTrap(), a._addClasses(a.$element, a.isOpen, !1), a._addClasses(a.$content, a.isOpen, !1), g.modal && (a._addClasses(a.$modal, a.isOpen, !1), a.$modal.removeClass(e.createModifierClass(g.modalClass, "opening"))), a.$element.removeClass(e.createModifierClass(g.baseClass, "opening")) }), this.$trigger && this.$trigger.button._isExpanded(!0), this.onOpen && "function" == typeof this.onOpen && this.onOpen.call(this.$element), this.$element.trigger("open." + c), this._trapTabEscKey()) }, g.prototype.close = function() { var d = this, g = d.options; this.isOpen && (this.isOpen = !1, this._addClasses(this.$element, this.isOpen, !0), this._addClasses(this.$content, this.isOpen, !0), this.options.modal && (this._addClasses(this.$modal, this.isOpen, !0), this.$modal.addClass(e.createModifierClass(g.modalClass, "closing"))), this.$element.attr("aria-hidden", "true").addClass(e.createModifierClass(g.baseClass, "closing")).trigger("closing." + c), this.trapTabKey.unbindTrap(), d.$trigger && d.$trigger.button._isExpanded(!1), e.onEndTransition(this.transitionElement, function() { d._addClasses(d.$element, d.isOpen, !1), d._addClasses(d.$content, d.isOpen, !1), d.options.modal && (d._addClasses(d.$modal, d.isOpen, !1), d.$modal.removeClass(e.createModifierClass(g.modalClass, "closing"))), d.$content.removeClass(d._contentOpenClasses.join(" ")), d.$element.removeClass(e.createModifierClass(g.baseClass, "closing")), b("html, body").removeClass(d._bodyOpenClasses.join(" ")), d.lastFocus && d.lastFocus.focus() }), this.onClose && "function" == typeof this.onClose && this.onClose.call(this.element), this.$element.trigger("close." + c), b(f).off("keyup." + c), b(a).off("." + c)) }, g.prototype._addClasses = function(a, b, c) { b ? c ? a.removeClass(e.classes.isClosed).addClass(e.classes.isAnimating).addClass(e.classes.isOpen) : a.removeClass(e.classes.isAnimating) : c ? a.removeClass(e.classes.isOpen).addClass(e.classes.isAnimating) : a.addClass(e.classes.isClosed).removeClass(e.classes.isAnimating) }, g.prototype.toggle = function() { this[this.isOpen ? "close" : "open"]() }, g.prototype.resize = function() { function d() { g = !1 } function e() { g || i(d), g = !0 } function f() { e(), h.$element.trigger("resizing." + c), h.options.resize && h.close() } var g, h = this, i = function() { return a.requestAnimationFrame || a.webkitRequestAnimationFrame || a.mozRequestAnimationFrame || function(b) { a.setTimeout(b, 1e3 / 60) } }(); b(a).on("resize." + c + " orientationchange." + c, f) }, g.prototype._initTrigger = function() { var c = this, d = c.options, e = this.$element.attr("id"), f = "data-offcanvas-trigger"; d.triggerButton ? this.$triggerBtn = b(d.triggerButton) : this.$triggerBtn = b("[" + f + "='" + e + "']"), new a.componentNamespace.OffcanvasTrigger(this.$triggerBtn[0], { offcanvas: e }).init() }, g.prototype.setButton = function(a) { this.$element.data(d + "-trigger", a) }, g.prototype.destroy = function() { this.$element.trigger("destroy." + c), this.isOpen && this.close(), this.options.modal && this.$modal.remove(), this.$element.removeData().removeClass(this._panelClasses.join(" ")).removeAttr("tabindex").removeAttr("aria-hidden"), this.$triggerBtn && this.$triggerBtn.removeData("offcanvas-trigger-component").off(".offcanvas").off(".offcanvas-trigger").data("button-component").destroy(), this.$element.off("." + c), b(f).off("." + c), b(a).off("." + c) }, g.prototype.defaults = { role: "dialog", modifiers: "left,overlay", baseClass: "c-offcanvas", modalClass: "c-offcanvas-bg", contentClass: "c-offcanvas-content-wrap", closeButtonClass: "js-offcanvas-close", bodyModifierClass: "has-offcanvas", supportNoTransitionsClass: "support-no-transitions", resize: !1, triggerButton: null, modal: !0, onOpen: null, onClose: null, onInit: null }, g.defaults = g.prototype.defaults }(this, jQuery), function(a, b) { "use strict"; var c = "offcanvas", d = ".js-" + c; b.fn[c] = function(b) { return this.each(function() { new a.componentNamespace.Offcanvas(this, b).init() }) }, b(a.document).on("enhance", function(a) { b(b(a.target).is(d) && a.target).add(d, a.target).filter(d)[c]() }) }(this, jQuery), function(a, b) { "use strict"; var c = "offcanvas-trigger", d = c + "-component", e = a.utils; a.componentNamespace = a.componentNamespace || {}; var f = a.componentNamespace.OffcanvasTrigger = function(a, c) { if (!a) throw new Error("Element required to initialize object"); this.element = a, this.$element = b(a), this.options = c = c || {}, this.options = b.extend({}, this.defaults, c) }; f.prototype.init = function() { this.$element.data(d) || (this.$element.data(d, this), this._create()) }, f.prototype._create = function() { if (this.options.offcanvas = this.options.offcanvas || this.$element.attr("data-offcanvas-trigger"), this.$offcanvas = b("#" + this.options.offcanvas), this.offcanvas = this.$offcanvas.data("offcanvas-component"), !this.offcanvas) throw new Error("Offcanvas Element not found"); this.button = new a.componentNamespace.Button(this.element), this.button.init(), this.button.controls(this.options.offcanvas), this.button._isExpanded(!1), this._bindbehavior() }, f.prototype._bindbehavior = function() { function a() { b.offcanvas.toggle() } var b = this; this.offcanvas.setButton(b), e.a11yclickBind(this.$element, a, c) }, f.prototype.defaults = { offcanvas: null } }(this, jQuery), function(a, b) { "use strict"; var c = "offcanvasTrigger", d = "[data-offcanvas-trigger],.js-" + c; b.fn[c] = function(b) { return this.each(function() { new a.componentNamespace.OffcanvasTrigger(this, b).init() }) }, b(a.document).on("enhance", function(a) { b(b(a.target).is(d) && a.target).add(d, a.target).filter(d)[c]() }) }(this, jQuery); ; window.Modernizr = function(a, b, c) { function z(a) { j.cssText = a } function A(a, b) { return z(m.join(a + ";") + (b || "")) } function B(a, b) { return typeof a === b } function C(a, b) { return !!~("" + a).indexOf(b) } function D(a, b) { for (var d in a) { var e = a[d]; if (!C(e, "-") && j[e] !== c) return b == "pfx" ? e : !0 } return !1 } function E(a, b, d) { for (var e in a) { var f = b[a[e]]; if (f !== c) return d === !1 ? a[e] : B(f, "function") ? f.bind(d || b) : f } return !1 } function F(a, b, c) { var d = a.charAt(0).toUpperCase() + a.slice(1), e = (a + " " + o.join(d + " ") + d).split(" "); return B(b, "string") || B(b, "undefined") ? D(e, b) : (e = (a + " " + p.join(d + " ") + d).split(" "), E(e, b, c)) } var d = "2.6.2", e = {}, f = !0, g = b.documentElement, h = "modernizr", i = b.createElement(h), j = i.style, k, l = {}.toString, m = " -webkit- -moz- -o- -ms- ".split(" "), n = "Webkit Moz O ms", o = n.split(" "), p = n.toLowerCase().split(" "), q = {}, r = {}, s = {}, t = [], u = t.slice, v, w = function(a, c, d, e) { var f, i, j, k, l = b.createElement("div"), m = b.body, n = m || b.createElement("body"); if (parseInt(d, 10)) while (d--) j = b.createElement("div"), j.id = e ? e[d] : h + (d + 1), l.appendChild(j); return f = ["­", '"].join(""), l.id = h, (m ? l : n).innerHTML += f, n.appendChild(l), m || (n.style.background = "", n.style.overflow = "hidden", k = g.style.overflow, g.style.overflow = "hidden", g.appendChild(n)), i = c(l, a), m ? l.parentNode.removeChild(l) : (n.parentNode.removeChild(n), g.style.overflow = k), !!i }, x = {}.hasOwnProperty, y; !B(x, "undefined") && !B(x.call, "undefined") ? y = function(a, b) { return x.call(a, b) } : y = function(a, b) { return b in a && B(a.constructor.prototype[b], "undefined") }, Function.prototype.bind || (Function.prototype.bind = function(b) { var c = this; if (typeof c != "function") throw new TypeError; var d = u.call(arguments, 1), e = function() { if (this instanceof e) { var a = function() {}; a.prototype = c.prototype; var f = new a, g = c.apply(f, d.concat(u.call(arguments))); return Object(g) === g ? g : f } return c.apply(b, d.concat(u.call(arguments))) }; return e }), q.csstransforms3d = function() { var a = !!F("perspective"); return a && "webkitPerspective" in g.style && w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", function(b, c) { a = b.offsetLeft === 9 && b.offsetHeight === 3 }), a }; for (var G in q) y(q, G) && (v = G.toLowerCase(), e[v] = q[G](), t.push((e[v] ? "" : "no-") + v)); return e.addTest = function(a, b) { if (typeof a == "object") for (var d in a) y(a, d) && e.addTest(d, a[d]); else { a = a.toLowerCase(); if (e[a] !== c) return e; b = typeof b == "function" ? b() : b, typeof f != "undefined" && f && (g.className += " " + (b ? "" : "no-") + a), e[a] = b } return e }, z(""), i = k = null, function(a, b) { function k(a, b) { var c = a.createElement("p"), d = a.getElementsByTagName("head")[0] || a.documentElement; return c.innerHTML = "x", d.insertBefore(c.lastChild, d.firstChild) } function l() { var a = r.elements; return typeof a == "string" ? a.split(" ") : a } function m(a) { var b = i[a[g]]; return b || (b = {}, h++, a[g] = h, i[h] = b), b } function n(a, c, f) { c || (c = b); if (j) return c.createElement(a); f || (f = m(c)); var g; return f.cache[a] ? g = f.cache[a].cloneNode() : e.test(a) ? g = (f.cache[a] = f.createElem(a)).cloneNode() : g = f.createElem(a), g.canHaveChildren && !d.test(a) ? f.frag.appendChild(g) : g } function o(a, c) { a || (a = b); if (j) return a.createDocumentFragment(); c = c || m(a); var d = c.frag.cloneNode(), e = 0, f = l(), g = f.length; for (; e < g; e++) d.createElement(f[e]); return d } function p(a, b) { b.cache || (b.cache = {}, b.createElem = a.createElement, b.createFrag = a.createDocumentFragment, b.frag = b.createFrag()), a.createElement = function(c) { return r.shivMethods ? n(c, a, b) : b.createElem(c) }, a.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + l().join().replace(/\w+/g, function(a) { return b.createElem(a), b.frag.createElement(a), 'c("' + a + '")' }) + ");return n}")(r, b.frag) } function q(a) { a || (a = b); var c = m(a); return r.shivCSS && !f && !c.hasCSS && (c.hasCSS = !!k(a, "article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")), j || p(a, c), a } var c = a.html5 || {}, d = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, e = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, f, g = "_html5shiv", h = 0, i = {}, j; (function() { try { var a = b.createElement("a"); a.innerHTML = "", f = "hidden" in a, j = a.childNodes.length == 1 || function() { b.createElement("a"); var a = b.createDocumentFragment(); return typeof a.cloneNode == "undefined" || typeof a.createDocumentFragment == "undefined" || typeof a.createElement == "undefined" }() } catch (c) { f = !0, j = !0 } })(); var r = { elements: c.elements || "abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video", shivCSS: c.shivCSS !== !1, supportsUnknownElements: j, shivMethods: c.shivMethods !== !1, type: "default", shivDocument: q, createElement: n, createDocumentFragment: o }; a.html5 = r, q(b) }(this, b), e._version = d, e._prefixes = m, e._domPrefixes = p, e._cssomPrefixes = o, e.testProp = function(a) { return D([a]) }, e.testAllProps = F, e.testStyles = w, g.className = g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + t.join(" ") : ""), e }(this, this.document), function(a, b, c) { function d(a) { return "[object Function]" == o.call(a) } function e(a) { return "string" == typeof a } function f() {} function g(a) { return !a || "loaded" == a || "complete" == a || "uninitialized" == a } function h() { var a = p.shift(); q = 1, a ? a.t ? m(function() { ("c" == a.t ? B.injectCss : B.injectJs)(a.s, 0, a.a, a.x, a.e, 1) }, 0) : (a(), h()) : q = 0 } function i(a, c, d, e, f, i, j) { function k(b) { if (!o && g(l.readyState) && (u.r = o = 1, !q && h(), l.onload = l.onreadystatechange = null, b)) { "img" != a && m(function() { t.removeChild(l) }, 50); for (var d in y[c]) y[c].hasOwnProperty(d) && y[c][d].onload() } } var j = j || B.errorTimeout, l = b.createElement(a), o = 0, r = 0, u = { t: d, s: c, e: f, a: i, x: j }; 1 === y[c] && (r = 1, y[c] = []), "object" == a ? l.data = c : (l.src = c, l.type = a), l.width = l.height = "0", l.onerror = l.onload = l.onreadystatechange = function() { k.call(this, r) }, p.splice(e, 0, u), "img" != a && (r || 2 === y[c] ? (t.insertBefore(l, s ? null : n), m(k, j)) : y[c].push(l)) } function j(a, b, c, d, f) { return q = 0, b = b || "j", e(a) ? i("c" == b ? v : u, a, b, this.i++, c, d, f) : (p.splice(this.i++, 0, a), 1 == p.length && h()), this } function k() { var a = B; return a.loader = { load: j, i: 0 }, a } var l = b.documentElement, m = a.setTimeout, n = b.getElementsByTagName("script")[0], o = {}.toString, p = [], q = 0, r = "MozAppearance" in l.style, s = r && !!b.createRange().compareNode, t = s ? l : n.parentNode, l = a.opera && "[object Opera]" == o.call(a.opera), l = !!b.attachEvent && !l, u = r ? "object" : l ? "script" : "img", v = l ? "script" : u, w = Array.isArray || function(a) { return "[object Array]" == o.call(a) }, x = [], y = {}, z = { timeout: function(a, b) { return b.length && (a.timeout = b[0]), a } }, A, B; B = function(a) { function b(a) { var a = a.split("!"), b = x.length, c = a.pop(), d = a.length, c = { url: c, origUrl: c, prefixes: a }, e, f, g; for (f = 0; f < d; f++) g = a[f].split("="), (e = z[g.shift()]) && (c = e(c, g)); for (f = 0; f < b; f++) c = x[f](c); return c } function g(a, e, f, g, h) { var i = b(a), j = i.autoCallback; i.url.split(".").pop().split("?").shift(), i.bypass || (e && (e = d(e) ? e : e[a] || e[g] || e[a.split("/").pop().split("?")[0]]), i.instead ? i.instead(a, e, f, g, h) : (y[i.url] ? i.noexec = !0 : y[i.url] = 1, f.load(i.url, i.forceCSS || !i.forceJS && "css" == i.url.split(".").pop().split("?").shift() ? "c" : c, i.noexec, i.attrs, i.timeout), (d(e) || d(j)) && f.load(function() { k(), e && e(i.origUrl, h, g), j && j(i.origUrl, h, g), y[i.url] = 2 }))) } function h(a, b) { function c(a, c) { if (a) { if (e(a)) c || (j = function() { var a = [].slice.call(arguments); k.apply(this, a), l() }), g(a, j, b, 0, h); else if (Object(a) === a) for (n in m = function() { var b = 0, c; for (c in a) a.hasOwnProperty(c) && b++; return b }(), a) a.hasOwnProperty(n) && (!c && !--m && (d(j) ? j = function() { var a = [].slice.call(arguments); k.apply(this, a), l() } : j[n] = function(a) { return function() { var b = [].slice.call(arguments); a && a.apply(this, b), l() } }(k[n])), g(a[n], j, b, n, h)) } else !c && l() } var h = !!a.test, i = a.load || a.both, j = a.callback || f, k = j, l = a.complete || f, m, n; c(h ? a.yep : a.nope, !!i), i && c(i) } var i, j, l = this.yepnope.loader; if (e(a)) g(a, 0, l, 0); else if (w(a)) for (i = 0; i < a.length; i++) j = a[i], e(j) ? g(j, 0, l, 0) : w(j) ? B(j) : Object(j) === j && h(j, l); else Object(a) === a && h(a, l) }, B.addPrefix = function(a, b) { z[a] = b }, B.addFilter = function(a) { x.push(a) }, B.errorTimeout = 1e4, null == b.readyState && b.addEventListener && (b.readyState = "loading", b.addEventListener("DOMContentLoaded", A = function() { b.removeEventListener("DOMContentLoaded", A, 0), b.readyState = "complete" }, 0)), a.yepnope = k(), a.yepnope.executeStack = h, a.yepnope.injectJs = function(a, c, d, e, i, j) { var k = b.createElement("script"), l, o, e = e || B.errorTimeout; k.src = a; for (o in d) k.setAttribute(o, d[o]); c = j ? h : c || f, k.onreadystatechange = k.onload = function() { !l && g(k.readyState) && (l = 1, c(), k.onload = k.onreadystatechange = null) }, m(function() { l || (l = 1, c(1)) }, e), i ? k.onload() : n.parentNode.insertBefore(k, n) }, a.yepnope.injectCss = function(a, c, d, e, g, i) { var e = b.createElement("link"), j, c = i ? h : c || f; e.href = a, e.rel = "stylesheet", e.type = "text/css"; for (j in d) e.setAttribute(j, d[j]); g || (n.parentNode.insertBefore(e, n), m(c, 0)) } }(this, document), Modernizr.load = function() { yepnope.apply(window, [].slice.call(arguments, 0)) }; ! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Swiper = t() }(this, function() { "use strict"; var f = "undefined" == typeof document ? { body: {}, addEventListener: function() {}, removeEventListener: function() {}, activeElement: { blur: function() {}, nodeName: "" }, querySelector: function() { return null }, querySelectorAll: function() { return [] }, getElementById: function() { return null }, createEvent: function() { return { initEvent: function() {} } }, createElement: function() { return { children: [], childNodes: [], style: {}, setAttribute: function() {}, getElementsByTagName: function() { return [] } } }, location: { hash: "" } } : document, Y = "undefined" == typeof window ? { document: f, navigator: { userAgent: "" }, location: {}, history: {}, CustomEvent: function() { return this }, addEventListener: function() {}, removeEventListener: function() {}, getComputedStyle: function() { return { getPropertyValue: function() { return "" } } }, Image: function() {}, Date: function() {}, screen: {}, setTimeout: function() {}, clearTimeout: function() {} } : window, l = function(e) { for (var t = 0; t < e.length; t += 1) this[t] = e[t]; return this.length = e.length, this }; function L(e, t) { var a = [], i = 0; if (e && !t && e instanceof l) return e; if (e) if ("string" == typeof e) { var s, r, n = e.trim(); if (0 <= n.indexOf("<") && 0 <= n.indexOf(">")) { var o = "div"; for (0 === n.indexOf(":~]/) ? (t || f).querySelectorAll(e.trim()) : [f.getElementById(e.trim().split("#")[1])], i = 0; i < s.length; i += 1) s[i] && a.push(s[i]) } else if (e.nodeType || e === Y || e === f) a.push(e); else if (0 < e.length && e[0].nodeType) for (i = 0; i < e.length; i += 1) a.push(e[i]); return new l(a) } function r(e) { for (var t = [], a = 0; a < e.length; a += 1) - 1 === t.indexOf(e[a]) && t.push(e[a]); return t } L.fn = l.prototype, L.Class = l, L.Dom7 = l; var t = { addClass: function(e) { if (void 0 === e) return this; for (var t = e.split(" "), a = 0; a < t.length; a += 1) for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.add(t[a]); return this }, removeClass: function(e) { for (var t = e.split(" "), a = 0; a < t.length; a += 1) for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.remove(t[a]); return this }, hasClass: function(e) { return !!this[0] && this[0].classList.contains(e) }, toggleClass: function(e) { for (var t = e.split(" "), a = 0; a < t.length; a += 1) for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.toggle(t[a]); return this }, attr: function(e, t) { var a = arguments; if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0; for (var i = 0; i < this.length; i += 1) if (2 === a.length) this[i].setAttribute(e, t); else for (var s in e) this[i][s] = e[s], this[i].setAttribute(s, e[s]); return this }, removeAttr: function(e) { for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e); return this }, data: function(e, t) { var a; if (void 0 !== t) { for (var i = 0; i < this.length; i += 1)(a = this[i]).dom7ElementDataStorage || (a.dom7ElementDataStorage = {}), a.dom7ElementDataStorage[e] = t; return this } if (a = this[0]) { if (a.dom7ElementDataStorage && e in a.dom7ElementDataStorage) return a.dom7ElementDataStorage[e]; var s = a.getAttribute("data-" + e); return s || void 0 } }, transform: function(e) { for (var t = 0; t < this.length; t += 1) { var a = this[t].style; a.webkitTransform = e, a.transform = e } return this }, transition: function(e) { "string" != typeof e && (e += "ms"); for (var t = 0; t < this.length; t += 1) { var a = this[t].style; a.webkitTransitionDuration = e, a.transitionDuration = e } return this }, on: function() { for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; var i = t[0], r = t[1], n = t[2], s = t[3]; function o(e) { var t = e.target; if (t) { var a = e.target.dom7EventData || []; if (a.indexOf(e) < 0 && a.unshift(e), L(t).is(r)) n.apply(t, a); else for (var i = L(t).parents(), s = 0; s < i.length; s += 1) L(i[s]).is(r) && n.apply(i[s], a) } } function l(e) { var t = e && e.target && e.target.dom7EventData || []; t.indexOf(e) < 0 && t.unshift(e), n.apply(this, t) } "function" == typeof t[1] && (i = (e = t)[0], n = e[1], s = e[2], r = void 0), s || (s = !1); for (var d, p = i.split(" "), c = 0; c < this.length; c += 1) { var u = this[c]; if (r) for (d = 0; d < p.length; d += 1) { var h = p[d]; u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[h] || (u.dom7LiveListeners[h] = []), u.dom7LiveListeners[h].push({ listener: n, proxyListener: o }), u.addEventListener(h, o, s) } else for (d = 0; d < p.length; d += 1) { var v = p[d]; u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[v] || (u.dom7Listeners[v] = []), u.dom7Listeners[v].push({ listener: n, proxyListener: l }), u.addEventListener(v, l, s) } } return this }, off: function() { for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; var i = t[0], s = t[1], r = t[2], n = t[3]; "function" == typeof t[1] && (i = (e = t)[0], r = e[1], n = e[2], s = void 0), n || (n = !1); for (var o = i.split(" "), l = 0; l < o.length; l += 1) for (var d = o[l], p = 0; p < this.length; p += 1) { var c = this[p], u = void 0; if (!s && c.dom7Listeners ? u = c.dom7Listeners[d] : s && c.dom7LiveListeners && (u = c.dom7LiveListeners[d]), u && u.length) for (var h = u.length - 1; 0 <= h; h -= 1) { var v = u[h]; r && v.listener === r ? (c.removeEventListener(d, v.proxyListener, n), u.splice(h, 1)) : r || (c.removeEventListener(d, v.proxyListener, n), u.splice(h, 1)) } } return this }, trigger: function() { for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; for (var a = e[0].split(" "), i = e[1], s = 0; s < a.length; s += 1) for (var r = a[s], n = 0; n < this.length; n += 1) { var o = this[n], l = void 0; try { l = new Y.CustomEvent(r, { detail: i, bubbles: !0, cancelable: !0 }) } catch (e) { (l = f.createEvent("Event")).initEvent(r, !0, !0), l.detail = i } o.dom7EventData = e.filter(function(e, t) { return 0 < t }), o.dispatchEvent(l), o.dom7EventData = [], delete o.dom7EventData } return this }, transitionEnd: function(t) { var a, i = ["webkitTransitionEnd", "transitionend"], s = this; function r(e) { if (e.target === this) for (t.call(this, e), a = 0; a < i.length; a += 1) s.off(i[a], r) } if (t) for (a = 0; a < i.length; a += 1) s.on(i[a], r); return this }, outerWidth: function(e) { if (0 < this.length) { if (e) { var t = this.styles(); return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left")) } return this[0].offsetWidth } return null }, outerHeight: function(e) { if (0 < this.length) { if (e) { var t = this.styles(); return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom")) } return this[0].offsetHeight } return null }, offset: function() { if (0 < this.length) { var e = this[0], t = e.getBoundingClientRect(), a = f.body, i = e.clientTop || a.clientTop || 0, s = e.clientLeft || a.clientLeft || 0, r = e === Y ? Y.scrollY : e.scrollTop, n = e === Y ? Y.scrollX : e.scrollLeft; return { top: t.top + r - i, left: t.left + n - s } } return null }, css: function(e, t) { var a; if (1 === arguments.length) { if ("string" != typeof e) { for (a = 0; a < this.length; a += 1) for (var i in e) this[a].style[i] = e[i]; return this } if (this[0]) return Y.getComputedStyle(this[0], null).getPropertyValue(e) } if (2 === arguments.length && "string" == typeof e) { for (a = 0; a < this.length; a += 1) this[a].style[e] = t; return this } return this }, each: function(e) { if (!e) return this; for (var t = 0; t < this.length; t += 1) if (!1 === e.call(this[t], t, this[t])) return this; return this }, html: function(e) { if (void 0 === e) return this[0] ? this[0].innerHTML : void 0; for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e; return this }, text: function(e) { if (void 0 === e) return this[0] ? this[0].textContent.trim() : null; for (var t = 0; t < this.length; t += 1) this[t].textContent = e; return this }, is: function(e) { var t, a, i = this[0]; if (!i || void 0 === e) return !1; if ("string" == typeof e) { if (i.matches) return i.matches(e); if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e); if (i.msMatchesSelector) return i.msMatchesSelector(e); for (t = L(e), a = 0; a < t.length; a += 1) if (t[a] === i) return !0; return !1 } if (e === f) return i === f; if (e === Y) return i === Y; if (e.nodeType || e instanceof l) { for (t = e.nodeType ? [e] : e, a = 0; a < t.length; a += 1) if (t[a] === i) return !0; return !1 } return !1 }, index: function() { var e, t = this[0]; if (t) { for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1); return e } }, eq: function(e) { if (void 0 === e) return this; var t, a = this.length; return new l(a - 1 < e ? [] : e < 0 ? (t = a + e) < 0 ? [] : [this[t]] : [this[e]]) }, append: function() { for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; for (var i = 0; i < t.length; i += 1) { e = t[i]; for (var s = 0; s < this.length; s += 1) if ("string" == typeof e) { var r = f.createElement("div"); for (r.innerHTML = e; r.firstChild;) this[s].appendChild(r.firstChild) } else if (e instanceof l) for (var n = 0; n < e.length; n += 1) this[s].appendChild(e[n]); else this[s].appendChild(e) } return this }, prepend: function(e) { var t, a; for (t = 0; t < this.length; t += 1) if ("string" == typeof e) { var i = f.createElement("div"); for (i.innerHTML = e, a = i.childNodes.length - 1; 0 <= a; a -= 1) this[t].insertBefore(i.childNodes[a], this[t].childNodes[0]) } else if (e instanceof l) for (a = 0; a < e.length; a += 1) this[t].insertBefore(e[a], this[t].childNodes[0]); else this[t].insertBefore(e, this[t].childNodes[0]); return this }, next: function(e) { return 0 < this.length ? e ? this[0].nextElementSibling && L(this[0].nextElementSibling).is(e) ? new l([this[0].nextElementSibling]) : new l([]) : this[0].nextElementSibling ? new l([this[0].nextElementSibling]) : new l([]) : new l([]) }, nextAll: function(e) { var t = [], a = this[0]; if (!a) return new l([]); for (; a.nextElementSibling;) { var i = a.nextElementSibling; e ? L(i).is(e) && t.push(i) : t.push(i), a = i } return new l(t) }, prev: function(e) { if (0 < this.length) { var t = this[0]; return e ? t.previousElementSibling && L(t.previousElementSibling).is(e) ? new l([t.previousElementSibling]) : new l([]) : t.previousElementSibling ? new l([t.previousElementSibling]) : new l([]) } return new l([]) }, prevAll: function(e) { var t = [], a = this[0]; if (!a) return new l([]); for (; a.previousElementSibling;) { var i = a.previousElementSibling; e ? L(i).is(e) && t.push(i) : t.push(i), a = i } return new l(t) }, parent: function(e) { for (var t = [], a = 0; a < this.length; a += 1) null !== this[a].parentNode && (e ? L(this[a].parentNode).is(e) && t.push(this[a].parentNode) : t.push(this[a].parentNode)); return L(r(t)) }, parents: function(e) { for (var t = [], a = 0; a < this.length; a += 1) for (var i = this[a].parentNode; i;) e ? L(i).is(e) && t.push(i) : t.push(i), i = i.parentNode; return L(r(t)) }, closest: function(e) { var t = this; return void 0 === e ? new l([]) : (t.is(e) || (t = t.parents(e).eq(0)), t) }, find: function(e) { for (var t = [], a = 0; a < this.length; a += 1) for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) t.push(i[s]); return new l(t) }, children: function(e) { for (var t = [], a = 0; a < this.length; a += 1) for (var i = this[a].childNodes, s = 0; s < i.length; s += 1) e ? 1 === i[s].nodeType && L(i[s]).is(e) && t.push(i[s]) : 1 === i[s].nodeType && t.push(i[s]); return new l(r(t)) }, remove: function() { for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]); return this }, add: function() { for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; var a, i; for (a = 0; a < e.length; a += 1) { var s = L(e[a]); for (i = 0; i < s.length; i += 1) this[this.length] = s[i], this.length += 1 } return this }, styles: function() { return this[0] ? Y.getComputedStyle(this[0], null) : {} } }; Object.keys(t).forEach(function(e) { L.fn[e] = t[e] }); var e, a, i, V = { deleteProps: function(e) { var t = e; Object.keys(t).forEach(function(e) { try { t[e] = null } catch (e) {} try { delete t[e] } catch (e) {} }) }, nextTick: function(e, t) { return void 0 === t && (t = 0), setTimeout(e, t) }, now: function() { return Date.now() }, getTranslate: function(e, t) { var a, i, s; void 0 === t && (t = "x"); var r = Y.getComputedStyle(e, null); return Y.WebKitCSSMatrix ? (6 < (i = r.transform || r.webkitTransform).split(",").length && (i = i.split(", ").map(function(e) { return e.replace(",", ".") }).join(", ")), s = new Y.WebKitCSSMatrix("none" === i ? "" : i)) : a = (s = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (i = Y.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = Y.WebKitCSSMatrix ? s.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0 }, parseUrlQuery: function(e) { var t, a, i, s, r = {}, n = e || Y.location.href; if ("string" == typeof n && n.length) for (s = (a = (n = -1 < n.indexOf("?") ? n.replace(/\S*\?/, "") : "").split("&").filter(function(e) { return "" !== e })).length, t = 0; t < s; t += 1) i = a[t].replace(/#\S+/g, "").split("="), r[decodeURIComponent(i[0])] = void 0 === i[1] ? void 0 : decodeURIComponent(i[1]) || ""; return r }, isObject: function(e) { return "object" == typeof e && null !== e && e.constructor && e.constructor === Object }, extend: function() { for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; for (var a = Object(e[0]), i = 1; i < e.length; i += 1) { var s = e[i]; if (null != s) for (var r = Object.keys(Object(s)), n = 0, o = r.length; n < o; n += 1) { var l = r[n], d = Object.getOwnPropertyDescriptor(s, l); void 0 !== d && d.enumerable && (V.isObject(a[l]) && V.isObject(s[l]) ? V.extend(a[l], s[l]) : !V.isObject(a[l]) && V.isObject(s[l]) ? (a[l] = {}, V.extend(a[l], s[l])) : a[l] = s[l]) } } return a } }, F = (i = f.createElement("div"), { touch: Y.Modernizr && !0 === Y.Modernizr.touch || !!("ontouchstart" in Y || Y.DocumentTouch && f instanceof Y.DocumentTouch), pointerEvents: !!(Y.navigator.pointerEnabled || Y.PointerEvent || "maxTouchPoints" in Y.navigator), prefixedPointerEvents: !!Y.navigator.msPointerEnabled, transition: (a = i.style, "transition" in a || "webkitTransition" in a || "MozTransition" in a), transforms3d: Y.Modernizr && !0 === Y.Modernizr.csstransforms3d || (e = i.style, "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e || "perspective" in e), flexbox: function() { for (var e = i.style, t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), a = 0; a < t.length; a += 1) if (t[a] in e) return !0; return !1 }(), observer: "MutationObserver" in Y || "WebkitMutationObserver" in Y, passiveListener: function() { var e = !1; try { var t = Object.defineProperty({}, "passive", { get: function() { e = !0 } }); Y.addEventListener("testPassiveListener", null, t) } catch (e) {} return e }(), gestures: "ongesturestart" in Y }), s = function(e) { void 0 === e && (e = {}); var t = this; t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(t.params.on).forEach(function(e) { t.on(e, t.params.on[e]) }) }, n = { components: { configurable: !0 } }; s.prototype.on = function(e, t, a) { var i = this; if ("function" != typeof t) return i; var s = a ? "unshift" : "push"; return e.split(" ").forEach(function(e) { i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][s](t) }), i }, s.prototype.once = function(i, s, e) { var r = this; if ("function" != typeof s) return r; return r.on(i, function e() { for (var t = [], a = arguments.length; a--;) t[a] = arguments[a]; s.apply(r, t), r.off(i, e) }, e) }, s.prototype.off = function(e, i) { var s = this; return s.eventsListeners && e.split(" ").forEach(function(a) { void 0 === i ? s.eventsListeners[a] = [] : s.eventsListeners[a] && s.eventsListeners[a].length && s.eventsListeners[a].forEach(function(e, t) { e === i && s.eventsListeners[a].splice(t, 1) }) }), s }, s.prototype.emit = function() { for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; var a, i, s, r = this; return r.eventsListeners && ("string" == typeof e[0] || Array.isArray(e[0]) ? (a = e[0], i = e.slice(1, e.length), s = r) : (a = e[0].events, i = e[0].data, s = e[0].context || r), (Array.isArray(a) ? a : a.split(" ")).forEach(function(e) { if (r.eventsListeners && r.eventsListeners[e]) { var t = []; r.eventsListeners[e].forEach(function(e) { t.push(e) }), t.forEach(function(e) { e.apply(s, i) }) } })), r }, s.prototype.useModulesParams = function(a) { var i = this; i.modules && Object.keys(i.modules).forEach(function(e) { var t = i.modules[e]; t.params && V.extend(a, t.params) }) }, s.prototype.useModules = function(i) { void 0 === i && (i = {}); var s = this; s.modules && Object.keys(s.modules).forEach(function(e) { var a = s.modules[e], t = i[e] || {}; a.instance && Object.keys(a.instance).forEach(function(e) { var t = a.instance[e]; s[e] = "function" == typeof t ? t.bind(s) : t }), a.on && s.on && Object.keys(a.on).forEach(function(e) { s.on(e, a.on[e]) }), a.create && a.create.bind(s)(t) }) }, n.components.set = function(e) { this.use && this.use(e) }, s.installModule = function(t) { for (var e = [], a = arguments.length - 1; 0 < a--;) e[a] = arguments[a + 1]; var i = this; i.prototype.modules || (i.prototype.modules = {}); var s = t.name || Object.keys(i.prototype.modules).length + "_" + V.now(); return (i.prototype.modules[s] = t).proto && Object.keys(t.proto).forEach(function(e) { i.prototype[e] = t.proto[e] }), t.static && Object.keys(t.static).forEach(function(e) { i[e] = t.static[e] }), t.install && t.install.apply(i, e), i }, s.use = function(e) { for (var t = [], a = arguments.length - 1; 0 < a--;) t[a] = arguments[a + 1]; var i = this; return Array.isArray(e) ? (e.forEach(function(e) { return i.installModule(e) }), i) : i.installModule.apply(i, [e].concat(t)) }, Object.defineProperties(s, n); var o = { updateSize: function() { var e, t, a = this, i = a.$el; e = void 0 !== a.params.width ? a.params.width : i[0].clientWidth, t = void 0 !== a.params.height ? a.params.height : i[0].clientHeight, 0 === e && a.isHorizontal() || 0 === t && a.isVertical() || (e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css("padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10), V.extend(a, { width: e, height: t, size: a.isHorizontal() ? e : t })) }, updateSlides: function() { var e = this, t = e.params, a = e.$wrapperEl, i = e.size, s = e.rtlTranslate, r = e.wrongRTL, n = e.virtual && t.virtual.enabled, o = n ? e.virtual.slides.length : e.slides.length, l = a.children("." + e.params.slideClass), d = n ? e.virtual.slides.length : l.length, p = [], c = [], u = [], h = t.slidesOffsetBefore; "function" == typeof h && (h = t.slidesOffsetBefore.call(e)); var v = t.slidesOffsetAfter; "function" == typeof v && (v = t.slidesOffsetAfter.call(e)); var f = e.snapGrid.length, m = e.snapGrid.length, g = t.spaceBetween, b = -h, w = 0, y = 0; if (void 0 !== i) { var x, T; "string" == typeof g && 0 <= g.indexOf("%") && (g = parseFloat(g.replace("%", "")) / 100 * i), e.virtualSize = -g, s ? l.css({ marginLeft: "", marginTop: "" }) : l.css({ marginRight: "", marginBottom: "" }), 1 < t.slidesPerColumn && (x = Math.floor(d / t.slidesPerColumn) === d / e.params.slidesPerColumn ? d : Math.ceil(d / t.slidesPerColumn) * t.slidesPerColumn, "auto" !== t.slidesPerView && "row" === t.slidesPerColumnFill && (x = Math.max(x, t.slidesPerView * t.slidesPerColumn))); for (var E, S = t.slidesPerColumn, C = x / S, M = C - (t.slidesPerColumn * C - d), k = 0; k < d; k += 1) { T = 0; var P = l.eq(k); if (1 < t.slidesPerColumn) { var z = void 0, $ = void 0, L = void 0; "column" === t.slidesPerColumnFill ? (L = k - ($ = Math.floor(k / S)) * S, (M < $ || $ === M && L === S - 1) && S <= (L += 1) && (L = 0, $ += 1), z = $ + L * x / S, P.css({ "-webkit-box-ordinal-group": z, "-moz-box-ordinal-group": z, "-ms-flex-order": z, "-webkit-order": z, order: z })) : $ = k - (L = Math.floor(k / C)) * C, P.css("margin-" + (e.isHorizontal() ? "top" : "left"), 0 !== L && t.spaceBetween && t.spaceBetween + "px").attr("data-swiper-column", $).attr("data-swiper-row", L) } if ("none" !== P.css("display")) { if ("auto" === t.slidesPerView) { var I = Y.getComputedStyle(P[0], null), D = P[0].style.transform, O = P[0].style.webkitTransform; D && (P[0].style.transform = "none"), O && (P[0].style.webkitTransform = "none"), T = t.roundLengths ? e.isHorizontal() ? P.outerWidth(!0) : P.outerHeight(!0) : e.isHorizontal() ? parseFloat(I.getPropertyValue("width")) + parseFloat(I.getPropertyValue("margin-left")) + parseFloat(I.getPropertyValue("margin-right")) : parseFloat(I.getPropertyValue("height")) + parseFloat(I.getPropertyValue("margin-top")) + parseFloat(I.getPropertyValue("margin-bottom")), D && (P[0].style.transform = D), O && (P[0].style.webkitTransform = O), t.roundLengths && (T = Math.floor(T)) } else T = (i - (t.slidesPerView - 1) * g) / t.slidesPerView, t.roundLengths && (T = Math.floor(T)), l[k] && (e.isHorizontal() ? l[k].style.width = T + "px" : l[k].style.height = T + "px"); l[k] && (l[k].swiperSlideSize = T), u.push(T), t.centeredSlides ? (b = b + T / 2 + w / 2 + g, 0 === w && 0 !== k && (b = b - i / 2 - g), 0 === k && (b = b - i / 2 - g), Math.abs(b) < .001 && (b = 0), t.roundLengths && (b = Math.floor(b)), y % t.slidesPerGroup == 0 && p.push(b), c.push(b)) : (t.roundLengths && (b = Math.floor(b)), y % t.slidesPerGroup == 0 && p.push(b), c.push(b), b = b + T + g), e.virtualSize += T + g, w = T, y += 1 } } if (e.virtualSize = Math.max(e.virtualSize, i) + v, s && r && ("slide" === t.effect || "coverflow" === t.effect) && a.css({ width: e.virtualSize + t.spaceBetween + "px" }), F.flexbox && !t.setWrapperSize || (e.isHorizontal() ? a.css({ width: e.virtualSize + t.spaceBetween + "px" }) : a.css({ height: e.virtualSize + t.spaceBetween + "px" })), 1 < t.slidesPerColumn && (e.virtualSize = (T + t.spaceBetween) * x, e.virtualSize = Math.ceil(e.virtualSize / t.slidesPerColumn) - t.spaceBetween, e.isHorizontal() ? a.css({ width: e.virtualSize + t.spaceBetween + "px" }) : a.css({ height: e.virtualSize + t.spaceBetween + "px" }), t.centeredSlides)) { E = []; for (var A = 0; A < p.length; A += 1) { var N = p[A]; t.roundLengths && (N = Math.floor(N)), p[A] < e.virtualSize + p[0] && E.push(N) } p = E } if (!t.centeredSlides) { E = []; for (var H = 0; H < p.length; H += 1) { var G = p[H]; t.roundLengths && (G = Math.floor(G)), p[H] <= e.virtualSize - i && E.push(G) } p = E, 1 < Math.floor(e.virtualSize - i) - Math.floor(p[p.length - 1]) && p.push(e.virtualSize - i) } if (0 === p.length && (p = [0]), 0 !== t.spaceBetween && (e.isHorizontal() ? s ? l.css({ marginLeft: g + "px" }) : l.css({ marginRight: g + "px" }) : l.css({ marginBottom: g + "px" })), t.centerInsufficientSlides) { var B = 0; if (u.forEach(function(e) { B += e + (t.spaceBetween ? t.spaceBetween : 0) }), (B -= t.spaceBetween) < i) { var X = (i - B) / 2; p.forEach(function(e, t) { p[t] = e - X }), c.forEach(function(e, t) { c[t] = e + X }) } } V.extend(e, { slides: l, snapGrid: p, slidesGrid: c, slidesSizesGrid: u }), d !== o && e.emit("slidesLengthChange"), p.length !== f && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), c.length !== m && e.emit("slidesGridLengthChange"), (t.watchSlidesProgress || t.watchSlidesVisibility) && e.updateSlidesOffset() } }, updateAutoHeight: function(e) { var t, a = this, i = [], s = 0; if ("number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed), "auto" !== a.params.slidesPerView && 1 < a.params.slidesPerView) for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) { var r = a.activeIndex + t; if (r > a.slides.length) break; i.push(a.slides.eq(r)[0]) } else i.push(a.slides.eq(a.activeIndex)[0]); for (t = 0; t < i.length; t += 1) if (void 0 !== i[t]) { var n = i[t].offsetHeight; s = s < n ? n : s } s && a.$wrapperEl.css("height", s + "px") }, updateSlidesOffset: function() { for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop }, updateSlidesProgress: function(e) { void 0 === e && (e = this && this.translate || 0); var t = this, a = t.params, i = t.slides, s = t.rtlTranslate; if (0 !== i.length) { void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset(); var r = -e; s && (r = e), i.removeClass(a.slideVisibleClass), t.visibleSlidesIndexes = [], t.visibleSlides = []; for (var n = 0; n < i.length; n += 1) { var o = i[n], l = (r + (a.centeredSlides ? t.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + a.spaceBetween); if (a.watchSlidesVisibility) { var d = -(r - o.swiperSlideOffset), p = d + t.slidesSizesGrid[n]; (0 <= d && d < t.size || 0 < p && p <= t.size || d <= 0 && p >= t.size) && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(n), i.eq(n).addClass(a.slideVisibleClass)) } o.progress = s ? -l : l } t.visibleSlides = L(t.visibleSlides) } }, updateProgress: function(e) { void 0 === e && (e = this && this.translate || 0); var t = this, a = t.params, i = t.maxTranslate() - t.minTranslate(), s = t.progress, r = t.isBeginning, n = t.isEnd, o = r, l = n; 0 === i ? n = r = !(s = 0) : (r = (s = (e - t.minTranslate()) / i) <= 0, n = 1 <= s), V.extend(t, { progress: s, isBeginning: r, isEnd: n }), (a.watchSlidesProgress || a.watchSlidesVisibility) && t.updateSlidesProgress(e), r && !o && t.emit("reachBeginning toEdge"), n && !l && t.emit("reachEnd toEdge"), (o && !r || l && !n) && t.emit("fromEdge"), t.emit("progress", s) }, updateSlidesClasses: function() { var e, t = this, a = t.slides, i = t.params, s = t.$wrapperEl, r = t.activeIndex, n = t.realIndex, o = t.virtual && i.virtual.enabled; a.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = o ? t.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass)); var l = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass); i.loop && 0 === l.length && (l = a.eq(0)).addClass(i.slideNextClass); var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass); i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass), i.loop && (l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), d.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass)) }, updateActiveIndex: function(e) { var t, a = this, i = a.rtlTranslate ? a.translate : -a.translate, s = a.slidesGrid, r = a.snapGrid, n = a.params, o = a.activeIndex, l = a.realIndex, d = a.snapIndex, p = e; if (void 0 === p) { for (var c = 0; c < s.length; c += 1) void 0 !== s[c + 1] ? i >= s[c] && i < s[c + 1] - (s[c + 1] - s[c]) / 2 ? p = c : i >= s[c] && i < s[c + 1] && (p = c + 1) : i >= s[c] && (p = c); n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0) } if ((t = 0 <= r.indexOf(i) ? r.indexOf(i) : Math.floor(p / n.slidesPerGroup)) >= r.length && (t = r.length - 1), p !== o) { var u = parseInt(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10); V.extend(a, { snapIndex: t, realIndex: u, previousIndex: o, activeIndex: p }), a.emit("activeIndexChange"), a.emit("snapIndexChange"), l !== u && a.emit("realIndexChange"), a.emit("slideChange") } else t !== d && (a.snapIndex = t, a.emit("snapIndexChange")) }, updateClickedSlide: function(e) { var t = this, a = t.params, i = L(e.target).closest("." + a.slideClass)[0], s = !1; if (i) for (var r = 0; r < t.slides.length; r += 1) t.slides[r] === i && (s = !0); if (!i || !s) return t.clickedSlide = void 0, void(t.clickedIndex = void 0); t.clickedSlide = i, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(L(i).attr("data-swiper-slide-index"), 10) : t.clickedIndex = L(i).index(), a.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide() } }; var d = { getTranslate: function(e) { void 0 === e && (e = this.isHorizontal() ? "x" : "y"); var t = this.params, a = this.rtlTranslate, i = this.translate, s = this.$wrapperEl; if (t.virtualTranslate) return a ? -i : i; var r = V.getTranslate(s[0], e); return a && (r = -r), r || 0 }, setTranslate: function(e, t) { var a = this, i = a.rtlTranslate, s = a.params, r = a.$wrapperEl, n = a.progress, o = 0, l = 0; a.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), s.virtualTranslate || (F.transforms3d ? r.transform("translate3d(" + o + "px, " + l + "px, 0px)") : r.transform("translate(" + o + "px, " + l + "px)")), a.previousTranslate = a.translate, a.translate = a.isHorizontal() ? o : l; var d = a.maxTranslate() - a.minTranslate(); (0 === d ? 0 : (e - a.minTranslate()) / d) !== n && a.updateProgress(e), a.emit("setTranslate", a.translate, t) }, minTranslate: function() { return -this.snapGrid[0] }, maxTranslate: function() { return -this.snapGrid[this.snapGrid.length - 1] } }; var p = { setTransition: function(e, t) { this.$wrapperEl.transition(e), this.emit("setTransition", e, t) }, transitionStart: function(e, t) { void 0 === e && (e = !0); var a = this, i = a.activeIndex, s = a.params, r = a.previousIndex; s.autoHeight && a.updateAutoHeight(); var n = t; if (n || (n = r < i ? "next" : i < r ? "prev" : "reset"), a.emit("transitionStart"), e && i !== r) { if ("reset" === n) return void a.emit("slideResetTransitionStart"); a.emit("slideChangeTransitionStart"), "next" === n ? a.emit("slideNextTransitionStart") : a.emit("slidePrevTransitionStart") } }, transitionEnd: function(e, t) { void 0 === e && (e = !0); var a = this, i = a.activeIndex, s = a.previousIndex; a.animating = !1, a.setTransition(0); var r = t; if (r || (r = s < i ? "next" : i < s ? "prev" : "reset"), a.emit("transitionEnd"), e && i !== s) { if ("reset" === r) return void a.emit("slideResetTransitionEnd"); a.emit("slideChangeTransitionEnd"), "next" === r ? a.emit("slideNextTransitionEnd") : a.emit("slidePrevTransitionEnd") } } }; var c = { slideTo: function(e, t, a, i) { void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); var s = this, r = e; r < 0 && (r = 0); var n = s.params, o = s.snapGrid, l = s.slidesGrid, d = s.previousIndex, p = s.activeIndex, c = s.rtlTranslate; if (s.animating && n.preventInteractionOnTransition) return !1; var u = Math.floor(r / n.slidesPerGroup); u >= o.length && (u = o.length - 1), (p || n.initialSlide || 0) === (d || 0) && a && s.emit("beforeSlideChangeStart"); var h, v = -o[u]; if (s.updateProgress(v), n.normalizeSlideIndex) for (var f = 0; f < l.length; f += 1) - Math.floor(100 * v) >= Math.floor(100 * l[f]) && (r = f); if (s.initialized && r !== p) { if (!s.allowSlideNext && v < s.translate && v < s.minTranslate()) return !1; if (!s.allowSlidePrev && v > s.translate && v > s.maxTranslate() && (p || 0) !== r) return !1 } return h = p < r ? "next" : r < p ? "prev" : "reset", c && -v === s.translate || !c && v === s.translate ? (s.updateActiveIndex(r), n.autoHeight && s.updateAutoHeight(), s.updateSlidesClasses(), "slide" !== n.effect && s.setTranslate(v), "reset" !== h && (s.transitionStart(a, h), s.transitionEnd(a, h)), !1) : (0 !== t && F.transition ? (s.setTransition(t), s.setTranslate(v), s.updateActiveIndex(r), s.updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a, h), s.animating || (s.animating = !0, s.onSlideToWrapperTransitionEnd || (s.onSlideToWrapperTransitionEnd = function(e) { s && !s.destroyed && e.target === this && (s.$wrapperEl[0].removeEventListener("transitionend", s.onSlideToWrapperTransitionEnd), s.$wrapperEl[0].removeEventListener("webkitTransitionEnd", s.onSlideToWrapperTransitionEnd), s.onSlideToWrapperTransitionEnd = null, delete s.onSlideToWrapperTransitionEnd, s.transitionEnd(a, h)) }), s.$wrapperEl[0].addEventListener("transitionend", s.onSlideToWrapperTransitionEnd), s.$wrapperEl[0].addEventListener("webkitTransitionEnd", s.onSlideToWrapperTransitionEnd))) : (s.setTransition(0), s.setTranslate(v), s.updateActiveIndex(r), s.updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a, h), s.transitionEnd(a, h)), !0) }, slideToLoop: function(e, t, a, i) { void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); var s = e; return this.params.loop && (s += this.loopedSlides), this.slideTo(s, t, a, i) }, slideNext: function(e, t, a) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var i = this, s = i.params, r = i.animating; return s.loop ? !r && (i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft, i.slideTo(i.activeIndex + s.slidesPerGroup, e, t, a)) : i.slideTo(i.activeIndex + s.slidesPerGroup, e, t, a) }, slidePrev: function(e, t, a) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var i = this, s = i.params, r = i.animating, n = i.snapGrid, o = i.slidesGrid, l = i.rtlTranslate; if (s.loop) { if (r) return !1; i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft } function d(e) { return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e) } var p, c = d(l ? i.translate : -i.translate), u = n.map(function(e) { return d(e) }), h = (o.map(function(e) { return d(e) }), n[u.indexOf(c)], n[u.indexOf(c) - 1]); return void 0 !== h && (p = o.indexOf(h)) < 0 && (p = i.activeIndex - 1), i.slideTo(p, e, t, a) }, slideReset: function(e, t, a) { return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, a) }, slideToClosest: function(e, t, a) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var i = this, s = i.activeIndex, r = Math.floor(s / i.params.slidesPerGroup); if (r < i.snapGrid.length - 1) { var n = i.rtlTranslate ? i.translate : -i.translate, o = i.snapGrid[r]; (i.snapGrid[r + 1] - o) / 2 < n - o && (s = i.params.slidesPerGroup) } return i.slideTo(s, e, t, a) }, slideToClickedSlide: function() { var e, t = this, a = t.params, i = t.$wrapperEl, s = "auto" === a.slidesPerView ? t.slidesPerViewDynamic() : a.slidesPerView, r = t.clickedIndex; if (a.loop) { if (t.animating) return; e = parseInt(L(t.clickedSlide).attr("data-swiper-slide-index"), 10), a.centeredSlides ? r < t.loopedSlides - s / 2 || r > t.slides.length - t.loopedSlides + s / 2 ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), V.nextTick(function() { t.slideTo(r) })) : t.slideTo(r) : r > t.slides.length - s ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), V.nextTick(function() { t.slideTo(r) })) : t.slideTo(r) } else t.slideTo(r) } }; var u = { loopCreate: function() { var i = this, e = i.params, t = i.$wrapperEl; t.children("." + e.slideClass + "." + e.slideDuplicateClass).remove(); var s = t.children("." + e.slideClass); if (e.loopFillGroupWithBlank) { var a = e.slidesPerGroup - s.length % e.slidesPerGroup; if (a !== e.slidesPerGroup) { for (var r = 0; r < a; r += 1) { var n = L(f.createElement("div")).addClass(e.slideClass + " " + e.slideBlankClass); t.append(n) } s = t.children("." + e.slideClass) } } "auto" !== e.slidesPerView || e.loopedSlides || (e.loopedSlides = s.length), i.loopedSlides = parseInt(e.loopedSlides || e.slidesPerView, 10), i.loopedSlides += e.loopAdditionalSlides, i.loopedSlides > s.length && (i.loopedSlides = s.length); var o = [], l = []; s.each(function(e, t) { var a = L(t); e < i.loopedSlides && l.push(t), e < s.length && e >= s.length - i.loopedSlides && o.push(t), a.attr("data-swiper-slide-index", e) }); for (var d = 0; d < l.length; d += 1) t.append(L(l[d].cloneNode(!0)).addClass(e.slideDuplicateClass)); for (var p = o.length - 1; 0 <= p; p -= 1) t.prepend(L(o[p].cloneNode(!0)).addClass(e.slideDuplicateClass)) }, loopFix: function() { var e, t = this, a = t.params, i = t.activeIndex, s = t.slides, r = t.loopedSlides, n = t.allowSlidePrev, o = t.allowSlideNext, l = t.snapGrid, d = t.rtlTranslate; t.allowSlidePrev = !0, t.allowSlideNext = !0; var p = -l[i] - t.getTranslate(); i < r ? (e = s.length - 3 * r + i, e += r, t.slideTo(e, 0, !1, !0) && 0 !== p && t.setTranslate((d ? -t.translate : t.translate) - p)) : ("auto" === a.slidesPerView && 2 * r <= i || i >= s.length - r) && (e = -s.length + i + r, e += r, t.slideTo(e, 0, !1, !0) && 0 !== p && t.setTranslate((d ? -t.translate : t.translate) - p)); t.allowSlidePrev = n, t.allowSlideNext = o }, loopDestroy: function() { var e = this.$wrapperEl, t = this.params, a = this.slides; e.children("." + t.slideClass + "." + t.slideDuplicateClass).remove(), a.removeAttr("data-swiper-slide-index") } }; var h = { setGrabCursor: function(e) { if (!(F.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked)) { var t = this.el; t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab" } }, unsetGrabCursor: function() { F.touch || this.params.watchOverflow && this.isLocked || (this.el.style.cursor = "") } }; var v = { appendSlide: function(e) { var t = this, a = t.$wrapperEl, i = t.params; if (i.loop && t.loopDestroy(), "object" == typeof e && "length" in e) for (var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]); else a.append(e); i.loop && t.loopCreate(), i.observer && F.observer || t.update() }, prependSlide: function(e) { var t = this, a = t.params, i = t.$wrapperEl, s = t.activeIndex; a.loop && t.loopDestroy(); var r = s + 1; if ("object" == typeof e && "length" in e) { for (var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]); r = s + e.length } else i.prepend(e); a.loop && t.loopCreate(), a.observer && F.observer || t.update(), t.slideTo(r, 0, !1) }, addSlide: function(e, t) { var a = this, i = a.$wrapperEl, s = a.params, r = a.activeIndex; s.loop && (r -= a.loopedSlides, a.loopDestroy(), a.slides = i.children("." + s.slideClass)); var n = a.slides.length; if (e <= 0) a.prependSlide(t); else if (n <= e) a.appendSlide(t); else { for (var o = e < r ? r + 1 : r, l = [], d = n - 1; e <= d; d -= 1) { var p = a.slides.eq(d); p.remove(), l.unshift(p) } if ("object" == typeof t && "length" in t) { for (var c = 0; c < t.length; c += 1) t[c] && i.append(t[c]); o = e < r ? r + t.length : r } else i.append(t); for (var u = 0; u < l.length; u += 1) i.append(l[u]); s.loop && a.loopCreate(), s.observer && F.observer || a.update(), s.loop ? a.slideTo(o + a.loopedSlides, 0, !1) : a.slideTo(o, 0, !1) } }, removeSlide: function(e) { var t = this, a = t.params, i = t.$wrapperEl, s = t.activeIndex; a.loop && (s -= t.loopedSlides, t.loopDestroy(), t.slides = i.children("." + a.slideClass)); var r, n = s; if ("object" == typeof e && "length" in e) { for (var o = 0; o < e.length; o += 1) r = e[o], t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1); n = Math.max(n, 0) } else r = e, t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), n = Math.max(n, 0); a.loop && t.loopCreate(), a.observer && F.observer || t.update(), a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1) }, removeAllSlides: function() { for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t); this.removeSlide(e) } }, m = function() { var e = Y.navigator.userAgent, t = { ios: !1, android: !1, androidChrome: !1, desktop: !1, windows: !1, iphone: !1, ipod: !1, ipad: !1, cordova: Y.cordova || Y.phonegap, phonegap: Y.cordova || Y.phonegap }, a = e.match(/(Windows Phone);?[\s\/]+([\d.]+)?/), i = e.match(/(Android);?[\s\/]+([\d.]+)?/), s = e.match(/(iPad).*OS\s([\d_]+)/), r = e.match(/(iPod)(.*OS\s([\d_]+))?/), n = !s && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/); if (a && (t.os = "windows", t.osVersion = a[2], t.windows = !0), i && !a && (t.os = "android", t.osVersion = i[2], t.android = !0, t.androidChrome = 0 <= e.toLowerCase().indexOf("chrome")), (s || n || r) && (t.os = "ios", t.ios = !0), n && !r && (t.osVersion = n[2].replace(/_/g, "."), t.iphone = !0), s && (t.osVersion = s[2].replace(/_/g, "."), t.ipad = !0), r && (t.osVersion = r[3] ? r[3].replace(/_/g, ".") : null, t.iphone = !0), t.ios && t.osVersion && 0 <= e.indexOf("Version/") && "10" === t.osVersion.split(".")[0] && (t.osVersion = e.toLowerCase().split("version/")[1].split(" ")[0]), t.desktop = !(t.os || t.android || t.webView), t.webView = (n || s || r) && e.match(/.*AppleWebKit(?!.*Safari)/i), t.os && "ios" === t.os) { var o = t.osVersion.split("."), l = f.querySelector('meta[name="viewport"]'); t.minimalUi = !t.webView && (r || n) && (1 * o[0] == 7 ? 1 <= 1 * o[1] : 7 < 1 * o[0]) && l && 0 <= l.getAttribute("content").indexOf("minimal-ui") } return t.pixelRatio = Y.devicePixelRatio || 1, t }(); function g() { var e = this, t = e.params, a = e.el; if (!a || 0 !== a.offsetWidth) { t.breakpoints && e.setBreakpoint(); var i = e.allowSlideNext, s = e.allowSlidePrev, r = e.snapGrid; if (e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), t.freeMode) { var n = Math.min(Math.max(e.translate, e.maxTranslate()), e.minTranslate()); e.setTranslate(n), e.updateActiveIndex(), e.updateSlidesClasses(), t.autoHeight && e.updateAutoHeight() } else e.updateSlidesClasses(), ("auto" === t.slidesPerView || 1 < t.slidesPerView) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0); e.allowSlidePrev = s, e.allowSlideNext = i, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow() } } var b = { attachEvents: function() { var e = this, t = e.params, a = e.touchEvents, i = e.el, s = e.wrapperEl; e.onTouchStart = function(e) { var t = this, a = t.touchEventsData, i = t.params, s = t.touches; if (!t.animating || !i.preventInteractionOnTransition) { var r = e; if (r.originalEvent && (r = r.originalEvent), a.isTouchEvent = "touchstart" === r.type, (a.isTouchEvent || !("which" in r) || 3 !== r.which) && !(!a.isTouchEvent && "button" in r && 0 < r.button || a.isTouched && a.isMoved)) if (i.noSwiping && L(r.target).closest(i.noSwipingSelector ? i.noSwipingSelector : "." + i.noSwipingClass)[0]) t.allowClick = !0; else if (!i.swipeHandler || L(r).closest(i.swipeHandler)[0]) { s.currentX = "touchstart" === r.type ? r.targetTouches[0].pageX : r.pageX, s.currentY = "touchstart" === r.type ? r.targetTouches[0].pageY : r.pageY; var n = s.currentX, o = s.currentY, l = i.edgeSwipeDetection || i.iOSEdgeSwipeDetection, d = i.edgeSwipeThreshold || i.iOSEdgeSwipeThreshold; if (!l || !(n <= d || n >= Y.screen.width - d)) { if (V.extend(a, { isTouched: !0, isMoved: !1, allowTouchCallbacks: !0, isScrolling: void 0, startMoving: void 0 }), s.startX = n, s.startY = o, a.touchStartTime = V.now(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, 0 < i.threshold && (a.allowThresholdMove = !1), "touchstart" !== r.type) { var p = !0; L(r.target).is(a.formElements) && (p = !1), f.activeElement && L(f.activeElement).is(a.formElements) && f.activeElement !== r.target && f.activeElement.blur(); var c = p && t.allowTouchMove && i.touchStartPreventDefault; (i.touchStartForcePreventDefault || c) && r.preventDefault() } t.emit("touchStart", r) } } } }.bind(e), e.onTouchMove = function(e) { var t = this, a = t.touchEventsData, i = t.params, s = t.touches, r = t.rtlTranslate, n = e; if (n.originalEvent && (n = n.originalEvent), a.isTouched) { if (!a.isTouchEvent || "mousemove" !== n.type) { var o = "touchmove" === n.type ? n.targetTouches[0].pageX : n.pageX, l = "touchmove" === n.type ? n.targetTouches[0].pageY : n.pageY; if (n.preventedByNestedSwiper) return s.startX = o, void(s.startY = l); if (!t.allowTouchMove) return t.allowClick = !1, void(a.isTouched && (V.extend(s, { startX: o, startY: l, currentX: o, currentY: l }), a.touchStartTime = V.now())); if (a.isTouchEvent && i.touchReleaseOnEdges && !i.loop) if (t.isVertical()) { if (l < s.startY && t.translate <= t.maxTranslate() || l > s.startY && t.translate >= t.minTranslate()) return a.isTouched = !1, void(a.isMoved = !1) } else if (o < s.startX && t.translate <= t.maxTranslate() || o > s.startX && t.translate >= t.minTranslate()) return; if (a.isTouchEvent && f.activeElement && n.target === f.activeElement && L(n.target).is(a.formElements)) return a.isMoved = !0, void(t.allowClick = !1); if (a.allowTouchCallbacks && t.emit("touchMove", n), !(n.targetTouches && 1 < n.targetTouches.length)) { s.currentX = o, s.currentY = l; var d, p = s.currentX - s.startX, c = s.currentY - s.startY; if (!(t.params.threshold && Math.sqrt(Math.pow(p, 2) + Math.pow(c, 2)) < t.params.threshold)) if (void 0 === a.isScrolling && (t.isHorizontal() && s.currentY === s.startY || t.isVertical() && s.currentX === s.startX ? a.isScrolling = !1 : 25 <= p * p + c * c && (d = 180 * Math.atan2(Math.abs(c), Math.abs(p)) / Math.PI, a.isScrolling = t.isHorizontal() ? d > i.touchAngle : 90 - d > i.touchAngle)), a.isScrolling && t.emit("touchMoveOpposite", n), void 0 === a.startMoving && (s.currentX === s.startX && s.currentY === s.startY || (a.startMoving = !0)), a.isScrolling) a.isTouched = !1; else if (a.startMoving) { t.allowClick = !1, n.preventDefault(), i.touchMoveStopPropagation && !i.nested && n.stopPropagation(), a.isMoved || (i.loop && t.loopFix(), a.startTranslate = t.getTranslate(), t.setTransition(0), t.animating && t.$wrapperEl.trigger("webkitTransitionEnd transitionend"), a.allowMomentumBounce = !1, !i.grabCursor || !0 !== t.allowSlideNext && !0 !== t.allowSlidePrev || t.setGrabCursor(!0), t.emit("sliderFirstMove", n)), t.emit("sliderMove", n), a.isMoved = !0; var u = t.isHorizontal() ? p : c; s.diff = u, u *= i.touchRatio, r && (u = -u), t.swipeDirection = 0 < u ? "prev" : "next", a.currentTranslate = u + a.startTranslate; var h = !0, v = i.resistanceRatio; if (i.touchReleaseOnEdges && (v = 0), 0 < u && a.currentTranslate > t.minTranslate() ? (h = !1, i.resistance && (a.currentTranslate = t.minTranslate() - 1 + Math.pow(-t.minTranslate() + a.startTranslate + u, v))) : u < 0 && a.currentTranslate < t.maxTranslate() && (h = !1, i.resistance && (a.currentTranslate = t.maxTranslate() + 1 - Math.pow(t.maxTranslate() - a.startTranslate - u, v))), h && (n.preventedByNestedSwiper = !0), !t.allowSlideNext && "next" === t.swipeDirection && a.currentTranslate < a.startTranslate && (a.currentTranslate = a.startTranslate), !t.allowSlidePrev && "prev" === t.swipeDirection && a.currentTranslate > a.startTranslate && (a.currentTranslate = a.startTranslate), 0 < i.threshold) { if (!(Math.abs(u) > i.threshold || a.allowThresholdMove)) return void(a.currentTranslate = a.startTranslate); if (!a.allowThresholdMove) return a.allowThresholdMove = !0, s.startX = s.currentX, s.startY = s.currentY, a.currentTranslate = a.startTranslate, void(s.diff = t.isHorizontal() ? s.currentX - s.startX : s.currentY - s.startY) } i.followFinger && ((i.freeMode || i.watchSlidesProgress || i.watchSlidesVisibility) && (t.updateActiveIndex(), t.updateSlidesClasses()), i.freeMode && (0 === a.velocities.length && a.velocities.push({ position: s[t.isHorizontal() ? "startX" : "startY"], time: a.touchStartTime }), a.velocities.push({ position: s[t.isHorizontal() ? "currentX" : "currentY"], time: V.now() })), t.updateProgress(a.currentTranslate), t.setTranslate(a.currentTranslate)) } } } } else a.startMoving && a.isScrolling && t.emit("touchMoveOpposite", n) }.bind(e), e.onTouchEnd = function(e) { var t = this, a = t.touchEventsData, i = t.params, s = t.touches, r = t.rtlTranslate, n = t.$wrapperEl, o = t.slidesGrid, l = t.snapGrid, d = e; if (d.originalEvent && (d = d.originalEvent), a.allowTouchCallbacks && t.emit("touchEnd", d), a.allowTouchCallbacks = !1, !a.isTouched) return a.isMoved && i.grabCursor && t.setGrabCursor(!1), a.isMoved = !1, void(a.startMoving = !1); i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); var p, c = V.now(), u = c - a.touchStartTime; if (t.allowClick && (t.updateClickedSlide(d), t.emit("tap", d), u < 300 && 300 < c - a.lastClickTime && (a.clickTimeout && clearTimeout(a.clickTimeout), a.clickTimeout = V.nextTick(function() { t && !t.destroyed && t.emit("click", d) }, 300)), u < 300 && c - a.lastClickTime < 300 && (a.clickTimeout && clearTimeout(a.clickTimeout), t.emit("doubleTap", d))), a.lastClickTime = V.now(), V.nextTick(function() { t.destroyed || (t.allowClick = !0) }), !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) return a.isTouched = !1, a.isMoved = !1, void(a.startMoving = !1); if (a.isTouched = !1, a.isMoved = !1, a.startMoving = !1, p = i.followFinger ? r ? t.translate : -t.translate : -a.currentTranslate, i.freeMode) { if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex); if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1)); if (i.freeModeMomentum) { if (1 < a.velocities.length) { var h = a.velocities.pop(), v = a.velocities.pop(), f = h.position - v.position, m = h.time - v.time; t.velocity = f / m, t.velocity /= 2, Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), (150 < m || 300 < V.now() - h.time) && (t.velocity = 0) } else t.velocity = 0; t.velocity *= i.freeModeMomentumVelocityRatio, a.velocities.length = 0; var g = 1e3 * i.freeModeMomentumRatio, b = t.velocity * g, w = t.translate + b; r && (w = -w); var y, x, T = !1, E = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio; if (w < t.maxTranslate()) i.freeModeMomentumBounce ? (w + t.maxTranslate() < -E && (w = t.maxTranslate() - E), y = t.maxTranslate(), T = !0, a.allowMomentumBounce = !0) : w = t.maxTranslate(), i.loop && i.centeredSlides && (x = !0); else if (w > t.minTranslate()) i.freeModeMomentumBounce ? (w - t.minTranslate() > E && (w = t.minTranslate() + E), y = t.minTranslate(), T = !0, a.allowMomentumBounce = !0) : w = t.minTranslate(), i.loop && i.centeredSlides && (x = !0); else if (i.freeModeSticky) { for (var S, C = 0; C < l.length; C += 1) if (l[C] > -w) { S = C; break } w = -(w = Math.abs(l[S] - w) < Math.abs(l[S - 1] - w) || "next" === t.swipeDirection ? l[S] : l[S - 1]) } if (x && t.once("transitionEnd", function() { t.loopFix() }), 0 !== t.velocity) g = r ? Math.abs((-w - t.translate) / t.velocity) : Math.abs((w - t.translate) / t.velocity); else if (i.freeModeSticky) return void t.slideToClosest(); i.freeModeMomentumBounce && T ? (t.updateProgress(y), t.setTransition(g), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd(function() { t && !t.destroyed && a.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(i.speed), t.setTranslate(y), n.transitionEnd(function() { t && !t.destroyed && t.transitionEnd() })) })) : t.velocity ? (t.updateProgress(w), t.setTransition(g), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd(function() { t && !t.destroyed && t.transitionEnd() }))) : t.updateProgress(w), t.updateActiveIndex(), t.updateSlidesClasses() } else if (i.freeModeSticky) return void t.slideToClosest(); (!i.freeModeMomentum || u >= i.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()) } else { for (var M = 0, k = t.slidesSizesGrid[0], P = 0; P < o.length; P += i.slidesPerGroup) void 0 !== o[P + i.slidesPerGroup] ? p >= o[P] && p < o[P + i.slidesPerGroup] && (k = o[(M = P) + i.slidesPerGroup] - o[P]) : p >= o[P] && (M = P, k = o[o.length - 1] - o[o.length - 2]); var z = (p - o[M]) / k; if (u > i.longSwipesMs) { if (!i.longSwipes) return void t.slideTo(t.activeIndex); "next" === t.swipeDirection && (z >= i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t.slideTo(M)), "prev" === t.swipeDirection && (z > 1 - i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t.slideTo(M)) } else { if (!i.shortSwipes) return void t.slideTo(t.activeIndex); "next" === t.swipeDirection && t.slideTo(M + i.slidesPerGroup), "prev" === t.swipeDirection && t.slideTo(M) } } }.bind(e), e.onClick = function(e) { this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation())) }.bind(e); var r = "container" === t.touchEventsTarget ? i : s, n = !!t.nested; if (F.touch || !F.pointerEvents && !F.prefixedPointerEvents) { if (F.touch) { var o = !("touchstart" !== a.start || !F.passiveListener || !t.passiveListeners) && { passive: !0, capture: !1 }; r.addEventListener(a.start, e.onTouchStart, o), r.addEventListener(a.move, e.onTouchMove, F.passiveListener ? { passive: !1, capture: n } : n), r.addEventListener(a.end, e.onTouchEnd, o) }(t.simulateTouch && !m.ios && !m.android || t.simulateTouch && !F.touch && m.ios) && (r.addEventListener("mousedown", e.onTouchStart, !1), f.addEventListener("mousemove", e.onTouchMove, n), f.addEventListener("mouseup", e.onTouchEnd, !1)) } else r.addEventListener(a.start, e.onTouchStart, !1), f.addEventListener(a.move, e.onTouchMove, n), f.addEventListener(a.end, e.onTouchEnd, !1); (t.preventClicks || t.preventClicksPropagation) && r.addEventListener("click", e.onClick, !0), e.on(m.ios || m.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", g, !0) }, detachEvents: function() { var e = this, t = e.params, a = e.touchEvents, i = e.el, s = e.wrapperEl, r = "container" === t.touchEventsTarget ? i : s, n = !!t.nested; if (F.touch || !F.pointerEvents && !F.prefixedPointerEvents) { if (F.touch) { var o = !("onTouchStart" !== a.start || !F.passiveListener || !t.passiveListeners) && { passive: !0, capture: !1 }; r.removeEventListener(a.start, e.onTouchStart, o), r.removeEventListener(a.move, e.onTouchMove, n), r.removeEventListener(a.end, e.onTouchEnd, o) }(t.simulateTouch && !m.ios && !m.android || t.simulateTouch && !F.touch && m.ios) && (r.removeEventListener("mousedown", e.onTouchStart, !1), f.removeEventListener("mousemove", e.onTouchMove, n), f.removeEventListener("mouseup", e.onTouchEnd, !1)) } else r.removeEventListener(a.start, e.onTouchStart, !1), f.removeEventListener(a.move, e.onTouchMove, n), f.removeEventListener(a.end, e.onTouchEnd, !1); (t.preventClicks || t.preventClicksPropagation) && r.removeEventListener("click", e.onClick, !0), e.off(m.ios || m.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", g) } }; var w, y = { setBreakpoint: function() { var e = this, t = e.activeIndex, a = e.initialized, i = e.loopedSlides; void 0 === i && (i = 0); var s = e.params, r = s.breakpoints; if (r && (!r || 0 !== Object.keys(r).length)) { var n = e.getBreakpoint(r); if (n && e.currentBreakpoint !== n) { var o = n in r ? r[n] : void 0; o && ["slidesPerView", "spaceBetween", "slidesPerGroup"].forEach(function(e) { var t = o[e]; void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto") }); var l = o || e.originalParams, d = s.loop && l.slidesPerView !== s.slidesPerView; V.extend(e.params, l), V.extend(e, { allowTouchMove: e.params.allowTouchMove, allowSlideNext: e.params.allowSlideNext, allowSlidePrev: e.params.allowSlidePrev }), e.currentBreakpoint = n, d && a && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - i + e.loopedSlides, 0, !1)), e.emit("breakpoint", l) } } }, getBreakpoint: function(e) { if (e) { var t = !1, a = []; Object.keys(e).forEach(function(e) { a.push(e) }), a.sort(function(e, t) { return parseInt(e, 10) - parseInt(t, 10) }); for (var i = 0; i < a.length; i += 1) { var s = a[i]; this.params.breakpointsInverse ? s <= Y.innerWidth && (t = s) : s >= Y.innerWidth && !t && (t = s) } return t || "max" } } }, I = { isIE: !!Y.navigator.userAgent.match(/Trident/g) || !!Y.navigator.userAgent.match(/MSIE/g), isEdge: !!Y.navigator.userAgent.match(/Edge/g), isSafari: (w = Y.navigator.userAgent.toLowerCase(), 0 <= w.indexOf("safari") && w.indexOf("chrome") < 0 && w.indexOf("android") < 0), isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(Y.navigator.userAgent) }; var x = { init: !0, direction: "horizontal", touchEventsTarget: "container", initialSlide: 0, speed: 300, preventInteractionOnTransition: !1, edgeSwipeDetection: !1, edgeSwipeThreshold: 20, freeMode: !1, freeModeMomentum: !0, freeModeMomentumRatio: 1, freeModeMomentumBounce: !0, freeModeMomentumBounceRatio: 1, freeModeMomentumVelocityRatio: 1, freeModeSticky: !1, freeModeMinimumVelocity: .02, autoHeight: !1, setWrapperSize: !1, virtualTranslate: !1, effect: "slide", breakpoints: void 0, breakpointsInverse: !1, spaceBetween: 0, slidesPerView: 1, slidesPerColumn: 1, slidesPerColumnFill: "column", slidesPerGroup: 1, centeredSlides: !1, slidesOffsetBefore: 0, slidesOffsetAfter: 0, normalizeSlideIndex: !0, centerInsufficientSlides: !1, watchOverflow: !1, roundLengths: !1, touchRatio: 1, touchAngle: 45, simulateTouch: !0, shortSwipes: !0, longSwipes: !0, longSwipesRatio: .5, longSwipesMs: 300, followFinger: !0, allowTouchMove: !0, threshold: 0, touchMoveStopPropagation: !0, touchStartPreventDefault: !0, touchStartForcePreventDefault: !1, touchReleaseOnEdges: !1, uniqueNavElements: !0, resistance: !0, resistanceRatio: .85, watchSlidesProgress: !1, watchSlidesVisibility: !1, grabCursor: !1, preventClicks: !0, preventClicksPropagation: !0, slideToClickedSlide: !1, preloadImages: !0, updateOnImagesReady: !0, loop: !1, loopAdditionalSlides: 0, loopedSlides: null, loopFillGroupWithBlank: !1, allowSlidePrev: !0, allowSlideNext: !0, swipeHandler: null, noSwiping: !0, noSwipingClass: "swiper-no-swiping", noSwipingSelector: null, passiveListeners: !0, containerModifierClass: "swiper-container-", slideClass: "swiper-slide", slideBlankClass: "swiper-slide-invisible-blank", slideActiveClass: "swiper-slide-active", slideDuplicateActiveClass: "swiper-slide-duplicate-active", slideVisibleClass: "swiper-slide-visible", slideDuplicateClass: "swiper-slide-duplicate", slideNextClass: "swiper-slide-next", slideDuplicateNextClass: "swiper-slide-duplicate-next", slidePrevClass: "swiper-slide-prev", slideDuplicatePrevClass: "swiper-slide-duplicate-prev", wrapperClass: "swiper-wrapper", runCallbacksOnInit: !0 }, T = { update: o, translate: d, transition: p, slide: c, loop: u, grabCursor: h, manipulation: v, events: b, breakpoints: y, checkOverflow: { checkOverflow: function() { var e = this, t = e.isLocked; e.isLocked = 1 === e.snapGrid.length, e.allowSlideNext = !e.isLocked, e.allowSlidePrev = !e.isLocked, t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"), t && t !== e.isLocked && (e.isEnd = !1, e.navigation.update()) } }, classes: { addClasses: function() { var t = this.classNames, a = this.params, e = this.rtl, i = this.$el, s = []; s.push(a.direction), a.freeMode && s.push("free-mode"), F.flexbox || s.push("no-flexbox"), a.autoHeight && s.push("autoheight"), e && s.push("rtl"), 1 < a.slidesPerColumn && s.push("multirow"), m.android && s.push("android"), m.ios && s.push("ios"), (I.isIE || I.isEdge) && (F.pointerEvents || F.prefixedPointerEvents) && s.push("wp8-" + a.direction), s.forEach(function(e) { t.push(a.containerModifierClass + e) }), i.addClass(t.join(" ")) }, removeClasses: function() { var e = this.$el, t = this.classNames; e.removeClass(t.join(" ")) } }, images: { loadImage: function(e, t, a, i, s, r) { var n; function o() { r && r() } e.complete && s ? o() : t ? ((n = new Y.Image).onload = o, n.onerror = o, i && (n.sizes = i), a && (n.srcset = a), t && (n.src = t)) : o() }, preloadImages: function() { var e = this; function t() { null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady"))) } e.imagesToLoad = e.$el.find("img"); for (var a = 0; a < e.imagesToLoad.length; a += 1) { var i = e.imagesToLoad[a]; e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, t) } } } }, E = {}, S = function(u) { function h() { for (var e, t, s, a = [], i = arguments.length; i--;) a[i] = arguments[i]; 1 === a.length && a[0].constructor && a[0].constructor === Object ? s = a[0] : (t = (e = a)[0], s = e[1]), s || (s = {}), s = V.extend({}, s), t && !s.el && (s.el = t), u.call(this, s), Object.keys(T).forEach(function(t) { Object.keys(T[t]).forEach(function(e) { h.prototype[e] || (h.prototype[e] = T[t][e]) }) }); var r = this; void 0 === r.modules && (r.modules = {}), Object.keys(r.modules).forEach(function(e) { var t = r.modules[e]; if (t.params) { var a = Object.keys(t.params)[0], i = t.params[a]; if ("object" != typeof i || null === i) return; if (!(a in s && "enabled" in i)) return; !0 === s[a] && (s[a] = { enabled: !0 }), "object" != typeof s[a] || "enabled" in s[a] || (s[a].enabled = !0), s[a] || (s[a] = { enabled: !1 }) } }); var n = V.extend({}, x); r.useModulesParams(n), r.params = V.extend({}, n, E, s), r.originalParams = V.extend({}, r.params), r.passedParams = V.extend({}, s); var o = (r.$ = L)(r.params.el); if (t = o[0]) { if (1 < o.length) { var l = []; return o.each(function(e, t) { var a = V.extend({}, s, { el: t }); l.push(new h(a)) }), l } t.swiper = r, o.data("swiper", r); var d, p, c = o.children("." + r.params.wrapperClass); return V.extend(r, { $el: o, el: t, $wrapperEl: c, wrapperEl: c[0], classNames: [], slides: L(), slidesGrid: [], snapGrid: [], slidesSizesGrid: [], isHorizontal: function() { return "horizontal" === r.params.direction }, isVertical: function() { return "vertical" === r.params.direction }, rtl: "rtl" === t.dir.toLowerCase() || "rtl" === o.css("direction"), rtlTranslate: "horizontal" === r.params.direction && ("rtl" === t.dir.toLowerCase() || "rtl" === o.css("direction")), wrongRTL: "-webkit-box" === c.css("display"), activeIndex: 0, realIndex: 0, isBeginning: !0, isEnd: !1, translate: 0, previousTranslate: 0, progress: 0, velocity: 0, animating: !1, allowSlideNext: r.params.allowSlideNext, allowSlidePrev: r.params.allowSlidePrev, touchEvents: (d = ["touchstart", "touchmove", "touchend"], p = ["mousedown", "mousemove", "mouseup"], F.pointerEvents ? p = ["pointerdown", "pointermove", "pointerup"] : F.prefixedPointerEvents && (p = ["MSPointerDown", "MSPointerMove", "MSPointerUp"]), r.touchEventsTouch = { start: d[0], move: d[1], end: d[2] }, r.touchEventsDesktop = { start: p[0], move: p[1], end: p[2] }, F.touch || !r.params.simulateTouch ? r.touchEventsTouch : r.touchEventsDesktop), touchEventsData: { isTouched: void 0, isMoved: void 0, allowTouchCallbacks: void 0, touchStartTime: void 0, isScrolling: void 0, currentTranslate: void 0, startTranslate: void 0, allowThresholdMove: void 0, formElements: "input, select, option, textarea, button, video", lastClickTime: V.now(), clickTimeout: void 0, velocities: [], allowMomentumBounce: void 0, isTouchEvent: void 0, startMoving: void 0 }, allowClick: !0, allowTouchMove: r.params.allowTouchMove, touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 }, imagesToLoad: [], imagesLoaded: 0 }), r.useModules(), r.params.init && r.init(), r } } u && (h.__proto__ = u); var e = { extendedDefaults: { configurable: !0 }, defaults: { configurable: !0 }, Class: { configurable: !0 }, $: { configurable: !0 } }; return ((h.prototype = Object.create(u && u.prototype)).constructor = h).prototype.slidesPerViewDynamic = function() { var e = this, t = e.params, a = e.slides, i = e.slidesGrid, s = e.size, r = e.activeIndex, n = 1; if (t.centeredSlides) { for (var o, l = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) a[d] && !o && (n += 1, s < (l += a[d].swiperSlideSize) && (o = !0)); for (var p = r - 1; 0 <= p; p -= 1) a[p] && !o && (n += 1, s < (l += a[p].swiperSlideSize) && (o = !0)) } else for (var c = r + 1; c < a.length; c += 1) i[c] - i[r] < s && (n += 1); return n }, h.prototype.update = function() { var a = this; if (a && !a.destroyed) { var e = a.snapGrid, t = a.params; t.breakpoints && a.setBreakpoint(), a.updateSize(), a.updateSlides(), a.updateProgress(), a.updateSlidesClasses(), a.params.freeMode ? (i(), a.params.autoHeight && a.updateAutoHeight()) : (("auto" === a.params.slidesPerView || 1 < a.params.slidesPerView) && a.isEnd && !a.params.centeredSlides ? a.slideTo(a.slides.length - 1, 0, !1, !0) : a.slideTo(a.activeIndex, 0, !1, !0)) || i(), t.watchOverflow && e !== a.snapGrid && a.checkOverflow(), a.emit("update") } function i() { var e = a.rtlTranslate ? -1 * a.translate : a.translate, t = Math.min(Math.max(e, a.maxTranslate()), a.minTranslate()); a.setTranslate(t), a.updateActiveIndex(), a.updateSlidesClasses() } }, h.prototype.init = function() { var e = this; e.initialized || (e.emit("beforeInit"), e.params.breakpoints && e.setBreakpoint(), e.addClasses(), e.params.loop && e.loopCreate(), e.updateSize(), e.updateSlides(), e.params.watchOverflow && e.checkOverflow(), e.params.grabCursor && e.setGrabCursor(), e.params.preloadImages && e.preloadImages(), e.params.loop ? e.slideTo(e.params.initialSlide + e.loopedSlides, 0, e.params.runCallbacksOnInit) : e.slideTo(e.params.initialSlide, 0, e.params.runCallbacksOnInit), e.attachEvents(), e.initialized = !0, e.emit("init")) }, h.prototype.destroy = function(e, t) { void 0 === e && (e = !0), void 0 === t && (t = !0); var a = this, i = a.params, s = a.$el, r = a.$wrapperEl, n = a.slides; return void 0 === a.params || a.destroyed || (a.emit("beforeDestroy"), a.initialized = !1, a.detachEvents(), i.loop && a.loopDestroy(), t && (a.removeClasses(), s.removeAttr("style"), r.removeAttr("style"), n && n.length && n.removeClass([i.slideVisibleClass, i.slideActiveClass, i.slideNextClass, i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index").removeAttr("data-swiper-column").removeAttr("data-swiper-row")), a.emit("destroy"), Object.keys(a.eventsListeners).forEach(function(e) { a.off(e) }), !1 !== e && (a.$el[0].swiper = null, a.$el.data("swiper", null), V.deleteProps(a)), a.destroyed = !0), null }, h.extendDefaults = function(e) { V.extend(E, e) }, e.extendedDefaults.get = function() { return E }, e.defaults.get = function() { return x }, e.Class.get = function() { return u }, e.$.get = function() { return L }, Object.defineProperties(h, e), h }(s), C = { name: "device", proto: { device: m }, static: { device: m } }, M = { name: "support", proto: { support: F }, static: { support: F } }, k = { name: "browser", proto: { browser: I }, static: { browser: I } }, P = { name: "resize", create: function() { var e = this; V.extend(e, { resize: { resizeHandler: function() { e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize")) }, orientationChangeHandler: function() { e && !e.destroyed && e.initialized && e.emit("orientationchange") } } }) }, on: { init: function() { Y.addEventListener("resize", this.resize.resizeHandler), Y.addEventListener("orientationchange", this.resize.orientationChangeHandler) }, destroy: function() { Y.removeEventListener("resize", this.resize.resizeHandler), Y.removeEventListener("orientationchange", this.resize.orientationChangeHandler) } } }, z = { func: Y.MutationObserver || Y.WebkitMutationObserver, attach: function(e, t) { void 0 === t && (t = {}); var a = this, i = new z.func(function(e) { if (1 !== e.length) { var t = function() { a.emit("observerUpdate", e[0]) }; Y.requestAnimationFrame ? Y.requestAnimationFrame(t) : Y.setTimeout(t, 0) } else a.emit("observerUpdate", e[0]) }); i.observe(e, { attributes: void 0 === t.attributes || t.attributes, childList: void 0 === t.childList || t.childList, characterData: void 0 === t.characterData || t.characterData }), a.observer.observers.push(i) }, init: function() { var e = this; if (F.observer && e.params.observer) { if (e.params.observeParents) for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]); e.observer.attach(e.$el[0], { childList: !1 }), e.observer.attach(e.$wrapperEl[0], { attributes: !1 }) } }, destroy: function() { this.observer.observers.forEach(function(e) { e.disconnect() }), this.observer.observers = [] } }, $ = { name: "observer", params: { observer: !1, observeParents: !1 }, create: function() { V.extend(this, { observer: { init: z.init.bind(this), attach: z.attach.bind(this), destroy: z.destroy.bind(this), observers: [] } }) }, on: { init: function() { this.observer.init() }, destroy: function() { this.observer.destroy() } } }, D = { update: function(e) { var t = this, a = t.params, i = a.slidesPerView, s = a.slidesPerGroup, r = a.centeredSlides, n = t.params.virtual, o = n.addSlidesBefore, l = n.addSlidesAfter, d = t.virtual, p = d.from, c = d.to, u = d.slides, h = d.slidesGrid, v = d.renderSlide, f = d.offset; t.updateActiveIndex(); var m, g, b, w = t.activeIndex || 0; m = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (g = Math.floor(i / 2) + s + o, b = Math.floor(i / 2) + s + l) : (g = i + (s - 1) + o, b = s + l); var y = Math.max((w || 0) - b, 0), x = Math.min((w || 0) + g, u.length - 1), T = (t.slidesGrid[y] || 0) - (t.slidesGrid[0] || 0); function E() { t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load() } if (V.extend(t.virtual, { from: y, to: x, offset: T, slidesGrid: t.slidesGrid }), p === y && c === x && !e) return t.slidesGrid !== h && T !== f && t.slides.css(m, T + "px"), void t.updateProgress(); if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, { offset: T, from: y, to: x, slides: function() { for (var e = [], t = y; t <= x; t += 1) e.push(u[t]); return e }() }), void E(); var S = [], C = []; if (e) t.$wrapperEl.find("." + t.params.slideClass).remove(); else for (var M = p; M <= c; M += 1)(M < y || x < M) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + M + '"]').remove(); for (var k = 0; k < u.length; k += 1) y <= k && k <= x && (void 0 === c || e ? C.push(k) : (c < k && C.push(k), k < p && S.push(k))); C.forEach(function(e) { t.$wrapperEl.append(v(u[e], e)) }), S.sort(function(e, t) { return t - e }).forEach(function(e) { t.$wrapperEl.prepend(v(u[e], e)) }), t.$wrapperEl.children(".swiper-slide").css(m, T + "px"), E() }, renderSlide: function(e, t) { var a = this, i = a.params.virtual; if (i.cache && a.virtual.cache[t]) return a.virtual.cache[t]; var s = i.renderSlide ? L(i.renderSlide.call(a, e, t)) : L('
' + e + "
"); return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (a.virtual.cache[t] = s), s }, appendSlide: function(e) { this.virtual.slides.push(e), this.virtual.update(!0) }, prependSlide: function(e) { var t = this; if (t.virtual.slides.unshift(e), t.params.virtual.cache) { var a = t.virtual.cache, i = {}; Object.keys(a).forEach(function(e) { i[e + 1] = a[e] }), t.virtual.cache = i } t.virtual.update(!0), t.slideNext(0) } }, O = { name: "virtual", params: { virtual: { enabled: !1, slides: [], cache: !0, renderSlide: null, renderExternal: null, addSlidesBefore: 0, addSlidesAfter: 0 } }, create: function() { var e = this; V.extend(e, { virtual: { update: D.update.bind(e), appendSlide: D.appendSlide.bind(e), prependSlide: D.prependSlide.bind(e), renderSlide: D.renderSlide.bind(e), slides: e.params.virtual.slides, cache: {} } }) }, on: { beforeInit: function() { var e = this; if (e.params.virtual.enabled) { e.classNames.push(e.params.containerModifierClass + "virtual"); var t = { watchSlidesProgress: !0 }; V.extend(e.params, t), V.extend(e.originalParams, t), e.params.initialSlide || e.virtual.update() } }, setTranslate: function() { this.params.virtual.enabled && this.virtual.update() } } }, A = { handle: function(e) { var t = this, a = t.rtlTranslate, i = e; i.originalEvent && (i = i.originalEvent); var s = i.keyCode || i.charCode; if (!t.allowSlideNext && (t.isHorizontal() && 39 === s || t.isVertical() && 40 === s)) return !1; if (!t.allowSlidePrev && (t.isHorizontal() && 37 === s || t.isVertical() && 38 === s)) return !1; if (!(i.shiftKey || i.altKey || i.ctrlKey || i.metaKey || f.activeElement && f.activeElement.nodeName && ("input" === f.activeElement.nodeName.toLowerCase() || "textarea" === f.activeElement.nodeName.toLowerCase()))) { if (t.params.keyboard.onlyInViewport && (37 === s || 39 === s || 38 === s || 40 === s)) { var r = !1; if (0 < t.$el.parents("." + t.params.slideClass).length && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return; var n = Y.innerWidth, o = Y.innerHeight, l = t.$el.offset(); a && (l.left -= t.$el[0].scrollLeft); for (var d = [ [l.left, l.top], [l.left + t.width, l.top], [l.left, l.top + t.height], [l.left + t.width, l.top + t.height] ], p = 0; p < d.length; p += 1) { var c = d[p]; 0 <= c[0] && c[0] <= n && 0 <= c[1] && c[1] <= o && (r = !0) } if (!r) return } t.isHorizontal() ? (37 !== s && 39 !== s || (i.preventDefault ? i.preventDefault() : i.returnValue = !1), (39 === s && !a || 37 === s && a) && t.slideNext(), (37 === s && !a || 39 === s && a) && t.slidePrev()) : (38 !== s && 40 !== s || (i.preventDefault ? i.preventDefault() : i.returnValue = !1), 40 === s && t.slideNext(), 38 === s && t.slidePrev()), t.emit("keyPress", s) } }, enable: function() { this.keyboard.enabled || (L(f).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0) }, disable: function() { this.keyboard.enabled && (L(f).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1) } }, N = { name: "keyboard", params: { keyboard: { enabled: !1, onlyInViewport: !0 } }, create: function() { V.extend(this, { keyboard: { enabled: !1, enable: A.enable.bind(this), disable: A.disable.bind(this), handle: A.handle.bind(this) } }) }, on: { init: function() { this.params.keyboard.enabled && this.keyboard.enable() }, destroy: function() { this.keyboard.enabled && this.keyboard.disable() } } }; var H = { lastScrollTime: V.now(), event: -1 < Y.navigator.userAgent.indexOf("firefox") ? "DOMMouseScroll" : function() { var e = "onwheel", t = e in f; if (!t) { var a = f.createElement("div"); a.setAttribute(e, "return;"), t = "function" == typeof a[e] } return !t && f.implementation && f.implementation.hasFeature && !0 !== f.implementation.hasFeature("", "") && (t = f.implementation.hasFeature("Events.wheel", "3.0")), t }() ? "wheel" : "mousewheel", normalize: function(e) { var t = 0, a = 0, i = 0, s = 0; return "detail" in e && (a = e.detail), "wheelDelta" in e && (a = -e.wheelDelta / 120), "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = a, a = 0), i = 10 * t, s = 10 * a, "deltaY" in e && (s = e.deltaY), "deltaX" in e && (i = e.deltaX), (i || s) && e.deltaMode && (1 === e.deltaMode ? (i *= 40, s *= 40) : (i *= 800, s *= 800)), i && !t && (t = i < 1 ? -1 : 1), s && !a && (a = s < 1 ? -1 : 1), { spinX: t, spinY: a, pixelX: i, pixelY: s } }, handleMouseEnter: function() { this.mouseEntered = !0 }, handleMouseLeave: function() { this.mouseEntered = !1 }, handle: function(e) { var t = e, a = this, i = a.params.mousewheel; if (!a.mouseEntered && !i.releaseOnEdges) return !0; t.originalEvent && (t = t.originalEvent); var s = 0, r = a.rtlTranslate ? -1 : 1, n = H.normalize(t); if (i.forceToAxis) if (a.isHorizontal()) { if (!(Math.abs(n.pixelX) > Math.abs(n.pixelY))) return !0; s = n.pixelX * r } else { if (!(Math.abs(n.pixelY) > Math.abs(n.pixelX))) return !0; s = n.pixelY } else s = Math.abs(n.pixelX) > Math.abs(n.pixelY) ? -n.pixelX * r : -n.pixelY; if (0 === s) return !0; if (i.invert && (s = -s), a.params.freeMode) { a.params.loop && a.loopFix(); var o = a.getTranslate() + s * i.sensitivity, l = a.isBeginning, d = a.isEnd; if (o >= a.minTranslate() && (o = a.minTranslate()), o <= a.maxTranslate() && (o = a.maxTranslate()), a.setTransition(0), a.setTranslate(o), a.updateProgress(), a.updateActiveIndex(), a.updateSlidesClasses(), (!l && a.isBeginning || !d && a.isEnd) && a.updateSlidesClasses(), a.params.freeModeSticky && (clearTimeout(a.mousewheel.timeout), a.mousewheel.timeout = V.nextTick(function() { a.slideToClosest() }, 300)), a.emit("scroll", t), a.params.autoplay && a.params.autoplayDisableOnInteraction && a.autoplay.stop(), o === a.minTranslate() || o === a.maxTranslate()) return !0 } else { if (60 < V.now() - a.mousewheel.lastScrollTime) if (s < 0) if (a.isEnd && !a.params.loop || a.animating) { if (i.releaseOnEdges) return !0 } else a.slideNext(), a.emit("scroll", t); else if (a.isBeginning && !a.params.loop || a.animating) { if (i.releaseOnEdges) return !0 } else a.slidePrev(), a.emit("scroll", t); a.mousewheel.lastScrollTime = (new Y.Date).getTime() } return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1 }, enable: function() { var e = this; if (!H.event) return !1; if (e.mousewheel.enabled) return !1; var t = e.$el; return "container" !== e.params.mousewheel.eventsTarged && (t = L(e.params.mousewheel.eventsTarged)), t.on("mouseenter", e.mousewheel.handleMouseEnter), t.on("mouseleave", e.mousewheel.handleMouseLeave), t.on(H.event, e.mousewheel.handle), e.mousewheel.enabled = !0 }, disable: function() { var e = this; if (!H.event) return !1; if (!e.mousewheel.enabled) return !1; var t = e.$el; return "container" !== e.params.mousewheel.eventsTarged && (t = L(e.params.mousewheel.eventsTarged)), t.off(H.event, e.mousewheel.handle), !(e.mousewheel.enabled = !1) } }, G = { update: function() { var e = this, t = e.params.navigation; if (!e.params.loop) { var a = e.navigation, i = a.$nextEl, s = a.$prevEl; s && 0 < s.length && (e.isBeginning ? s.addClass(t.disabledClass) : s.removeClass(t.disabledClass), s[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass)), i && 0 < i.length && (e.isEnd ? i.addClass(t.disabledClass) : i.removeClass(t.disabledClass), i[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass)) } }, onPrevClick: function(e) { e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev() }, onNextClick: function(e) { e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext() }, init: function() { var e, t, a = this, i = a.params.navigation; (i.nextEl || i.prevEl) && (i.nextEl && (e = L(i.nextEl), a.params.uniqueNavElements && "string" == typeof i.nextEl && 1 < e.length && 1 === a.$el.find(i.nextEl).length && (e = a.$el.find(i.nextEl))), i.prevEl && (t = L(i.prevEl), a.params.uniqueNavElements && "string" == typeof i.prevEl && 1 < t.length && 1 === a.$el.find(i.prevEl).length && (t = a.$el.find(i.prevEl))), e && 0 < e.length && e.on("click", a.navigation.onNextClick), t && 0 < t.length && t.on("click", a.navigation.onPrevClick), V.extend(a.navigation, { $nextEl: e, nextEl: e && e[0], $prevEl: t, prevEl: t && t[0] })) }, destroy: function() { var e = this, t = e.navigation, a = t.$nextEl, i = t.$prevEl; a && a.length && (a.off("click", e.navigation.onNextClick), a.removeClass(e.params.navigation.disabledClass)), i && i.length && (i.off("click", e.navigation.onPrevClick), i.removeClass(e.params.navigation.disabledClass)) } }, B = { update: function() { var e = this, t = e.rtl, s = e.params.pagination; if (s.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { var r, a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, i = e.pagination.$el, n = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length; if (e.params.loop ? ((r = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup)) > a - 1 - 2 * e.loopedSlides && (r -= a - 2 * e.loopedSlides), n - 1 < r && (r -= n), r < 0 && "bullets" !== e.params.paginationType && (r = n + r)) : r = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, "bullets" === s.type && e.pagination.bullets && 0 < e.pagination.bullets.length) { var o, l, d, p = e.pagination.bullets; if (s.dynamicBullets && (e.pagination.bulletSize = p.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0), i.css(e.isHorizontal() ? "width" : "height", e.pagination.bulletSize * (s.dynamicMainBullets + 4) + "px"), 1 < s.dynamicMainBullets && void 0 !== e.previousIndex && (e.pagination.dynamicBulletIndex += r - e.previousIndex, e.pagination.dynamicBulletIndex > s.dynamicMainBullets - 1 ? e.pagination.dynamicBulletIndex = s.dynamicMainBullets - 1 : e.pagination.dynamicBulletIndex < 0 && (e.pagination.dynamicBulletIndex = 0)), o = r - e.pagination.dynamicBulletIndex, d = ((l = o + (Math.min(p.length, s.dynamicMainBullets) - 1)) + o) / 2), p.removeClass(s.bulletActiveClass + " " + s.bulletActiveClass + "-next " + s.bulletActiveClass + "-next-next " + s.bulletActiveClass + "-prev " + s.bulletActiveClass + "-prev-prev " + s.bulletActiveClass + "-main"), 1 < i.length) p.each(function(e, t) { var a = L(t), i = a.index(); i === r && a.addClass(s.bulletActiveClass), s.dynamicBullets && (o <= i && i <= l && a.addClass(s.bulletActiveClass + "-main"), i === o && a.prev().addClass(s.bulletActiveClass + "-prev").prev().addClass(s.bulletActiveClass + "-prev-prev"), i === l && a.next().addClass(s.bulletActiveClass + "-next").next().addClass(s.bulletActiveClass + "-next-next")) }); else if (p.eq(r).addClass(s.bulletActiveClass), s.dynamicBullets) { for (var c = p.eq(o), u = p.eq(l), h = o; h <= l; h += 1) p.eq(h).addClass(s.bulletActiveClass + "-main"); c.prev().addClass(s.bulletActiveClass + "-prev").prev().addClass(s.bulletActiveClass + "-prev-prev"), u.next().addClass(s.bulletActiveClass + "-next").next().addClass(s.bulletActiveClass + "-next-next") } if (s.dynamicBullets) { var v = Math.min(p.length, s.dynamicMainBullets + 4), f = (e.pagination.bulletSize * v - e.pagination.bulletSize) / 2 - d * e.pagination.bulletSize, m = t ? "right" : "left"; p.css(e.isHorizontal() ? m : "top", f + "px") } } if ("fraction" === s.type && (i.find("." + s.currentClass).text(s.formatFractionCurrent(r + 1)), i.find("." + s.totalClass).text(s.formatFractionTotal(n))), "progressbar" === s.type) { var g; g = s.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical"; var b = (r + 1) / n, w = 1, y = 1; "horizontal" === g ? w = b : y = b, i.find("." + s.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + w + ") scaleY(" + y + ")").transition(e.params.speed) } "custom" === s.type && s.renderCustom ? (i.html(s.renderCustom(e, r + 1, n)), e.emit("paginationRender", e, i[0])) : e.emit("paginationUpdate", e, i[0]), i[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](s.lockClass) } }, render: function() { var e = this, t = e.params.pagination; if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, i = e.pagination.$el, s = ""; if ("bullets" === t.type) { for (var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length, n = 0; n < r; n += 1) t.renderBullet ? s += t.renderBullet.call(e, n, t.bulletClass) : s += "<" + t.bulletElement + ' class="' + t.bulletClass + '">"; i.html(s), e.pagination.bullets = i.find("." + t.bulletClass) } "fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : ' / ', i.html(s)), "progressbar" === t.type && (s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '', i.html(s)), "custom" !== t.type && e.emit("paginationRender", e.pagination.$el[0]) } }, init: function() { var a = this, e = a.params.pagination; if (e.el) { var t = L(e.el); 0 !== t.length && (a.params.uniqueNavElements && "string" == typeof e.el && 1 < t.length && 1 === a.$el.find(e.el).length && (t = a.$el.find(e.el)), "bullets" === e.type && e.clickable && t.addClass(e.clickableClass), t.addClass(e.modifierClass + e.type), "bullets" === e.type && e.dynamicBullets && (t.addClass("" + e.modifierClass + e.type + "-dynamic"), a.pagination.dynamicBulletIndex = 0, e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), "progressbar" === e.type && e.progressbarOpposite && t.addClass(e.progressbarOppositeClass), e.clickable && t.on("click", "." + e.bulletClass, function(e) { e.preventDefault(); var t = L(this).index() * a.params.slidesPerGroup; a.params.loop && (t += a.loopedSlides), a.slideTo(t) }), V.extend(a.pagination, { $el: t, el: t[0] })) } }, destroy: function() { var e = this, t = e.params.pagination; if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { var a = e.pagination.$el; a.removeClass(t.hiddenClass), a.removeClass(t.modifierClass + t.type), e.pagination.bullets && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && a.off("click", "." + t.bulletClass) } } }, X = { setTranslate: function() { var e = this; if (e.params.scrollbar.el && e.scrollbar.el) { var t = e.scrollbar, a = e.rtlTranslate, i = e.progress, s = t.dragSize, r = t.trackSize, n = t.$dragEl, o = t.$el, l = e.params.scrollbar, d = s, p = (r - s) * i; a ? 0 < (p = -p) ? (d = s - p, p = 0) : r < -p + s && (d = r + p) : p < 0 ? (d = s + p, p = 0) : r < p + s && (d = r - p), e.isHorizontal() ? (F.transforms3d ? n.transform("translate3d(" + p + "px, 0, 0)") : n.transform("translateX(" + p + "px)"), n[0].style.width = d + "px") : (F.transforms3d ? n.transform("translate3d(0px, " + p + "px, 0)") : n.transform("translateY(" + p + "px)"), n[0].style.height = d + "px"), l.hide && (clearTimeout(e.scrollbar.timeout), o[0].style.opacity = 1, e.scrollbar.timeout = setTimeout(function() { o[0].style.opacity = 0, o.transition(400) }, 1e3)) } }, setTransition: function(e) { this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e) }, updateSize: function() { var e = this; if (e.params.scrollbar.el && e.scrollbar.el) { var t = e.scrollbar, a = t.$dragEl, i = t.$el; a[0].style.width = "", a[0].style.height = ""; var s, r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight, n = e.size / e.virtualSize, o = n * (r / e.size); s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize, 10), e.isHorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px", i[0].style.display = 1 <= n ? "none" : "", e.params.scrollbarHide && (i[0].style.opacity = 0), V.extend(t, { trackSize: r, divider: n, moveDivider: o, dragSize: s }), t.$el[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass) } }, setDragPosition: function(e) { var t, a = this, i = a.scrollbar, s = a.rtlTranslate, r = i.$el, n = i.dragSize, o = i.trackSize; t = ((a.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX || e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY || e.clientY) - r.offset()[a.isHorizontal() ? "left" : "top"] - n / 2) / (o - n), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t); var l = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t; a.updateProgress(l), a.setTranslate(l), a.updateActiveIndex(), a.updateSlidesClasses() }, onDragStart: function(e) { var t = this, a = t.params.scrollbar, i = t.scrollbar, s = t.$wrapperEl, r = i.$el, n = i.$dragEl; t.scrollbar.isTouched = !0, e.preventDefault(), e.stopPropagation(), s.transition(100), n.transition(100), i.setDragPosition(e), clearTimeout(t.scrollbar.dragTimeout), r.transition(0), a.hide && r.css("opacity", 1), t.emit("scrollbarDragStart", e) }, onDragMove: function(e) { var t = this.scrollbar, a = this.$wrapperEl, i = t.$el, s = t.$dragEl; this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t.setDragPosition(e), a.transition(0), i.transition(0), s.transition(0), this.emit("scrollbarDragMove", e)) }, onDragEnd: function(e) { var t = this, a = t.params.scrollbar, i = t.scrollbar.$el; t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, a.hide && (clearTimeout(t.scrollbar.dragTimeout), t.scrollbar.dragTimeout = V.nextTick(function() { i.css("opacity", 0), i.transition(400) }, 1e3)), t.emit("scrollbarDragEnd", e), a.snapOnRelease && t.slideToClosest()) }, enableDraggable: function() { var e = this; if (e.params.scrollbar.el) { var t = e.scrollbar, a = e.touchEventsTouch, i = e.touchEventsDesktop, s = e.params, r = t.$el[0], n = !(!F.passiveListener || !s.passiveListeners) && { passive: !1, capture: !1 }, o = !(!F.passiveListener || !s.passiveListeners) && { passive: !0, capture: !1 }; F.touch ? (r.addEventListener(a.start, e.scrollbar.onDragStart, n), r.addEventListener(a.move, e.scrollbar.onDragMove, n), r.addEventListener(a.end, e.scrollbar.onDragEnd, o)) : (r.addEventListener(i.start, e.scrollbar.onDragStart, n), f.addEventListener(i.move, e.scrollbar.onDragMove, n), f.addEventListener(i.end, e.scrollbar.onDragEnd, o)) } }, disableDraggable: function() { var e = this; if (e.params.scrollbar.el) { var t = e.scrollbar, a = e.touchEventsTouch, i = e.touchEventsDesktop, s = e.params, r = t.$el[0], n = !(!F.passiveListener || !s.passiveListeners) && { passive: !1, capture: !1 }, o = !(!F.passiveListener || !s.passiveListeners) && { passive: !0, capture: !1 }; F.touch ? (r.removeEventListener(a.start, e.scrollbar.onDragStart, n), r.removeEventListener(a.move, e.scrollbar.onDragMove, n), r.removeEventListener(a.end, e.scrollbar.onDragEnd, o)) : (r.removeEventListener(i.start, e.scrollbar.onDragStart, n), f.removeEventListener(i.move, e.scrollbar.onDragMove, n), f.removeEventListener(i.end, e.scrollbar.onDragEnd, o)) } }, init: function() { var e = this; if (e.params.scrollbar.el) { var t = e.scrollbar, a = e.$el, i = e.params.scrollbar, s = L(i.el); e.params.uniqueNavElements && "string" == typeof i.el && 1 < s.length && 1 === a.find(i.el).length && (s = a.find(i.el)); var r = s.find("." + e.params.scrollbar.dragClass); 0 === r.length && (r = L('
'), s.append(r)), V.extend(t, { $el: s, el: s[0], $dragEl: r, dragEl: r[0] }), i.draggable && t.enableDraggable() } }, destroy: function() { this.scrollbar.disableDraggable() } }, R = { setTransform: function(e, t) { var a = this.rtl, i = L(e), s = a ? -1 : 1, r = i.attr("data-swiper-parallax") || "0", n = i.attr("data-swiper-parallax-x"), o = i.attr("data-swiper-parallax-y"), l = i.attr("data-swiper-parallax-scale"), d = i.attr("data-swiper-parallax-opacity"); if (n || o ? (n = n || "0", o = o || "0") : this.isHorizontal() ? (n = r, o = "0") : (o = r, n = "0"), n = 0 <= n.indexOf("%") ? parseInt(n, 10) * t * s + "%" : n * t * s + "px", o = 0 <= o.indexOf("%") ? parseInt(o, 10) * t + "%" : o * t + "px", null != d) { var p = d - (d - 1) * (1 - Math.abs(t)); i[0].style.opacity = p } if (null == l) i.transform("translate3d(" + n + ", " + o + ", 0px)"); else { var c = l - (l - 1) * (1 - Math.abs(t)); i.transform("translate3d(" + n + ", " + o + ", 0px) scale(" + c + ")") } }, setTranslate: function() { var i = this, e = i.$el, t = i.slides, s = i.progress, r = i.snapGrid; e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) { i.parallax.setTransform(t, s) }), t.each(function(e, t) { var a = t.progress; 1 < i.params.slidesPerGroup && "auto" !== i.params.slidesPerView && (a += Math.ceil(e / 2) - s * (r.length - 1)), a = Math.min(Math.max(a, -1), 1), L(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) { i.parallax.setTransform(t, a) }) }) }, setTransition: function(s) { void 0 === s && (s = this.params.speed); this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) { var a = L(t), i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || s; 0 === s && (i = 0), a.transition(i) }) } }, q = { getDistanceBetweenTouches: function(e) { if (e.targetTouches.length < 2) return 1; var t = e.targetTouches[0].pageX, a = e.targetTouches[0].pageY, i = e.targetTouches[1].pageX, s = e.targetTouches[1].pageY; return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2)) }, onGestureStart: function(e) { var t = this, a = t.params.zoom, i = t.zoom, s = i.gesture; if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !F.gestures) { if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return; i.fakeGestureTouched = !0, s.scaleStart = q.getDistanceBetweenTouches(e) } s.$slideEl && s.$slideEl.length || (s.$slideEl = L(e.target).closest(".swiper-slide"), 0 === s.$slideEl.length && (s.$slideEl = t.slides.eq(t.activeIndex)), s.$imageEl = s.$slideEl.find("img, svg, canvas"), s.$imageWrapEl = s.$imageEl.parent("." + a.containerClass), s.maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio, 0 !== s.$imageWrapEl.length) ? (s.$imageEl.transition(0), t.zoom.isScaling = !0) : s.$imageEl = void 0 }, onGestureChange: function(e) { var t = this.params.zoom, a = this.zoom, i = a.gesture; if (!F.gestures) { if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return; a.fakeGestureMoved = !0, i.scaleMove = q.getDistanceBetweenTouches(e) } i.$imageEl && 0 !== i.$imageEl.length && (F.gestures ? this.zoom.scale = e.scale * a.currentScale : a.scale = i.scaleMove / i.scaleStart * a.currentScale, a.scale > i.maxRatio && (a.scale = i.maxRatio - 1 + Math.pow(a.scale - i.maxRatio + 1, .5)), a.scale < t.minRatio && (a.scale = t.minRatio + 1 - Math.pow(t.minRatio - a.scale + 1, .5)), i.$imageEl.transform("translate3d(0,0,0) scale(" + a.scale + ")")) }, onGestureEnd: function(e) { var t = this.params.zoom, a = this.zoom, i = a.gesture; if (!F.gestures) { if (!a.fakeGestureTouched || !a.fakeGestureMoved) return; if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !m.android) return; a.fakeGestureTouched = !1, a.fakeGestureMoved = !1 } i.$imageEl && 0 !== i.$imageEl.length && (a.scale = Math.max(Math.min(a.scale, i.maxRatio), t.minRatio), i.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + a.scale + ")"), a.currentScale = a.scale, a.isScaling = !1, 1 === a.scale && (i.$slideEl = void 0)) }, onTouchStart: function(e) { var t = this.zoom, a = t.gesture, i = t.image; a.$imageEl && 0 !== a.$imageEl.length && (i.isTouched || (m.android && e.preventDefault(), i.isTouched = !0, i.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, i.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY)) }, onTouchMove: function(e) { var t = this, a = t.zoom, i = a.gesture, s = a.image, r = a.velocity; if (i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, s.isTouched && i.$slideEl)) { s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = V.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = V.getTranslate(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), t.rtl && (s.startX = -s.startX, s.startY = -s.startY)); var n = s.width * a.scale, o = s.height * a.scale; if (!(n < i.slideWidth && o < i.slideHeight)) { if (s.minX = Math.min(i.slideWidth / 2 - n / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - o / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !a.isScaling) { if (t.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s.isTouched = !1); if (!t.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s.isTouched = !1) } e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x), r.prevPositionY || (r.prevPositionY = s.touchesCurrent.y), r.prevTime || (r.prevTime = Date.now()), r.x = (s.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2, r.y = (s.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2, Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0), r.prevPositionX = s.touchesCurrent.x, r.prevPositionY = s.touchesCurrent.y, r.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)") } } }, onTouchEnd: function() { var e = this.zoom, t = e.gesture, a = e.image, i = e.velocity; if (t.$imageEl && 0 !== t.$imageEl.length) { if (!a.isTouched || !a.isMoved) return a.isTouched = !1, void(a.isMoved = !1); a.isTouched = !1, a.isMoved = !1; var s = 300, r = 300, n = i.x * s, o = a.currentX + n, l = i.y * r, d = a.currentY + l; 0 !== i.x && (s = Math.abs((o - a.currentX) / i.x)), 0 !== i.y && (r = Math.abs((d - a.currentY) / i.y)); var p = Math.max(s, r); a.currentX = o, a.currentY = d; var c = a.width * e.scale, u = a.height * e.scale; a.minX = Math.min(t.slideWidth / 2 - c / 2, 0), a.maxX = -a.minX, a.minY = Math.min(t.slideHeight / 2 - u / 2, 0), a.maxY = -a.minY, a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX), a.currentY = Math.max(Math.min(a.currentY, a.maxY), a.minY), t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)") } }, onTransitionEnd: function() { var e = this.zoom, t = e.gesture; t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl.transform("translate3d(0,0,0)"), t.$slideEl = void 0, t.$imageEl = void 0, t.$imageWrapEl = void 0, e.scale = 1, e.currentScale = 1) }, toggle: function(e) { var t = this.zoom; t.scale && 1 !== t.scale ? t.out() : t.in(e) }, in: function(e) { var t, a, i, s, r, n, o, l, d, p, c, u, h, v, f, m, g = this, b = g.zoom, w = g.params.zoom, y = b.gesture, x = b.image; (y.$slideEl || (y.$slideEl = g.clickedSlide ? L(g.clickedSlide) : g.slides.eq(g.activeIndex), y.$imageEl = y.$slideEl.find("img, svg, canvas"), y.$imageWrapEl = y.$imageEl.parent("." + w.containerClass)), y.$imageEl && 0 !== y.$imageEl.length) && (y.$slideEl.addClass("" + w.zoomedSlideClass), void 0 === x.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, a = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = x.touchesStart.x, a = x.touchesStart.y), b.scale = y.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, b.currentScale = y.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, e ? (f = y.$slideEl[0].offsetWidth, m = y.$slideEl[0].offsetHeight, i = y.$slideEl.offset().left + f / 2 - t, s = y.$slideEl.offset().top + m / 2 - a, o = y.$imageEl[0].offsetWidth, l = y.$imageEl[0].offsetHeight, d = o * b.scale, p = l * b.scale, h = -(c = Math.min(f / 2 - d / 2, 0)), v = -(u = Math.min(m / 2 - p / 2, 0)), (r = i * b.scale) < c && (r = c), h < r && (r = h), (n = s * b.scale) < u && (n = u), v < n && (n = v)) : n = r = 0, y.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), y.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + b.scale + ")")) }, out: function() { var e = this, t = e.zoom, a = e.params.zoom, i = t.gesture; i.$slideEl || (i.$slideEl = e.clickedSlide ? L(e.clickedSlide) : e.slides.eq(e.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas"), i.$imageWrapEl = i.$imageEl.parent("." + a.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && (t.scale = 1, t.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + a.zoomedSlideClass), i.$slideEl = void 0) }, enable: function() { var e = this, t = e.zoom; if (!t.enabled) { t.enabled = !0; var a = !("touchstart" !== e.touchEvents.start || !F.passiveListener || !e.params.passiveListeners) && { passive: !0, capture: !1 }; F.gestures ? (e.$wrapperEl.on("gesturestart", ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.on("gesturechange", ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.on("gestureend", ".swiper-slide", t.onGestureEnd, a)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.on(e.touchEvents.start, ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.on(e.touchEvents.move, ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.on(e.touchEvents.end, ".swiper-slide", t.onGestureEnd, a)), e.$wrapperEl.on(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove) } }, disable: function() { var e = this, t = e.zoom; if (t.enabled) { e.zoom.enabled = !1; var a = !("touchstart" !== e.touchEvents.start || !F.passiveListener || !e.params.passiveListeners) && { passive: !0, capture: !1 }; F.gestures ? (e.$wrapperEl.off("gesturestart", ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.off("gesturechange", ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.off("gestureend", ".swiper-slide", t.onGestureEnd, a)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.off(e.touchEvents.start, ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.off(e.touchEvents.move, ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.off(e.touchEvents.end, ".swiper-slide", t.onGestureEnd, a)), e.$wrapperEl.off(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove) } } }, W = { loadInSlide: function(e, l) { void 0 === l && (l = !0); var d = this, p = d.params.lazy; if (void 0 !== e && 0 !== d.slides.length) { var c = d.virtual && d.params.virtual.enabled ? d.$wrapperEl.children("." + d.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : d.slides.eq(e), t = c.find("." + p.elementClass + ":not(." + p.loadedClass + "):not(." + p.loadingClass + ")"); !c.hasClass(p.elementClass) || c.hasClass(p.loadedClass) || c.hasClass(p.loadingClass) || (t = t.add(c[0])), 0 !== t.length && t.each(function(e, t) { var i = L(t); i.addClass(p.loadingClass); var s = i.attr("data-background"), r = i.attr("data-src"), n = i.attr("data-srcset"), o = i.attr("data-sizes"); d.loadImage(i[0], r || s, n, o, !1, function() { if (null != d && d && (!d || d.params) && !d.destroyed) { if (s ? (i.css("background-image", 'url("' + s + '")'), i.removeAttr("data-background")) : (n && (i.attr("srcset", n), i.removeAttr("data-srcset")), o && (i.attr("sizes", o), i.removeAttr("data-sizes")), r && (i.attr("src", r), i.removeAttr("data-src"))), i.addClass(p.loadedClass).removeClass(p.loadingClass), c.find("." + p.preloaderClass).remove(), d.params.loop && l) { var e = c.attr("data-swiper-slide-index"); if (c.hasClass(d.params.slideDuplicateClass)) { var t = d.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + d.params.slideDuplicateClass + ")"); d.lazy.loadInSlide(t.index(), !1) } else { var a = d.$wrapperEl.children("." + d.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]'); d.lazy.loadInSlide(a.index(), !1) } } d.emit("lazyImageReady", c[0], i[0]) } }), d.emit("lazyImageLoad", c[0], i[0]) }) } }, load: function() { var i = this, t = i.$wrapperEl, a = i.params, s = i.slides, e = i.activeIndex, r = i.virtual && a.virtual.enabled, n = a.lazy, o = a.slidesPerView; function l(e) { if (r) { if (t.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0 } else if (s[e]) return !0; return !1 } function d(e) { return r ? L(e).attr("data-swiper-slide-index") : L(e).index() } if ("auto" === o && (o = 0), i.lazy.initialImageLoaded || (i.lazy.initialImageLoaded = !0), i.params.watchSlidesVisibility) t.children("." + a.slideVisibleClass).each(function(e, t) { var a = r ? L(t).attr("data-swiper-slide-index") : L(t).index(); i.lazy.loadInSlide(a) }); else if (1 < o) for (var p = e; p < e + o; p += 1) l(p) && i.lazy.loadInSlide(p); else i.lazy.loadInSlide(e); if (n.loadPrevNext) if (1 < o || n.loadPrevNextAmount && 1 < n.loadPrevNextAmount) { for (var c = n.loadPrevNextAmount, u = o, h = Math.min(e + u + Math.max(c, u), s.length), v = Math.max(e - Math.max(u, c), 0), f = e + o; f < h; f += 1) l(f) && i.lazy.loadInSlide(f); for (var m = v; m < e; m += 1) l(m) && i.lazy.loadInSlide(m) } else { var g = t.children("." + a.slideNextClass); 0 < g.length && i.lazy.loadInSlide(d(g)); var b = t.children("." + a.slidePrevClass); 0 < b.length && i.lazy.loadInSlide(d(b)) } } }, j = { LinearSpline: function(e, t) { var a, i, s, r, n, o = function(e, t) { for (i = -1, a = e.length; 1 < a - i;) e[s = a + i >> 1] <= t ? i = s : a = s; return a }; return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) { return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0 }, this }, getInterpolateFunction: function(e) { var t = this; t.controller.spline || (t.controller.spline = t.params.loop ? new j.LinearSpline(t.slidesGrid, e.slidesGrid) : new j.LinearSpline(t.snapGrid, e.snapGrid)) }, setTranslate: function(e, t) { var a, i, s = this, r = s.controller.control; function n(e) { var t = s.rtlTranslate ? -s.translate : s.translate; "slide" === s.params.controller.by && (s.controller.getInterpolateFunction(e), i = -s.controller.spline.interpolate(-t)), i && "container" !== s.params.controller.by || (a = (e.maxTranslate() - e.minTranslate()) / (s.maxTranslate() - s.minTranslate()), i = (t - s.minTranslate()) * a + e.minTranslate()), s.params.controller.inverse && (i = e.maxTranslate() - i), e.updateProgress(i), e.setTranslate(i, s), e.updateActiveIndex(), e.updateSlidesClasses() } if (Array.isArray(r)) for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof S && n(r[o]); else r instanceof S && t !== r && n(r) }, setTransition: function(t, e) { var a, i = this, s = i.controller.control; function r(e) { e.setTransition(t, i), 0 !== t && (e.transitionStart(), e.params.autoHeight && V.nextTick(function() { e.updateAutoHeight() }), e.$wrapperEl.transitionEnd(function() { s && (e.params.loop && "slide" === i.params.controller.by && e.loopFix(), e.transitionEnd()) })) } if (Array.isArray(s)) for (a = 0; a < s.length; a += 1) s[a] !== e && s[a] instanceof S && r(s[a]); else s instanceof S && e !== s && r(s) } }, U = { makeElFocusable: function(e) { return e.attr("tabIndex", "0"), e }, addElRole: function(e, t) { return e.attr("role", t), e }, addElLabel: function(e, t) { return e.attr("aria-label", t), e }, disableEl: function(e) { return e.attr("aria-disabled", !0), e }, enableEl: function(e) { return e.attr("aria-disabled", !1), e }, onEnterKey: function(e) { var t = this, a = t.params.a11y; if (13 === e.keyCode) { var i = L(e.target); t.navigation && t.navigation.$nextEl && i.is(t.navigation.$nextEl) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? t.a11y.notify(a.lastSlideMessage) : t.a11y.notify(a.nextSlideMessage)), t.navigation && t.navigation.$prevEl && i.is(t.navigation.$prevEl) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? t.a11y.notify(a.firstSlideMessage) : t.a11y.notify(a.prevSlideMessage)), t.pagination && i.is("." + t.params.pagination.bulletClass) && i[0].click() } }, notify: function(e) { var t = this.a11y.liveRegion; 0 !== t.length && (t.html(""), t.html(e)) }, updateNavigation: function() { var e = this; if (!e.params.loop) { var t = e.navigation, a = t.$nextEl, i = t.$prevEl; i && 0 < i.length && (e.isBeginning ? e.a11y.disableEl(i) : e.a11y.enableEl(i)), a && 0 < a.length && (e.isEnd ? e.a11y.disableEl(a) : e.a11y.enableEl(a)) } }, updatePagination: function() { var i = this, s = i.params.a11y; i.pagination && i.params.pagination.clickable && i.pagination.bullets && i.pagination.bullets.length && i.pagination.bullets.each(function(e, t) { var a = L(t); i.a11y.makeElFocusable(a), i.a11y.addElRole(a, "button"), i.a11y.addElLabel(a, s.paginationBulletMessage.replace(/{{index}}/, a.index() + 1)) }) }, init: function() { var e = this; e.$el.append(e.a11y.liveRegion); var t, a, i = e.params.a11y; e.navigation && e.navigation.$nextEl && (t = e.navigation.$nextEl), e.navigation && e.navigation.$prevEl && (a = e.navigation.$prevEl), t && (e.a11y.makeElFocusable(t), e.a11y.addElRole(t, "button"), e.a11y.addElLabel(t, i.nextSlideMessage), t.on("keydown", e.a11y.onEnterKey)), a && (e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(a, i.prevSlideMessage), a.on("keydown", e.a11y.onEnterKey)), e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", "." + e.params.pagination.bulletClass, e.a11y.onEnterKey) }, destroy: function() { var e, t, a = this; a.a11y.liveRegion && 0 < a.a11y.liveRegion.length && a.a11y.liveRegion.remove(), a.navigation && a.navigation.$nextEl && (e = a.navigation.$nextEl), a.navigation && a.navigation.$prevEl && (t = a.navigation.$prevEl), e && e.off("keydown", a.a11y.onEnterKey), t && t.off("keydown", a.a11y.onEnterKey), a.pagination && a.params.pagination.clickable && a.pagination.bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", "." + a.params.pagination.bulletClass, a.a11y.onEnterKey) } }, K = { init: function() { var e = this; if (e.params.history) { if (!Y.history || !Y.history.pushState) return e.params.history.enabled = !1, void(e.params.hashNavigation.enabled = !0); var t = e.history; t.initialized = !0, t.paths = K.getPathValues(), (t.paths.key || t.paths.value) && (t.scrollToSlide(0, t.paths.value, e.params.runCallbacksOnInit), e.params.history.replaceState || Y.addEventListener("popstate", e.history.setHistoryPopState)) } }, destroy: function() { this.params.history.replaceState || Y.removeEventListener("popstate", this.history.setHistoryPopState) }, setHistoryPopState: function() { this.history.paths = K.getPathValues(), this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1) }, getPathValues: function() { var e = Y.location.pathname.slice(1).split("/").filter(function(e) { return "" !== e }), t = e.length; return { key: e[t - 2], value: e[t - 1] } }, setHistory: function(e, t) { if (this.history.initialized && this.params.history.enabled) { var a = this.slides.eq(t), i = K.slugify(a.attr("data-history")); Y.location.pathname.includes(e) || (i = e + "/" + i); var s = Y.history.state; s && s.value === i || (this.params.history.replaceState ? Y.history.replaceState({ value: i }, null, i) : Y.history.pushState({ value: i }, null, i)) } }, slugify: function(e) { return e.toString().toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "") }, scrollToSlide: function(e, t, a) { var i = this; if (t) for (var s = 0, r = i.slides.length; s < r; s += 1) { var n = i.slides.eq(s); if (K.slugify(n.attr("data-history")) === t && !n.hasClass(i.params.slideDuplicateClass)) { var o = n.index(); i.slideTo(o, e, a) } } else i.slideTo(0, e, a) } }, _ = { onHashCange: function() { var e = this, t = f.location.hash.replace("#", ""); if (t !== e.slides.eq(e.activeIndex).attr("data-hash")) { var a = e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + t + '"]').index(); if (void 0 === a) return; e.slideTo(a) } }, setHash: function() { var e = this; if (e.hashNavigation.initialized && e.params.hashNavigation.enabled) if (e.params.hashNavigation.replaceState && Y.history && Y.history.replaceState) Y.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""); else { var t = e.slides.eq(e.activeIndex), a = t.attr("data-hash") || t.attr("data-history"); f.location.hash = a || "" } }, init: function() { var e = this; if (!(!e.params.hashNavigation.enabled || e.params.history && e.params.history.enabled)) { e.hashNavigation.initialized = !0; var t = f.location.hash.replace("#", ""); if (t) for (var a = 0, i = e.slides.length; a < i; a += 1) { var s = e.slides.eq(a); if ((s.attr("data-hash") || s.attr("data-history")) === t && !s.hasClass(e.params.slideDuplicateClass)) { var r = s.index(); e.slideTo(r, 0, e.params.runCallbacksOnInit, !0) } } e.params.hashNavigation.watchState && L(Y).on("hashchange", e.hashNavigation.onHashCange) } }, destroy: function() { this.params.hashNavigation.watchState && L(Y).off("hashchange", this.hashNavigation.onHashCange) } }, Z = { run: function() { var e = this, t = e.slides.eq(e.activeIndex), a = e.params.autoplay.delay; t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), e.autoplay.timeout = V.nextTick(function() { e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) }, a) }, start: function() { var e = this; return void 0 === e.autoplay.timeout && (!e.autoplay.running && (e.autoplay.running = !0, e.emit("autoplayStart"), e.autoplay.run(), !0)) }, stop: function() { var e = this; return !!e.autoplay.running && (void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (clearTimeout(e.autoplay.timeout), e.autoplay.timeout = void 0), e.autoplay.running = !1, e.emit("autoplayStop"), !0)) }, pause: function(e) { var t = this; t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), t.autoplay.paused = !0, 0 !== e && t.params.autoplay.waitForTransition ? (t.$wrapperEl[0].addEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].addEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd)) : (t.autoplay.paused = !1, t.autoplay.run()))) } }, Q = { setTranslate: function() { for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) { var i = e.slides.eq(a), s = -i[0].swiperSlideOffset; e.params.virtualTranslate || (s -= e.translate); var r = 0; e.isHorizontal() || (r = s, s = 0); var n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0); i.css({ opacity: n }).transform("translate3d(" + s + "px, " + r + "px, 0px)") } }, setTransition: function(e) { var a = this, t = a.slides, i = a.$wrapperEl; if (t.transition(e), a.params.virtualTranslate && 0 !== e) { var s = !1; t.transitionEnd(function() { if (!s && a && !a.destroyed) { s = !0, a.animating = !1; for (var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e.length; t += 1) i.trigger(e[t]) } }) } } }, J = { setTranslate: function() { var e, t = this, a = t.$el, i = t.$wrapperEl, s = t.slides, r = t.width, n = t.height, o = t.rtlTranslate, l = t.size, d = t.params.cubeEffect, p = t.isHorizontal(), c = t.virtual && t.params.virtual.enabled, u = 0; d.shadow && (p ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = L('
'), i.append(e)), e.css({ height: r + "px" })) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = L('
'), a.append(e))); for (var h = 0; h < s.length; h += 1) { var v = s.eq(h), f = h; c && (f = parseInt(v.attr("data-swiper-slide-index"), 10)); var m = 90 * f, g = Math.floor(m / 360); o && (m = -m, g = Math.floor(-m / 360)); var b = Math.max(Math.min(v[0].progress, 1), -1), w = 0, y = 0, x = 0; f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), p || (y = w, w = 0); var T = "rotateX(" + (p ? 0 : -m) + "deg) rotateY(" + (p ? m : 0) + "deg) translate3d(" + w + "px, " + y + "px, " + x + "px)"; if (b <= 1 && -1 < b && (u = 90 * f + 90 * b, o && (u = 90 * -f - 90 * b)), v.transform(T), d.slideShadows) { var E = p ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"), S = p ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom"); 0 === E.length && (E = L('
'), v.append(E)), 0 === S.length && (S = L('
'), v.append(S)), E.length && (E[0].style.opacity = Math.max(-b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0)) } } if (i.css({ "-webkit-transform-origin": "50% 50% -" + l / 2 + "px", "-moz-transform-origin": "50% 50% -" + l / 2 + "px", "-ms-transform-origin": "50% 50% -" + l / 2 + "px", "transform-origin": "50% 50% -" + l / 2 + "px" }), d.shadow) if (p) e.transform("translate3d(0px, " + (r / 2 + d.shadowOffset) + "px, " + -r / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale + ")"); else { var C = Math.abs(u) - 90 * Math.floor(Math.abs(u) / 90), M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C * Math.PI / 360) / 2), k = d.shadowScale, P = d.shadowScale / M, z = d.shadowOffset; e.transform("scale3d(" + k + ", 1, " + P + ") translate3d(0px, " + (n / 2 + z) + "px, " + -n / 2 / P + "px) rotateX(-90deg)") } var $ = I.isSafari || I.isUiWebView ? -l / 2 : 0; i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (t.isHorizontal() ? 0 : u) + "deg) rotateY(" + (t.isHorizontal() ? -u : 0) + "deg)") }, setTransition: function(e) { var t = this.$el; this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(".swiper-cube-shadow").transition(e) } }, ee = { setTranslate: function() { for (var e = this, t = e.slides, a = e.rtlTranslate, i = 0; i < t.length; i += 1) { var s = t.eq(i), r = s[0].progress; e.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1)); var n = -180 * r, o = 0, l = -s[0].swiperSlideOffset, d = 0; if (e.isHorizontal() ? a && (n = -n) : (d = l, o = -n, n = l = 0), s[0].style.zIndex = -Math.abs(Math.round(r)) + t.length, e.params.flipEffect.slideShadows) { var p = e.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"), c = e.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom"); 0 === p.length && (p = L('
'), s.append(p)), 0 === c.length && (c = L('
'), s.append(c)), p.length && (p[0].style.opacity = Math.max(-r, 0)), c.length && (c[0].style.opacity = Math.max(r, 0)) } s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" + n + "deg)") } }, setTransition: function(e) { var a = this, t = a.slides, i = a.activeIndex, s = a.$wrapperEl; if (t.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), a.params.virtualTranslate && 0 !== e) { var r = !1; t.eq(i).transitionEnd(function() { if (!r && a && !a.destroyed) { r = !0, a.animating = !1; for (var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e.length; t += 1) s.trigger(e[t]) } }) } } }, te = { setTranslate: function() { for (var e = this, t = e.width, a = e.height, i = e.slides, s = e.$wrapperEl, r = e.slidesSizesGrid, n = e.params.coverflowEffect, o = e.isHorizontal(), l = e.translate, d = o ? t / 2 - l : a / 2 - l, p = o ? n.rotate : -n.rotate, c = n.depth, u = 0, h = i.length; u < h; u += 1) { var v = i.eq(u), f = r[u], m = (d - v[0].swiperSlideOffset - f / 2) / f * n.modifier, g = o ? p * m : 0, b = o ? 0 : p * m, w = -c * Math.abs(m), y = o ? 0 : n.stretch * m, x = o ? n.stretch * m : 0; Math.abs(x) < .001 && (x = 0), Math.abs(y) < .001 && (y = 0), Math.abs(w) < .001 && (w = 0), Math.abs(g) < .001 && (g = 0), Math.abs(b) < .001 && (b = 0); var T = "translate3d(" + x + "px," + y + "px," + w + "px) rotateX(" + b + "deg) rotateY(" + g + "deg)"; if (v.transform(T), v[0].style.zIndex = 1 - Math.abs(Math.round(m)), n.slideShadows) { var E = o ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"), S = o ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom"); 0 === E.length && (E = L('
'), v.append(E)), 0 === S.length && (S = L('
'), v.append(S)), E.length && (E[0].style.opacity = 0 < m ? m : 0), S.length && (S[0].style.opacity = 0 < -m ? -m : 0) } }(F.pointerEvents || F.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = d + "px 50%") }, setTransition: function(e) { this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e) } }, ae = { init: function() { var e = this, t = e.params.thumbs, a = e.constructor; t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, V.extend(e.thumbs.swiper.originalParams, { watchSlidesProgress: !0, slideToClickedSlide: !1 }), V.extend(e.thumbs.swiper.params, { watchSlidesProgress: !0, slideToClickedSlide: !1 })) : V.isObject(t.swiper) && (e.thumbs.swiper = new a(V.extend({}, t.swiper, { watchSlidesVisibility: !0, watchSlidesProgress: !0, slideToClickedSlide: !1 })), e.thumbs.swiperCreated = !0), e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), e.thumbs.swiper.on("tap", e.thumbs.onThumbClick) }, onThumbClick: function() { var e = this, t = e.thumbs.swiper; if (t) { var a = t.clickedIndex, i = t.clickedSlide; if (!(i && L(i).hasClass(e.params.thumbs.slideThumbActiveClass) || null == a)) { var s; if (s = t.params.loop ? parseInt(L(t.clickedSlide).attr("data-swiper-slide-index"), 10) : a, e.params.loop) { var r = e.activeIndex; e.slides.eq(r).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), e._clientLeft = e.$wrapperEl[0].clientLeft, r = e.activeIndex); var n = e.slides.eq(r).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(), o = e.slides.eq(r).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(); s = void 0 === n ? o : void 0 === o ? n : o - r < r - n ? o : n } e.slideTo(s) } } }, update: function(e) { var t = this, a = t.thumbs.swiper; if (a) { var i = "auto" === a.params.slidesPerView ? a.slidesPerViewDynamic() : a.params.slidesPerView; if (t.realIndex !== a.realIndex) { var s, r = a.activeIndex; if (a.params.loop) { a.slides.eq(r).hasClass(a.params.slideDuplicateClass) && (a.loopFix(), a._clientLeft = a.$wrapperEl[0].clientLeft, r = a.activeIndex); var n = a.slides.eq(r).prevAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(), o = a.slides.eq(r).nextAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(); s = void 0 === n ? o : void 0 === o ? n : o - r == r - n ? r : o - r < r - n ? o : n } else s = t.realIndex; a.visibleSlidesIndexes.indexOf(s) < 0 && (a.params.centeredSlides ? s = r < s ? s - Math.floor(i / 2) + 1 : s + Math.floor(i / 2) - 1 : r < s && (s = s - i + 1), a.slideTo(s, e ? 0 : void 0)) } var l = 1, d = t.params.thumbs.slideThumbActiveClass; if (1 < t.params.slidesPerView && !t.params.centeredSlides && (l = t.params.slidesPerView), a.slides.removeClass(d), a.params.loop) for (var p = 0; p < l; p += 1) a.$wrapperEl.children('[data-swiper-slide-index="' + (t.realIndex + p) + '"]').addClass(d); else for (var c = 0; c < l; c += 1) a.slides.eq(t.realIndex + c).addClass(d) } } }, ie = [C, M, k, P, $, O, N, { name: "mousewheel", params: { mousewheel: { enabled: !1, releaseOnEdges: !1, invert: !1, forceToAxis: !1, sensitivity: 1, eventsTarged: "container" } }, create: function() { var e = this; V.extend(e, { mousewheel: { enabled: !1, enable: H.enable.bind(e), disable: H.disable.bind(e), handle: H.handle.bind(e), handleMouseEnter: H.handleMouseEnter.bind(e), handleMouseLeave: H.handleMouseLeave.bind(e), lastScrollTime: V.now() } }) }, on: { init: function() { this.params.mousewheel.enabled && this.mousewheel.enable() }, destroy: function() { this.mousewheel.enabled && this.mousewheel.disable() } } }, { name: "navigation", params: { navigation: { nextEl: null, prevEl: null, hideOnClick: !1, disabledClass: "swiper-button-disabled", hiddenClass: "swiper-button-hidden", lockClass: "swiper-button-lock" } }, create: function() { var e = this; V.extend(e, { navigation: { init: G.init.bind(e), update: G.update.bind(e), destroy: G.destroy.bind(e), onNextClick: G.onNextClick.bind(e), onPrevClick: G.onPrevClick.bind(e) } }) }, on: { init: function() { this.navigation.init(), this.navigation.update() }, toEdge: function() { this.navigation.update() }, fromEdge: function() { this.navigation.update() }, destroy: function() { this.navigation.destroy() }, click: function(e) { var t = this.navigation, a = t.$nextEl, i = t.$prevEl; !this.params.navigation.hideOnClick || L(e.target).is(i) || L(e.target).is(a) || (a && a.toggleClass(this.params.navigation.hiddenClass), i && i.toggleClass(this.params.navigation.hiddenClass)) } } }, { name: "pagination", params: { pagination: { el: null, bulletElement: "span", clickable: !1, hideOnClick: !1, renderBullet: null, renderProgressbar: null, renderFraction: null, renderCustom: null, progressbarOpposite: !1, type: "bullets", dynamicBullets: !1, dynamicMainBullets: 1, formatFractionCurrent: function(e) { return e }, formatFractionTotal: function(e) { return e }, bulletClass: "swiper-pagination-bullet", bulletActiveClass: "swiper-pagination-bullet-active", modifierClass: "swiper-pagination-", currentClass: "swiper-pagination-current", totalClass: "swiper-pagination-total", hiddenClass: "swiper-pagination-hidden", progressbarFillClass: "swiper-pagination-progressbar-fill", progressbarOppositeClass: "swiper-pagination-progressbar-opposite", clickableClass: "swiper-pagination-clickable", lockClass: "swiper-pagination-lock" } }, create: function() { var e = this; V.extend(e, { pagination: { init: B.init.bind(e), render: B.render.bind(e), update: B.update.bind(e), destroy: B.destroy.bind(e), dynamicBulletIndex: 0 } }) }, on: { init: function() { this.pagination.init(), this.pagination.render(), this.pagination.update() }, activeIndexChange: function() { this.params.loop ? this.pagination.update() : void 0 === this.snapIndex && this.pagination.update() }, snapIndexChange: function() { this.params.loop || this.pagination.update() }, slidesLengthChange: function() { this.params.loop && (this.pagination.render(), this.pagination.update()) }, snapGridLengthChange: function() { this.params.loop || (this.pagination.render(), this.pagination.update()) }, destroy: function() { this.pagination.destroy() }, click: function(e) { var t = this; t.params.pagination.el && t.params.pagination.hideOnClick && 0 < t.pagination.$el.length && !L(e.target).hasClass(t.params.pagination.bulletClass) && t.pagination.$el.toggleClass(t.params.pagination.hiddenClass) } } }, { name: "scrollbar", params: { scrollbar: { el: null, dragSize: "auto", hide: !1, draggable: !1, snapOnRelease: !0, lockClass: "swiper-scrollbar-lock", dragClass: "swiper-scrollbar-drag" } }, create: function() { var e = this; V.extend(e, { scrollbar: { init: X.init.bind(e), destroy: X.destroy.bind(e), updateSize: X.updateSize.bind(e), setTranslate: X.setTranslate.bind(e), setTransition: X.setTransition.bind(e), enableDraggable: X.enableDraggable.bind(e), disableDraggable: X.disableDraggable.bind(e), setDragPosition: X.setDragPosition.bind(e), onDragStart: X.onDragStart.bind(e), onDragMove: X.onDragMove.bind(e), onDragEnd: X.onDragEnd.bind(e), isTouched: !1, timeout: null, dragTimeout: null } }) }, on: { init: function() { this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate() }, update: function() { this.scrollbar.updateSize() }, resize: function() { this.scrollbar.updateSize() }, observerUpdate: function() { this.scrollbar.updateSize() }, setTranslate: function() { this.scrollbar.setTranslate() }, setTransition: function(e) { this.scrollbar.setTransition(e) }, destroy: function() { this.scrollbar.destroy() } } }, { name: "parallax", params: { parallax: { enabled: !1 } }, create: function() { V.extend(this, { parallax: { setTransform: R.setTransform.bind(this), setTranslate: R.setTranslate.bind(this), setTransition: R.setTransition.bind(this) } }) }, on: { beforeInit: function() { this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0) }, init: function() { this.params.parallax && this.parallax.setTranslate() }, setTranslate: function() { this.params.parallax && this.parallax.setTranslate() }, setTransition: function(e) { this.params.parallax && this.parallax.setTransition(e) } } }, { name: "zoom", params: { zoom: { enabled: !1, maxRatio: 3, minRatio: 1, toggle: !0, containerClass: "swiper-zoom-container", zoomedSlideClass: "swiper-slide-zoomed" } }, create: function() { var t = this, a = { enabled: !1, scale: 1, currentScale: 1, isScaling: !1, gesture: { $slideEl: void 0, slideWidth: void 0, slideHeight: void 0, $imageEl: void 0, $imageWrapEl: void 0, maxRatio: 3 }, image: { isTouched: void 0, isMoved: void 0, currentX: void 0, currentY: void 0, minX: void 0, minY: void 0, maxX: void 0, maxY: void 0, width: void 0, height: void 0, startX: void 0, startY: void 0, touchesStart: {}, touchesCurrent: {} }, velocity: { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0 } }; "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach(function(e) { a[e] = q[e].bind(t) }), V.extend(t, { zoom: a }) }, on: { init: function() { this.params.zoom.enabled && this.zoom.enable() }, destroy: function() { this.zoom.disable() }, touchStart: function(e) { this.zoom.enabled && this.zoom.onTouchStart(e) }, touchEnd: function(e) { this.zoom.enabled && this.zoom.onTouchEnd(e) }, doubleTap: function(e) { this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e) }, transitionEnd: function() { this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd() } } }, { name: "lazy", params: { lazy: { enabled: !1, loadPrevNext: !1, loadPrevNextAmount: 1, loadOnTransitionStart: !1, elementClass: "swiper-lazy", loadingClass: "swiper-lazy-loading", loadedClass: "swiper-lazy-loaded", preloaderClass: "swiper-lazy-preloader" } }, create: function() { V.extend(this, { lazy: { initialImageLoaded: !1, load: W.load.bind(this), loadInSlide: W.loadInSlide.bind(this) } }) }, on: { beforeInit: function() { this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1) }, init: function() { this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load() }, scroll: function() { this.params.freeMode && !this.params.freeModeSticky && this.lazy.load() }, resize: function() { this.params.lazy.enabled && this.lazy.load() }, scrollbarDragMove: function() { this.params.lazy.enabled && this.lazy.load() }, transitionStart: function() { var e = this; e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load() }, transitionEnd: function() { this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load() } } }, { name: "controller", params: { controller: { control: void 0, inverse: !1, by: "slide" } }, create: function() { var e = this; V.extend(e, { controller: { control: e.params.controller.control, getInterpolateFunction: j.getInterpolateFunction.bind(e), setTranslate: j.setTranslate.bind(e), setTransition: j.setTransition.bind(e) } }) }, on: { update: function() { this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) }, resize: function() { this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) }, observerUpdate: function() { this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) }, setTranslate: function(e, t) { this.controller.control && this.controller.setTranslate(e, t) }, setTransition: function(e, t) { this.controller.control && this.controller.setTransition(e, t) } } }, { name: "a11y", params: { a11y: { enabled: !0, notificationClass: "swiper-notification", prevSlideMessage: "Previous slide", nextSlideMessage: "Next slide", firstSlideMessage: "This is the first slide", lastSlideMessage: "This is the last slide", paginationBulletMessage: "Go to slide {{index}}" } }, create: function() { var t = this; V.extend(t, { a11y: { liveRegion: L('') } }), Object.keys(U).forEach(function(e) { t.a11y[e] = U[e].bind(t) }) }, on: { init: function() { this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation()) }, toEdge: function() { this.params.a11y.enabled && this.a11y.updateNavigation() }, fromEdge: function() { this.params.a11y.enabled && this.a11y.updateNavigation() }, paginationUpdate: function() { this.params.a11y.enabled && this.a11y.updatePagination() }, destroy: function() { this.params.a11y.enabled && this.a11y.destroy() } } }, { name: "history", params: { history: { enabled: !1, replaceState: !1, key: "slides" } }, create: function() { var e = this; V.extend(e, { history: { init: K.init.bind(e), setHistory: K.setHistory.bind(e), setHistoryPopState: K.setHistoryPopState.bind(e), scrollToSlide: K.scrollToSlide.bind(e), destroy: K.destroy.bind(e) } }) }, on: { init: function() { this.params.history.enabled && this.history.init() }, destroy: function() { this.params.history.enabled && this.history.destroy() }, transitionEnd: function() { this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex) } } }, { name: "hash-navigation", params: { hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } }, create: function() { var e = this; V.extend(e, { hashNavigation: { initialized: !1, init: _.init.bind(e), destroy: _.destroy.bind(e), setHash: _.setHash.bind(e), onHashCange: _.onHashCange.bind(e) } }) }, on: { init: function() { this.params.hashNavigation.enabled && this.hashNavigation.init() }, destroy: function() { this.params.hashNavigation.enabled && this.hashNavigation.destroy() }, transitionEnd: function() { this.hashNavigation.initialized && this.hashNavigation.setHash() } } }, { name: "autoplay", params: { autoplay: { enabled: !1, delay: 3e3, waitForTransition: !0, disableOnInteraction: !0, stopOnLastSlide: !1, reverseDirection: !1 } }, create: function() { var t = this; V.extend(t, { autoplay: { running: !1, paused: !1, run: Z.run.bind(t), start: Z.start.bind(t), stop: Z.stop.bind(t), pause: Z.pause.bind(t), onTransitionEnd: function(e) { t && !t.destroyed && t.$wrapperEl && e.target === this && (t.$wrapperEl[0].removeEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].removeEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd), t.autoplay.paused = !1, t.autoplay.running ? t.autoplay.run() : t.autoplay.stop()) } } }) }, on: { init: function() { this.params.autoplay.enabled && this.autoplay.start() }, beforeTransitionStart: function(e, t) { this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop()) }, sliderFirstMove: function() { this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause()) }, destroy: function() { this.autoplay.running && this.autoplay.stop() } } }, { name: "effect-fade", params: { fadeEffect: { crossFade: !1 } }, create: function() { V.extend(this, { fadeEffect: { setTranslate: Q.setTranslate.bind(this), setTransition: Q.setTransition.bind(this) } }) }, on: { beforeInit: function() { var e = this; if ("fade" === e.params.effect) { e.classNames.push(e.params.containerModifierClass + "fade"); var t = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0 }; V.extend(e.params, t), V.extend(e.originalParams, t) } }, setTranslate: function() { "fade" === this.params.effect && this.fadeEffect.setTranslate() }, setTransition: function(e) { "fade" === this.params.effect && this.fadeEffect.setTransition(e) } } }, { name: "effect-cube", params: { cubeEffect: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: .94 } }, create: function() { V.extend(this, { cubeEffect: { setTranslate: J.setTranslate.bind(this), setTransition: J.setTransition.bind(this) } }) }, on: { beforeInit: function() { var e = this; if ("cube" === e.params.effect) { e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e.params.containerModifierClass + "3d"); var t = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, resistanceRatio: 0, spaceBetween: 0, centeredSlides: !1, virtualTranslate: !0 }; V.extend(e.params, t), V.extend(e.originalParams, t) } }, setTranslate: function() { "cube" === this.params.effect && this.cubeEffect.setTranslate() }, setTransition: function(e) { "cube" === this.params.effect && this.cubeEffect.setTransition(e) } } }, { name: "effect-flip", params: { flipEffect: { slideShadows: !0, limitRotation: !0 } }, create: function() { V.extend(this, { flipEffect: { setTranslate: ee.setTranslate.bind(this), setTransition: ee.setTransition.bind(this) } }) }, on: { beforeInit: function() { var e = this; if ("flip" === e.params.effect) { e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e.params.containerModifierClass + "3d"); var t = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0 }; V.extend(e.params, t), V.extend(e.originalParams, t) } }, setTranslate: function() { "flip" === this.params.effect && this.flipEffect.setTranslate() }, setTransition: function(e) { "flip" === this.params.effect && this.flipEffect.setTransition(e) } } }, { name: "effect-coverflow", params: { coverflowEffect: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0 } }, create: function() { V.extend(this, { coverflowEffect: { setTranslate: te.setTranslate.bind(this), setTransition: te.setTransition.bind(this) } }) }, on: { beforeInit: function() { var e = this; "coverflow" === e.params.effect && (e.classNames.push(e.params.containerModifierClass + "coverflow"), e.classNames.push(e.params.containerModifierClass + "3d"), e.params.watchSlidesProgress = !0, e.originalParams.watchSlidesProgress = !0) }, setTranslate: function() { "coverflow" === this.params.effect && this.coverflowEffect.setTranslate() }, setTransition: function(e) { "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e) } } }, { name: "thumbs", params: { thumbs: { swiper: null, slideThumbActiveClass: "swiper-slide-thumb-active", thumbsContainerClass: "swiper-container-thumbs" } }, create: function() { V.extend(this, { thumbs: { swiper: null, init: ae.init.bind(this), update: ae.update.bind(this), onThumbClick: ae.onThumbClick.bind(this) } }) }, on: { beforeInit: function() { var e = this.params.thumbs; e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0)) }, slideChange: function() { this.thumbs.swiper && this.thumbs.update() }, update: function() { this.thumbs.swiper && this.thumbs.update() }, resize: function() { this.thumbs.swiper && this.thumbs.update() }, observerUpdate: function() { this.thumbs.swiper && this.thumbs.update() }, setTransition: function(e) { var t = this.thumbs.swiper; t && t.setTransition(e) }, beforeDestroy: function() { var e = this.thumbs.swiper; e && this.thumbs.swiperCreated && e && e.destroy() } } }]; return void 0 === S.use && (S.use = S.Class.use, S.installModule = S.Class.installModule), S.use(ie), S }); /*! This file is auto-generated */ /*! * imagesLoaded PACKAGED v4.1.4 * JavaScript is all like "You images are done yet or what?" * MIT License */ ! function(e, t) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", t) : "object" == typeof module && module.exports ? module.exports = t() : e.EvEmitter = t() }("undefined" != typeof window ? window : this, function() { function e() {} var t = e.prototype; return t.on = function(e, t) { if (e && t) { var i = this._events = this._events || {}, n = i[e] = i[e] || []; return n.indexOf(t) == -1 && n.push(t), this } }, t.once = function(e, t) { if (e && t) { this.on(e, t); var i = this._onceEvents = this._onceEvents || {}, n = i[e] = i[e] || {}; return n[t] = !0, this } }, t.off = function(e, t) { var i = this._events && this._events[e]; if (i && i.length) { var n = i.indexOf(t); return n != -1 && i.splice(n, 1), this } }, t.emitEvent = function(e, t) { var i = this._events && this._events[e]; if (i && i.length) { i = i.slice(0), t = t || []; for (var n = this._onceEvents && this._onceEvents[e], o = 0; o < i.length; o++) { var r = i[o], s = n && n[r]; s && (this.off(e, r), delete n[r]), r.apply(this, t) } return this } }, t.allOff = function() { delete this._events, delete this._onceEvents }, e }), function(e, t) { "use strict"; "function" == typeof define && define.amd ? define(["ev-emitter/ev-emitter"], function(i) { return t(e, i) }) : "object" == typeof module && module.exports ? module.exports = t(e, require("ev-emitter")) : e.imagesLoaded = t(e, e.EvEmitter) }("undefined" != typeof window ? window : this, function(e, t) { function i(e, t) { for (var i in t) e[i] = t[i]; return e } function n(e) { if (Array.isArray(e)) return e; var t = "object" == typeof e && "number" == typeof e.length; return t ? d.call(e) : [e] } function o(e, t, r) { if (!(this instanceof o)) return new o(e, t, r); var s = e; return "string" == typeof e && (s = document.querySelectorAll(e)), s ? (this.elements = n(s), this.options = i({}, this.options), "function" == typeof t ? r = t : i(this.options, t), r && this.on("always", r), this.getImages(), h && (this.jqDeferred = new h.Deferred), void setTimeout(this.check.bind(this))) : void a.error("Bad element for imagesLoaded " + (s || e)) } function r(e) { this.img = e } function s(e, t) { this.url = e, this.element = t, this.img = new Image } var h = e.jQuery, a = e.console, d = Array.prototype.slice; o.prototype = Object.create(t.prototype), o.prototype.options = {}, o.prototype.getImages = function() { this.images = [], this.elements.forEach(this.addElementImages, this) }, o.prototype.addElementImages = function(e) { "IMG" == e.nodeName && this.addImage(e), this.options.background === !0 && this.addElementBackgroundImages(e); var t = e.nodeType; if (t && u[t]) { for (var i = e.querySelectorAll("img"), n = 0; n < i.length; n++) { var o = i[n]; this.addImage(o) } if ("string" == typeof this.options.background) { var r = e.querySelectorAll(this.options.background); for (n = 0; n < r.length; n++) { var s = r[n]; this.addElementBackgroundImages(s) } } } }; var u = { 1: !0, 9: !0, 11: !0 }; return o.prototype.addElementBackgroundImages = function(e) { var t = getComputedStyle(e); if (t) for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(t.backgroundImage); null !== n;) { var o = n && n[2]; o && this.addBackground(o, e), n = i.exec(t.backgroundImage) } }, o.prototype.addImage = function(e) { var t = new r(e); this.images.push(t) }, o.prototype.addBackground = function(e, t) { var i = new s(e, t); this.images.push(i) }, o.prototype.check = function() { function e(e, i, n) { setTimeout(function() { t.progress(e, i, n) }) } var t = this; return this.progressedCount = 0, this.hasAnyBroken = !1, this.images.length ? void this.images.forEach(function(t) { t.once("progress", e), t.check() }) : void this.complete() }, o.prototype.progress = function(e, t, i) { this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !e.isLoaded, this.emitEvent("progress", [this, e, t]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, e), this.progressedCount == this.images.length && this.complete(), this.options.debug && a && a.log("progress: " + i, e, t) }, o.prototype.complete = function() { var e = this.hasAnyBroken ? "fail" : "done"; if (this.isComplete = !0, this.emitEvent(e, [this]), this.emitEvent("always", [this]), this.jqDeferred) { var t = this.hasAnyBroken ? "reject" : "resolve"; this.jqDeferred[t](this) } }, r.prototype = Object.create(t.prototype), r.prototype.check = function() { var e = this.getIsImageComplete(); return e ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), void(this.proxyImage.src = this.img.src)) }, r.prototype.getIsImageComplete = function() { return this.img.complete && this.img.naturalWidth }, r.prototype.confirm = function(e, t) { this.isLoaded = e, this.emitEvent("progress", [this, this.img, t]) }, r.prototype.handleEvent = function(e) { var t = "on" + e.type; this[t] && this[t](e) }, r.prototype.onload = function() { this.confirm(!0, "onload"), this.unbindEvents() }, r.prototype.onerror = function() { this.confirm(!1, "onerror"), this.unbindEvents() }, r.prototype.unbindEvents = function() { this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, s.prototype = Object.create(r.prototype), s.prototype.check = function() { this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url; var e = this.getIsImageComplete(); e && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents()) }, s.prototype.unbindEvents = function() { this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, s.prototype.confirm = function(e, t) { this.isLoaded = e, this.emitEvent("progress", [this, this.element, t]) }, o.makeJQueryPlugin = function(t) { t = t || e.jQuery, t && (h = t, h.fn.imagesLoaded = function(e, t) { var i = new o(this, e, t); return i.jqDeferred.promise(h(this)) }) }, o.makeJQueryPlugin(), o }); /*! * Isotope PACKAGED v3.0.6 * * Licensed GPLv3 for open source use * or Isotope Commercial License for commercial use * * https://isotope.metafizzy.co * Copyright 2010-2018 Metafizzy */ ! function(t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function(t, e) { "use strict"; function i(i, s, a) { function u(t, e, o) { var n, s = "$()." + i + '("' + e + '")'; return t.each(function(t, u) { var h = a.data(u, i); if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + s); var d = h[e]; if (!d || "_" == e.charAt(0)) return void r(s + " is not a valid method"); var l = d.apply(h, o); n = void 0 === n ? l : n }), void 0 !== n ? n : t } function h(t, e) { t.each(function(t, o) { var n = a.data(o, i); n ? (n.option(e), n._init()) : (n = new s(o, e), a.data(o, i, n)) }) } a = a || e || t.jQuery, a && (s.prototype.option || (s.prototype.option = function(t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function(t) { if ("string" == typeof t) { var e = n.call(arguments, 1); return u(this, t, e) } return h(this, t), this }, o(a)) } function o(t) { !t || t && t.bridget || (t.bridget = i) } var n = Array.prototype.slice, s = t.console, r = "undefined" == typeof s ? function() {} : function(t) { s.error(t) }; return o(e || t.jQuery), i }), function(t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function() { function t() {} var e = t.prototype; return e.on = function(t, e) { if (t && e) { var i = this._events = this._events || {}, o = i[t] = i[t] || []; return o.indexOf(e) == -1 && o.push(e), this } }, e.once = function(t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, o = i[t] = i[t] || {}; return o[e] = !0, this } }, e.off = function(t, e) { var i = this._events && this._events[t]; if (i && i.length) { var o = i.indexOf(e); return o != -1 && i.splice(o, 1), this } }, e.emitEvent = function(t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var o = this._onceEvents && this._onceEvents[t], n = 0; n < i.length; n++) { var s = i[n], r = o && o[s]; r && (this.off(t, s), delete o[s]), s.apply(this, e) } return this } }, e.allOff = function() { delete this._events, delete this._onceEvents }, t }), function(t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function() { "use strict"; function t(t) { var e = parseFloat(t), i = t.indexOf("%") == -1 && !isNaN(e); return i && e } function e() {} function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; e < h; e++) { var i = u[e]; t[i] = 0 } return t } function o(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e } function n() { if (!d) { d = !0; var e = document.createElement("div"); e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement; i.appendChild(e); var n = o(e); r = 200 == Math.round(t(n.width)), s.isBoxSizeOuter = r, i.removeChild(e) } } function s(e) { if (n(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var s = o(e); if ("none" == s.display) return i(); var a = {}; a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = "border-box" == s.boxSizing, l = 0; l < h; l++) { var f = u[l], c = s[f], m = parseFloat(c); a[f] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, y = a.paddingTop + a.paddingBottom, g = a.marginLeft + a.marginRight, v = a.marginTop + a.marginBottom, _ = a.borderLeftWidth + a.borderRightWidth, z = a.borderTopWidth + a.borderBottomWidth, I = d && r, x = t(s.width); x !== !1 && (a.width = x + (I ? 0 : p + _)); var S = t(s.height); return S !== !1 && (a.height = S + (I ? 0 : y + z)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (y + z), a.outerWidth = a.width + g, a.outerHeight = a.height + v, a } } var r, a = "undefined" == typeof console ? e : function(t) { console.error(t) }, u = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], h = u.length, d = !1; return s }), function(t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function() { "use strict"; var t = function() { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var o = e[i], n = o + "MatchesSelector"; if (t[n]) return n } }(); return function(e, i) { return e[t](i) } }), function(t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function(t, e) { var i = {}; i.extend = function(t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function(t, e) { return (t % e + e) % e }; var o = Array.prototype.slice; i.makeArray = function(t) { if (Array.isArray(t)) return t; if (null === t || void 0 === t) return []; var e = "object" == typeof t && "number" == typeof t.length; return e ? o.call(t) : [t] }, i.removeFrom = function(t, e) { var i = t.indexOf(e); i != -1 && t.splice(i, 1) }, i.getParent = function(t, i) { for (; t.parentNode && t != document.body;) if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function(t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function(t) { var e = "on" + t.type; this[e] && this[e](t) }, i.filterFindElements = function(t, o) { t = i.makeArray(t); var n = []; return t.forEach(function(t) { if (t instanceof HTMLElement) { if (!o) return void n.push(t); e(t, o) && n.push(t); for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) n.push(i[s]) } }), n }, i.debounceMethod = function(t, e, i) { i = i || 100; var o = t.prototype[e], n = e + "Timeout"; t.prototype[e] = function() { var t = this[n]; clearTimeout(t); var e = arguments, s = this; this[n] = setTimeout(function() { o.apply(s, e), delete s[n] }, i) } }, i.docReady = function(t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function(t) { return t.replace(/(.)([A-Z])/g, function(t, e, i) { return e + "-" + i }).toLowerCase() }; var n = t.console; return i.htmlInit = function(e, o) { i.docReady(function() { var s = i.toDashed(o), r = "data-" + s, a = document.querySelectorAll("[" + r + "]"), u = document.querySelectorAll(".js-" + s), h = i.makeArray(a).concat(i.makeArray(u)), d = r + "-options", l = t.jQuery; h.forEach(function(t) { var i, s = t.getAttribute(r) || t.getAttribute(d); try { i = s && JSON.parse(s) } catch (a) { return void(n && n.error("Error parsing " + r + " on " + t.className + ": " + a)) } var u = new e(t, i); l && l.data(t, o, u) }) }) }, i }), function(t, e) { "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function(t, e) { "use strict"; function i(t) { for (var e in t) return !1; return e = null, !0 } function o(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } function n(t) { return t.replace(/([A-Z])/g, function(t) { return "-" + t.toLowerCase() }) } var s = document.documentElement.style, r = "string" == typeof s.transition ? "transition" : "WebkitTransition", a = "string" == typeof s.transform ? "transform" : "WebkitTransform", u = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[r], h = { transform: a, transition: r, transitionDuration: r + "Duration", transitionProperty: r + "Property", transitionDelay: r + "Delay" }, d = o.prototype = Object.create(t.prototype); d.constructor = o, d._create = function() { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: "absolute" }) }, d.handleEvent = function(t) { var e = "on" + t.type; this[e] && this[e](t) }, d.getSize = function() { this.size = e(this.element) }, d.css = function(t) { var e = this.element.style; for (var i in t) { var o = h[i] || i; e[o] = t[i] } }, d.getPosition = function() { var t = getComputedStyle(this.element), e = this.layout._getOption("originLeft"), i = this.layout._getOption("originTop"), o = t[e ? "left" : "right"], n = t[i ? "top" : "bottom"], s = parseFloat(o), r = parseFloat(n), a = this.layout.size; o.indexOf("%") != -1 && (s = s / 100 * a.width), n.indexOf("%") != -1 && (r = r / 100 * a.height), s = isNaN(s) ? 0 : s, r = isNaN(r) ? 0 : r, s -= e ? a.paddingLeft : a.paddingRight, r -= i ? a.paddingTop : a.paddingBottom, this.position.x = s, this.position.y = r }, d.layoutPosition = function() { var t = this.layout.size, e = {}, i = this.layout._getOption("originLeft"), o = this.layout._getOption("originTop"), n = i ? "paddingLeft" : "paddingRight", s = i ? "left" : "right", r = i ? "right" : "left", a = this.position.x + t[n]; e[s] = this.getXValue(a), e[r] = ""; var u = o ? "paddingTop" : "paddingBottom", h = o ? "top" : "bottom", d = o ? "bottom" : "top", l = this.position.y + t[u]; e[h] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) }, d.getXValue = function(t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" }, d.getYValue = function(t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" }, d._transitionTo = function(t, e) { this.getPosition(); var i = this.position.x, o = this.position.y, n = t == this.position.x && e == this.position.y; if (this.setPosition(t, e), n && !this.isTransitioning) return void this.layoutPosition(); var s = t - i, r = e - o, a = {}; a.transform = this.getTranslate(s, r), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function(t, e) { var i = this.layout._getOption("originLeft"), o = this.layout._getOption("originTop"); return t = i ? t : -t, e = o ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" }, d.goTo = function(t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function(t, e) { this.position.x = parseFloat(t), this.position.y = parseFloat(e) }, d._nonTransition = function(t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function(t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var o = this.element.offsetHeight; o = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = "opacity," + n(a); d.enableTransition = function() { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; t = "number" == typeof t ? t + "ms" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(u, this, !1) } }, d.onwebkitTransitionEnd = function(t) { this.ontransitionend(t) }, d.onotransitionend = function(t) { this.ontransitionend(t) }; var f = { "-webkit-transform": "transform" }; d.ontransitionend = function(t) { if (t.target === this.element) { var e = this._transn, o = f[t.propertyName] || t.propertyName; if (delete e.ingProperties[o], i(e.ingProperties) && this.disableTransition(), o in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[o]), o in e.onEnd) { var n = e.onEnd[o]; n.call(this), delete e.onEnd[o] } this.emitEvent("transitionEnd", [this]) } }, d.disableTransition = function() { this.removeTransitionStyles(), this.element.removeEventListener(u, this, !1), this.isTransitioning = !1 }, d._removeStyles = function(t) { var e = {}; for (var i in t) e[i] = ""; this.css(e) }; var c = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; return d.removeTransitionStyles = function() { this.css(c) }, d.stagger = function(t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" }, d.removeElem = function() { this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]) }, d.remove = function() { return r && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function() { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function() { delete this.isHidden, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("visibleStyle"); e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function() { this.isHidden || this.emitEvent("reveal") }, d.getHideRevealTransitionEndProperty = function(t) { var e = this.layout.options[t]; if (e.opacity) return "opacity"; for (var i in e) return i }, d.hide = function() { this.isHidden = !0, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("hiddenStyle"); e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function() { this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")) }, d.destroy = function() { this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }) }, o }), function(t, e) { "use strict"; "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function(i, o, n, s) { return e(t, i, o, n, s) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function(t, e, i, o, n) { "use strict"; function s(t, e) { var i = o.getQueryElement(t); if (!i) return void(u && u.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); this.element = i, h && (this.$element = h(this.element)), this.options = o.extend({}, this.constructor.defaults), this.option(e); var n = ++l; this.element.outlayerGUID = n, f[n] = this, this._create(); var s = this._getOption("initLayout"); s && this.layout() } function r(t) { function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } function a(t) { if ("number" == typeof t) return t; var e = t.match(/(^\d*\.?\d*)(\w*)/), i = e && e[1], o = e && e[2]; if (!i.length) return 0; i = parseFloat(i); var n = m[o] || 1; return i * n } var u = t.console, h = t.jQuery, d = function() {}, l = 0, f = {}; s.namespace = "outlayer", s.Item = n, s.defaults = { containerStyle: { position: "relative" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: "0.4s", hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, visibleStyle: { opacity: 1, transform: "scale(1)" } }; var c = s.prototype; o.extend(c, e.prototype), c.option = function(t) { o.extend(this.options, t) }, c._getOption = function(t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, s.compatOptions = { initLayout: "isInitLayout", horizontal: "isHorizontal", layoutInstant: "isLayoutInstant", originLeft: "isOriginLeft", originTop: "isOriginTop", resize: "isResizeBound", resizeContainer: "isResizingContainer" }, c._create = function() { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), o.extend(this.element.style, this.options.containerStyle); var t = this._getOption("resize"); t && this.bindResize() }, c.reloadItems = function() { this.items = this._itemize(this.element.children) }, c._itemize = function(t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0; n < e.length; n++) { var s = e[n], r = new i(s, this); o.push(r) } return o }, c._filterFindItemElements = function(t) { return o.filterFindElements(t, this.options.itemSelector) }, c.getItemElements = function() { return this.items.map(function(t) { return t.element }) }, c.layout = function() { this._resetLayout(), this._manageStamps(); var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; this.layoutItems(this.items, e), this._isLayoutInited = !0 }, c._init = c.layout, c._resetLayout = function() { this.getSize() }, c.getSize = function() { this.size = i(this.element) }, c._getMeasurement = function(t, e) { var o, n = this.options[t]; n ? ("string" == typeof n ? o = this.element.querySelector(n) : n instanceof HTMLElement && (o = n), this[t] = o ? i(o)[e] : n) : this[t] = 0 }, c.layoutItems = function(t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, c._getItemsForLayout = function(t) { return t.filter(function(t) { return !t.isIgnored }) }, c._layoutItems = function(t, e) { if (this._emitCompleteOnItems("layout", t), t && t.length) { var i = []; t.forEach(function(t) { var o = this._getItemLayoutPosition(t); o.item = t, o.isInstant = e || t.isLayoutInstant, i.push(o) }, this), this._processLayoutQueue(i) } }, c._getItemLayoutPosition = function() { return { x: 0, y: 0 } }, c._processLayoutQueue = function(t) { this.updateStagger(), t.forEach(function(t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, c.updateStagger = function() { var t = this.options.stagger; return null === t || void 0 === t ? void(this.stagger = 0) : (this.stagger = a(t), this.stagger) }, c._positionItem = function(t, e, i, o, n) { o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)) }, c._postLayout = function() { this.resizeContainer() }, c.resizeContainer = function() { var t = this._getOption("resizeContainer"); if (t) { var e = this._getContainerSize(); e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, c._getContainerSize = d, c._setContainerMeasure = function(t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" } }, c._emitCompleteOnItems = function(t, e) { function i() { n.dispatchEvent(t + "Complete", null, [e]) } function o() { r++, r == s && i() } var n = this, s = e.length; if (!e || !s) return void i(); var r = 0; e.forEach(function(e) { e.once(t, o) }) }, c.dispatchEvent = function(t, e, i) { var o = e ? [e].concat(i) : i; if (this.emitEvent(t, o), h) if (this.$element = this.$element || h(this.element), e) { var n = h.Event(e); n.type = t, this.$element.trigger(n, i) } else this.$element.trigger(t, i) }, c.ignore = function(t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, c.unignore = function(t) { var e = this.getItem(t); e && delete e.isIgnored }, c.stamp = function(t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, c.unstamp = function(t) { t = this._find(t), t && t.forEach(function(t) { o.removeFrom(this.stamps, t), this.unignore(t) }, this) }, c._find = function(t) { if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), t = o.makeArray(t) }, c._manageStamps = function() { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, c._getBoundingRect = function() { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, c._manageStamp = d, c._getElementOffset = function(t) { var e = t.getBoundingClientRect(), o = this._boundingRect, n = i(t), s = { left: e.left - o.left - n.marginLeft, top: e.top - o.top - n.marginTop, right: o.right - e.right - n.marginRight, bottom: o.bottom - e.bottom - n.marginBottom }; return s }, c.handleEvent = o.handleEvent, c.bindResize = function() { t.addEventListener("resize", this), this.isResizeBound = !0 }, c.unbindResize = function() { t.removeEventListener("resize", this), this.isResizeBound = !1 }, c.onresize = function() { this.resize() }, o.debounceMethod(s, "onresize", 100), c.resize = function() { this.isResizeBound && this.needsResizeLayout() && this.layout() }, c.needsResizeLayout = function() { var t = i(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, c.addItems = function(t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, c.appended = function(t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, c.prepended = function(t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, c.reveal = function(t) { if (this._emitCompleteOnItems("reveal", t), t && t.length) { var e = this.updateStagger(); t.forEach(function(t, i) { t.stagger(i * e), t.reveal() }) } }, c.hide = function(t) { if (this._emitCompleteOnItems("hide", t), t && t.length) { var e = this.updateStagger(); t.forEach(function(t, i) { t.stagger(i * e), t.hide() }) } }, c.revealItemElements = function(t) { var e = this.getItems(t); this.reveal(e) }, c.hideItemElements = function(t) { var e = this.getItems(t); this.hide(e) }, c.getItem = function(t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, c.getItems = function(t) { t = o.makeArray(t); var e = []; return t.forEach(function(t) { var i = this.getItem(t); i && e.push(i) }, this), e }, c.remove = function(t) { var e = this.getItems(t); this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function(t) { t.remove(), o.removeFrom(this.items, t) }, this) }, c.destroy = function() { var t = this.element.style; t.height = "", t.position = "", t.width = "", this.items.forEach(function(t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; delete f[e], delete this.element.outlayerGUID, h && h.removeData(this.element, this.constructor.namespace) }, s.data = function(t) { t = o.getQueryElement(t); var e = t && t.outlayerGUID; return e && f[e] }, s.create = function(t, e) { var i = r(s); return i.defaults = o.extend({}, s.defaults), o.extend(i.defaults, e), i.compatOptions = o.extend({}, s.compatOptions), i.namespace = t, i.data = s.data, i.Item = r(n), o.htmlInit(i, t), h && h.bridget && h.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return s.Item = n, s }), function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) }(window, function(t) { "use strict"; function e() { t.Item.apply(this, arguments) } var i = e.prototype = Object.create(t.Item.prototype), o = i._create; i._create = function() { this.id = this.layout.itemGUID++, o.call(this), this.sortData = {} }, i.updateSortData = function() { if (!this.isIgnored) { this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random(); var t = this.layout.options.getSortData, e = this.layout._sorters; for (var i in t) { var o = e[i]; this.sortData[i] = o(this.element, this) } } }; var n = i.destroy; return i.destroy = function() { n.apply(this, arguments), this.css({ display: "" }) }, e }), function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) }(window, function(t, e) { "use strict"; function i(t) { this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) } var o = i.prototype, n = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout", "_getOption"]; return n.forEach(function(t) { o[t] = function() { return e.prototype[t].apply(this.isotope, arguments) } }), o.needsVerticalResizeLayout = function() { var e = t(this.isotope.element), i = this.isotope.size && e; return i && e.innerHeight != this.isotope.size.innerHeight }, o._getMeasurement = function() { this.isotope._getMeasurement.apply(this, arguments) }, o.getColumnWidth = function() { this.getSegmentSize("column", "Width") }, o.getRowHeight = function() { this.getSegmentSize("row", "Height") }, o.getSegmentSize = function(t, e) { var i = t + e, o = "outer" + e; if (this._getMeasurement(i, o), !this[i]) { var n = this.getFirstItemSize(); this[i] = n && n[o] || this.isotope.size["inner" + e] } }, o.getFirstItemSize = function() { var e = this.isotope.filteredItems[0]; return e && e.element && t(e.element) }, o.layout = function() { this.isotope.layout.apply(this.isotope, arguments) }, o.getSize = function() { this.isotope.getSize(), this.size = this.isotope.size }, i.modes = {}, i.create = function(t, e) { function n() { i.apply(this, arguments) } return n.prototype = Object.create(o), n.prototype.constructor = n, e && (n.options = e), n.prototype.namespace = t, i.modes[t] = n, n }, i }), function(t, e) { "function" == typeof define && define.amd ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function(t, e) { var i = t.create("masonry"); i.compatOptions.fitWidth = "isFitWidth"; var o = i.prototype; return o._resetLayout = function() { this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++) this.colYs.push(0); this.maxY = 0, this.horizontalColIndex = 0 }, o.measureColumns = function() { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } var o = this.columnWidth += this.gutter, n = this.containerWidth + this.gutter, s = n / o, r = o - n % o, a = r && r < 1 ? "round" : "floor"; s = Math[a](s), this.cols = Math.max(s, 1) }, o.getContainerWidth = function() { var t = this._getOption("fitWidth"), i = t ? this.element.parentNode : this.element, o = e(i); this.containerWidth = o && o.innerWidth }, o._getItemLayoutPosition = function(t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, i = e && e < 1 ? "round" : "ceil", o = Math[i](t.size.outerWidth / this.columnWidth); o = Math.min(o, this.cols); for (var n = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", s = this[n](o, t), r = { x: this.columnWidth * s.col, y: s.y }, a = s.y + t.size.outerHeight, u = o + s.col, h = s.col; h < u; h++) this.colYs[h] = a; return r }, o._getTopColPosition = function(t) { var e = this._getTopColGroup(t), i = Math.min.apply(Math, e); return { col: e.indexOf(i), y: i } }, o._getTopColGroup = function(t) { if (t < 2) return this.colYs; for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) e[o] = this._getColGroupY(o, t); return e }, o._getColGroupY = function(t, e) { if (e < 2) return this.colYs[t]; var i = this.colYs.slice(t, t + e); return Math.max.apply(Math, i) }, o._getHorizontalColPosition = function(t, e) { var i = this.horizontalColIndex % this.cols, o = t > 1 && i + t > this.cols; i = o ? 0 : i; var n = e.size.outerWidth && e.size.outerHeight; return this.horizontalColIndex = n ? i + t : this.horizontalColIndex, { col: i, y: this._getColGroupY(i, t) } }, o._manageStamp = function(t) { var i = e(t), o = this._getElementOffset(t), n = this._getOption("originLeft"), s = n ? o.left : o.right, r = s + i.outerWidth, a = Math.floor(s / this.columnWidth); a = Math.max(0, a); var u = Math.floor(r / this.columnWidth); u -= r % this.columnWidth ? 0 : 1, u = Math.min(this.cols - 1, u); for (var h = this._getOption("originTop"), d = (h ? o.top : o.bottom) + i.outerHeight, l = a; l <= u; l++) this.colYs[l] = Math.max(d, this.colYs[l]) }, o._getContainerSize = function() { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t }, o._getContainerFitWidth = function() { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; return (this.cols - t) * this.columnWidth - this.gutter }, o.needsResizeLayout = function() { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i }), function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/masonry", ["../layout-mode", "masonry-layout/masonry"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry) }(window, function(t, e) { "use strict"; var i = t.create("masonry"), o = i.prototype, n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 }; for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); var r = o.measureColumns; o.measureColumns = function() { this.items = this.isotope.filteredItems, r.call(this) }; var a = o._getOption; return o._getOption = function(t) { return "fitWidth" == t ? void 0 !== this.options.isFitWidth ? this.options.isFitWidth : this.options.fitWidth : a.apply(this.isotope, arguments) }, i }), function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) }(window, function(t) { "use strict"; var e = t.create("fitRows"), i = e.prototype; return i._resetLayout = function() { this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth") }, i._getItemLayoutPosition = function(t) { t.getSize(); var e = t.size.outerWidth + this.gutter, i = this.isotope.size.innerWidth + this.gutter; 0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY); var o = { x: this.x, y: this.y }; return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o }, i._getContainerSize = function() { return { height: this.maxY } }, e }), function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) }(window, function(t) { "use strict"; var e = t.create("vertical", { horizontalAlignment: 0 }), i = e.prototype; return i._resetLayout = function() { this.y = 0 }, i._getItemLayoutPosition = function(t) { t.getSize(); var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, i = this.y; return this.y += t.size.outerHeight, { x: e, y: i } }, i._getContainerSize = function() { return { height: this.y } }, e }), function(t, e) { "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "desandro-matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope-layout/js/item", "isotope-layout/js/layout-mode", "isotope-layout/js/layout-modes/masonry", "isotope-layout/js/layout-modes/fit-rows", "isotope-layout/js/layout-modes/vertical"], function(i, o, n, s, r, a) { return e(t, i, o, n, s, r, a) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("isotope-layout/js/item"), require("isotope-layout/js/layout-mode"), require("isotope-layout/js/layout-modes/masonry"), require("isotope-layout/js/layout-modes/fit-rows"), require("isotope-layout/js/layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode) }(window, function(t, e, i, o, n, s, r) { function a(t, e) { return function(i, o) { for (var n = 0; n < t.length; n++) { var s = t[n], r = i.sortData[s], a = o.sortData[s]; if (r > a || r < a) { var u = void 0 !== e[s] ? e[s] : e, h = u ? 1 : -1; return (r > a ? 1 : -1) * h } } return 0 } } var u = t.jQuery, h = String.prototype.trim ? function(t) { return t.trim() } : function(t) { return t.replace(/^\s+|\s+$/g, "") }, d = e.create("isotope", { layoutMode: "masonry", isJQueryFiltering: !0, sortAscending: !0 }); d.Item = s, d.LayoutMode = r; var l = d.prototype; l._create = function() { this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"]; for (var t in r.modes) this._initLayoutMode(t) }, l.reloadItems = function() { this.itemGUID = 0, e.prototype.reloadItems.call(this) }, l._itemize = function() { for (var t = e.prototype._itemize.apply(this, arguments), i = 0; i < t.length; i++) { var o = t[i]; o.id = this.itemGUID++ } return this._updateItemsSortData(t), t }, l._initLayoutMode = function(t) { var e = r.modes[t], i = this.options[t] || {}; this.options[t] = e.options ? n.extend(e.options, i) : i, this.modes[t] = new e(this) }, l.layout = function() { return !this._isLayoutInited && this._getOption("initLayout") ? void this.arrange() : void this._layout() }, l._layout = function() { var t = this._getIsInstant(); this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 }, l.arrange = function(t) { this.option(t), this._getIsInstant(); var e = this._filter(this.items); this.filteredItems = e.matches, this._bindArrangeComplete(), this._isInstant ? this._noTransition(this._hideReveal, [e]) : this._hideReveal(e), this._sort(), this._layout() }, l._init = l.arrange, l._hideReveal = function(t) { this.reveal(t.needReveal), this.hide(t.needHide) }, l._getIsInstant = function() { var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; return this._isInstant = e, e }, l._bindArrangeComplete = function() { function t() { e && i && o && n.dispatchEvent("arrangeComplete", null, [n.filteredItems]) } var e, i, o, n = this; this.once("layoutComplete", function() { e = !0, t() }), this.once("hideComplete", function() { i = !0, t() }), this.once("revealComplete", function() { o = !0, t() }) }, l._filter = function(t) { var e = this.options.filter; e = e || "*"; for (var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; r < t.length; r++) { var a = t[r]; if (!a.isIgnored) { var u = s(a); u && i.push(a), u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a) } } return { matches: i, needReveal: o, needHide: n } }, l._getFilterTest = function(t) { return u && this.options.isJQueryFiltering ? function(e) { return u(e.element).is(t); } : "function" == typeof t ? function(e) { return t(e.element) } : function(e) { return o(e.element, t) } }, l.updateSortData = function(t) { var e; t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, this._getSorters(), this._updateItemsSortData(e) }, l._getSorters = function() { var t = this.options.getSortData; for (var e in t) { var i = t[e]; this._sorters[e] = f(i) } }, l._updateItemsSortData = function(t) { for (var e = t && t.length, i = 0; e && i < e; i++) { var o = t[i]; o.updateSortData() } }; var f = function() { function t(t) { if ("string" != typeof t) return t; var i = h(t).split(" "), o = i[0], n = o.match(/^\[(.+)\]$/), s = n && n[1], r = e(s, o), a = d.sortDataParsers[i[1]]; return t = a ? function(t) { return t && a(r(t)) } : function(t) { return t && r(t) } } function e(t, e) { return t ? function(e) { return e.getAttribute(t) } : function(t) { var i = t.querySelector(e); return i && i.textContent } } return t }(); d.sortDataParsers = { parseInt: function(t) { return parseInt(t, 10) }, parseFloat: function(t) { return parseFloat(t) } }, l._sort = function() { if (this.options.sortBy) { var t = n.makeArray(this.options.sortBy); this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory)); var e = a(this.sortHistory, this.options.sortAscending); this.filteredItems.sort(e) } }, l._getIsSameSortBy = function(t) { for (var e = 0; e < t.length; e++) if (t[e] != this.sortHistory[e]) return !1; return !0 }, l._mode = function() { var t = this.options.layoutMode, e = this.modes[t]; if (!e) throw new Error("No layout mode: " + t); return e.options = this.options[t], e }, l._resetLayout = function() { e.prototype._resetLayout.call(this), this._mode()._resetLayout() }, l._getItemLayoutPosition = function(t) { return this._mode()._getItemLayoutPosition(t) }, l._manageStamp = function(t) { this._mode()._manageStamp(t) }, l._getContainerSize = function() { return this._mode()._getContainerSize() }, l.needsResizeLayout = function() { return this._mode().needsResizeLayout() }, l.appended = function(t) { var e = this.addItems(t); if (e.length) { var i = this._filterRevealAdded(e); this.filteredItems = this.filteredItems.concat(i) } }, l.prepended = function(t) { var e = this._itemize(t); if (e.length) { this._resetLayout(), this._manageStamps(); var i = this._filterRevealAdded(e); this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items) } }, l._filterRevealAdded = function(t) { var e = this._filter(t); return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches }, l.insert = function(t) { var e = this.addItems(t); if (e.length) { var i, o, n = e.length; for (i = 0; i < n; i++) o = e[i], this.element.appendChild(o.element); var s = this._filter(e).matches; for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; this.reveal(s) } }; var c = l.remove; return l.remove = function(t) { t = n.makeArray(t); var e = this.getItems(t); c.call(this, t); for (var i = e && e.length, o = 0; i && o < i; o++) { var s = e[o]; n.removeFrom(this.filteredItems, s) } }, l.shuffle = function() { for (var t = 0; t < this.items.length; t++) { var e = this.items[t]; e.sortData.random = Math.random() } this.options.sortBy = "random", this._sort(), this._layout() }, l._noTransition = function(t, e) { var i = this.options.transitionDuration; this.options.transitionDuration = 0; var o = t.apply(this, e); return this.options.transitionDuration = i, o }, l.getFilteredItemElements = function() { return this.filteredItems.map(function(t) { return t.element }) }, d }); (function() { var defaultOptions = { frameRate: 150, // [Hz] animationTime: 400, // [ms] stepSize: 100, // [px] pulseAlgorithm: true, pulseScale: 4, pulseNormalize: 1, accelerationDelta: 50, // 50 accelerationMax: 3, // 3 keyboardSupport: true, // option arrowScroll: 50, // [px] fixedBackground: true, excluded: '' }; var options = defaultOptions; var isExcluded = false; var isFrame = false; var direction = { x: 0, y: 0 }; var initDone = false; var root = document.documentElement; var activeElement; var observer; var refreshSize; var deltaBuffer = []; var deltaBufferTimer; var isMac = /^Mac/.test(navigator.platform); var key = { left: 37, up: 38, right: 39, down: 40, spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36 }; var arrowKeys = { 37: 1, 38: 1, 39: 1, 40: 1 }; /*********************************************** * INITIALIZE ***********************************************/ /** * Tests if smooth scrolling is allowed. Shuts down everything if not. */ function initTest() { if (options.keyboardSupport) { addEvent('keydown', keydown); } } /** * Sets up scrolls array, determines if frames are involved. */ function init() { if (initDone || !document.body) return; initDone = true; var body = document.body; var html = document.documentElement; var windowHeight = window.innerHeight; var scrollHeight = body.scrollHeight; root = (document.compatMode.indexOf('CSS') >= 0) ? html : body; activeElement = body; initTest(); if (top != self) { isFrame = true; } /** * Safari 10 fixed it, Chrome fixed it in v45: * 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 (isOldSafari && scrollHeight > windowHeight && (body.offsetHeight <= windowHeight || html.offsetHeight <= windowHeight)) { var fullPageElem = document.createElement('div'); fullPageElem.style.cssText = 'position:absolute; z-index:-10000; ' + 'top:0; left:0; right:0; height:' + root.scrollHeight + 'px'; document.body.appendChild(fullPageElem); var pendingRefresh; refreshSize = function() { if (pendingRefresh) return; // could also be: clearTimeout(pendingRefresh); pendingRefresh = setTimeout(function() { if (isExcluded) return; // could be running after cleanup fullPageElem.style.height = '0'; fullPageElem.style.height = root.scrollHeight + 'px'; pendingRefresh = null; }, 500); // act rarely to stay fast }; setTimeout(refreshSize, 10); addEvent('resize', refreshSize); var config = { attributes: true, childList: true, characterData: false }; observer = new MutationObserver(refreshSize); observer.observe(body, config); if (root.offsetHeight <= windowHeight) { var clearfix = document.createElement('div'); clearfix.style.clear = 'both'; body.appendChild(clearfix); } } if (!options.fixedBackground && !isExcluded) { body.style.backgroundAttachment = 'scroll'; html.style.backgroundAttachment = 'scroll'; } } /** * Removes event listeners and other traces left on the page. */ function cleanup() { observer && observer.disconnect(); removeEvent(wheelEvent, wheel); removeEvent('mousedown', mousedown); removeEvent('keydown', keydown); removeEvent('resize', refreshSize); removeEvent('load', init); } /************************************************ * SCROLLING ************************************************/ var que = []; var pending = false; var lastScroll = Date.now(); /** * Pushes scroll actions to the scrolling queue. */ function scrollArray(elem, left, top) { directionCheck(left, top); if (options.accelerationMax != 1) { var now = Date.now(); var elapsed = now - lastScroll; if (elapsed < options.accelerationDelta) { var factor = (1 + (50 / elapsed)) / 2; if (factor > 1) { factor = Math.min(factor, options.accelerationMax); left *= factor; top *= factor; } } lastScroll = Date.now(); } que.push({ x: left, y: top, lastX: (left < 0) ? 0.99 : -0.99, lastY: (top < 0) ? 0.99 : -0.99, start: Date.now() }); if (pending) { return; } var scrollRoot = getScrollRoot(); var isWindowScroll = (elem === scrollRoot || elem === document.body); if (elem.$scrollBehavior == null && isScrollBehaviorSmooth(elem)) { elem.$scrollBehavior = elem.style.scrollBehavior; elem.style.scrollBehavior = 'auto'; } var step = function(time) { var now = Date.now(); 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); var position = (finished) ? 1 : elapsed / options.animationTime; if (options.pulseAlgorithm) { position = pulse(position); } var x = (item.x * position - item.lastX) >> 0; var y = (item.y * position - item.lastY) >> 0; scrollX += x; scrollY += y; item.lastX += x; item.lastY += y; if (finished) { que.splice(i, 1); i--; } } if (isWindowScroll) { window.scrollBy(scrollX, scrollY); } else { if (scrollX) elem.scrollLeft += scrollX; if (scrollY) elem.scrollTop += scrollY; } if (!left && !top) { que = []; } if (que.length) { requestFrame(step, elem, (1000 / options.frameRate + 1)); } else { pending = false; if (elem.$scrollBehavior != null) { elem.style.scrollBehavior = elem.$scrollBehavior; elem.$scrollBehavior = null; } } }; requestFrame(step, elem, 0); pending = true; } /*********************************************** * EVENTS ***********************************************/ /** * Mouse wheel handler. * @param {Object} event */ function wheel(event) { if (!initDone) { init(); } var target = event.target; if (event.defaultPrevented || event.ctrlKey) { return true; } if (isNodeName(activeElement, 'embed') || (isNodeName(target, 'embed') && /\.pdf/i.test(target.src)) || isNodeName(activeElement, 'object') || target.shadowRoot) { return true; } var deltaX = -event.wheelDeltaX || event.deltaX || 0; var deltaY = -event.wheelDeltaY || event.deltaY || 0; if (isMac) { if (event.wheelDeltaX && isDivisible(event.wheelDeltaX, 120)) { deltaX = -120 * (event.wheelDeltaX / Math.abs(event.wheelDeltaX)); } if (event.wheelDeltaY && isDivisible(event.wheelDeltaY, 120)) { deltaY = -120 * (event.wheelDeltaY / Math.abs(event.wheelDeltaY)); } } if (!deltaX && !deltaY) { deltaY = -event.wheelDelta || 0; } if (event.deltaMode === 1) { deltaX *= 40; deltaY *= 40; } var overflowing = overflowingAncestor(target); if (!overflowing) { if (isFrame && isChrome) { Object.defineProperty(event, "target", { value: window.frameElement }); return parent.wheel(event); } return true; } if (isTouchpad(deltaY)) { return true; } 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(); scheduleClearCache(); } /** * 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); if (!document.body.contains(activeElement)) { activeElement = document.activeElement; } var inputNodeNames = /^(textarea|select|embed|object)$/i; var buttonTypes = /^(button|submit|radio|checkbox|file|color|image)$/i; if (event.defaultPrevented || inputNodeNames.test(target.nodeName) || isNodeName(target, 'input') && !buttonTypes.test(target.type) || isNodeName(activeElement, 'video') || isInsideYoutubeVideo(event) || target.isContentEditable || modifier) { return true; } if ((isNodeName(target, 'button') || isNodeName(target, 'input') && buttonTypes.test(target.type)) && event.keyCode === key.spacebar) { return true; } if (isNodeName(target, 'input') && target.type == 'radio' && arrowKeys[event.keyCode]) { return true; } var shift, x = 0, y = 0; var overflowing = overflowingAncestor(activeElement); if (!overflowing) { return (isFrame && isChrome) ? parent.keydown(event) : true; } var clientHeight = overflowing.clientHeight; if (overflowing == 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: if (overflowing == document.body && document.scrollingElement) overflowing = document.scrollingElement; y = -overflowing.scrollTop; break; case key.end: var scroll = overflowing.scrollHeight - overflowing.scrollTop; var scrollRemaining = scroll - clientHeight; y = (scrollRemaining > 0) ? scrollRemaining + 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(overflowing, x, y); event.preventDefault(); scheduleClearCache(); } /** * Mousedown event only for updating activeElement */ function mousedown(event) { activeElement = event.target; } /*********************************************** * OVERFLOW ***********************************************/ var uniqueID = (function() { var i = 0; return function(el) { return el.uniqueID || (el.uniqueID = i++); }; })(); var cacheX = {}; // cleared out after a scrolling session var cacheY = {}; // cleared out after a scrolling session var clearCacheTimer; var smoothBehaviorForElement = {}; function scheduleClearCache() { clearTimeout(clearCacheTimer); clearCacheTimer = setInterval(function() { cacheX = cacheY = smoothBehaviorForElement = {}; }, 1 * 1000); } function setCache(elems, overflowing, x) { var cache = x ? cacheX : cacheY; for (var i = elems.length; i--;) cache[uniqueID(elems[i])] = overflowing; return overflowing; } function getCache(el, x) { return (x ? cacheX : cacheY)[uniqueID(el)]; } function overflowingAncestor(el) { var elems = []; var body = document.body; var rootScrollHeight = root.scrollHeight; do { var cached = getCache(el, false); if (cached) { return setCache(elems, cached); } elems.push(el); if (rootScrollHeight === el.scrollHeight) { var topOverflowsNotHidden = overflowNotHidden(root) && overflowNotHidden(body); var isOverflowCSS = topOverflowsNotHidden || overflowAutoOrScroll(root); if (isFrame && isContentOverflowing(root) || !isFrame && isOverflowCSS) { return setCache(elems, getScrollRoot()); } } else if (isContentOverflowing(el) && overflowAutoOrScroll(el)) { return setCache(elems, el); } } while ((el = el.parentElement)); } function isContentOverflowing(el) { return (el.clientHeight + 10 < el.scrollHeight); } function overflowNotHidden(el) { var overflow = getComputedStyle(el, '').getPropertyValue('overflow-y'); return (overflow !== 'hidden'); } function overflowAutoOrScroll(el) { var overflow = getComputedStyle(el, '').getPropertyValue('overflow-y'); return (overflow === 'scroll' || overflow === 'auto'); } function isScrollBehaviorSmooth(el) { var id = uniqueID(el); if (smoothBehaviorForElement[id] == null) { var scrollBehavior = getComputedStyle(el, '')['scroll-behavior']; smoothBehaviorForElement[id] = ('smooth' == scrollBehavior); } return smoothBehaviorForElement[id]; } /*********************************************** * HELPERS ***********************************************/ function addEvent(type, fn, arg) { window.addEventListener(type, fn, arg || false); } function removeEvent(type, fn, arg) { window.removeEventListener(type, fn, arg || false); } function isNodeName(el, tag) { return el && (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; } } if (window.localStorage && localStorage.SS_deltaBuffer) { try { // #46 Safari throws in private browsing for localStorage deltaBuffer = localStorage.SS_deltaBuffer.split(','); } catch (e) {} } function isTouchpad(deltaY) { if (!deltaY) return; if (!deltaBuffer.length) { deltaBuffer = [deltaY, deltaY, deltaY]; } deltaY = Math.abs(deltaY); deltaBuffer.push(deltaY); deltaBuffer.shift(); clearTimeout(deltaBufferTimer); deltaBufferTimer = setTimeout(function() { try { // #46 Safari throws in private browsing for localStorage localStorage.SS_deltaBuffer = deltaBuffer.join(','); } catch (e) {} }, 1000); var dpiScaledWheelDelta = deltaY > 120 && allDeltasDivisableBy(deltaY); // win64 return !allDeltasDivisableBy(120) && !allDeltasDivisableBy(100) && !dpiScaledWheelDelta; } function isDivisible(n, divisor) { return (Math.floor(n / divisor) == n / divisor); } function allDeltasDivisableBy(divisor) { return (isDivisible(deltaBuffer[0], divisor) && isDivisible(deltaBuffer[1], divisor) && isDivisible(deltaBuffer[2], divisor)); } function isInsideYoutubeVideo(event) { var elem = event.target; var isControl = false; if (document.URL.indexOf('www.youtube.com/watch') != -1) { do { isControl = (elem.classList && elem.classList.contains('html5-video-controls')); if (isControl) break; } while ((elem = elem.parentNode)); } return isControl; } var requestFrame = (function() { return (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback, element, delay) { window.setTimeout(callback, delay || (1000 / 60)); }); })(); var MutationObserver = (window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver); var getScrollRoot = (function() { var SCROLL_ROOT = document.scrollingElement; return function() { if (!SCROLL_ROOT) { var dummy = document.createElement('div'); dummy.style.cssText = 'height:10000px;width:1px;'; document.body.appendChild(dummy); var bodyScrollTop = document.body.scrollTop; var docElScrollTop = document.documentElement.scrollTop; window.scrollBy(0, 3); if (document.body.scrollTop != bodyScrollTop) (SCROLL_ROOT = document.body); else (SCROLL_ROOT = document.documentElement); window.scrollBy(0, -3); document.body.removeChild(dummy); } return SCROLL_ROOT; }; })(); /*********************************************** * PULSE (by Michael Herf) ***********************************************/ /** * 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; x = x * options.pulseScale; if (x < 1) { // acceleartion val = x - (1 - Math.exp(-x)); } else { // tail start = Math.exp(-1); 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); } /*********************************************** * FIRST RUN ***********************************************/ var userAgent = window.navigator.userAgent; var isEdge = /Edge/.test(userAgent); // thank you MS var isChrome = /chrome/i.test(userAgent) && !isEdge; var isSafari = /safari/i.test(userAgent) && !isEdge; var isMobile = /mobile/i.test(userAgent); var isIEWin7 = /Windows NT 6.1/i.test(userAgent) && /rv:11/i.test(userAgent); var isOldSafari = isSafari && (/Version\/8/i.test(userAgent) || /Version\/9/i.test(userAgent)); var isEnabledForBrowser = (isChrome || isSafari || isIEWin7) && !isMobile; var supportsPassive = false; try { window.addEventListener("test", null, Object.defineProperty({}, 'passive', { get: function() { supportsPassive = true; } })); } catch (e) {} var wheelOpt = supportsPassive ? { passive: false } : false; var wheelEvent = 'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel'; if (wheelEvent && isEnabledForBrowser) { addEvent(wheelEvent, wheel, wheelOpt); addEvent('mousedown', mousedown); addEvent('load', init); } /*********************************************** * PUBLIC INTERFACE ***********************************************/ function SmoothScroll(optionsToSet) { for (var key in optionsToSet) if (defaultOptions.hasOwnProperty(key)) options[key] = optionsToSet[key]; } SmoothScroll.destroy = cleanup; if (window.SmoothScrollOptions) // async API SmoothScroll(window.SmoothScrollOptions); if (typeof define === 'function' && define.amd) define(function() { return SmoothScroll; }); else if ('object' == typeof exports) module.exports = SmoothScroll; else window.SmoothScroll = SmoothScroll; })(); (function(a) { var b = this.SelectBox = function(c, d) { if (c instanceof jQuery) { if (c.length > 0) { c = c[0] } else { return } } this.typeTimer = null; this.typeSearch = ""; this.isMac = navigator.platform.match(/mac/i); d = "object" === typeof d ? d : {}; this.selectElement = c; if (!d.mobile && navigator.userAgent.match(/iPad|iPhone|Android|IEMobile|BlackBerry/i)) { return false } if ("select" !== c.tagName.toLowerCase()) { return false } this.init(d) }; b.prototype.version = "1.2.0"; b.prototype.init = function(o) { var j = a(this.selectElement); if (j.data("selectBox-control")) { return false } var f = a(''), h = j.attr("multiple") || parseInt(j.attr("size")) > 1, d = o || {}, c = parseInt(j.prop("tabindex")) || 0, m = this; f.width(j.outerWidth()).addClass(j.attr("class")).attr("title", j.attr("title") || "").attr("tabindex", c).css("display", "inline-block").bind("focus.selectBox", function() { if (this !== document.activeElement && document.body !== document.activeElement) { a(document.activeElement).blur() } if (f.hasClass("selectBox-active")) { return } f.addClass("selectBox-active"); j.trigger("focus") }).bind("blur.selectBox", function() { if (!f.hasClass("selectBox-active")) { return } f.removeClass("selectBox-active"); j.trigger("blur") }); if (!a(window).data("selectBox-bindings")) { a(window).data("selectBox-bindings", true).bind("scroll.selectBox", this.hideMenus).bind("resize.selectBox", this.hideMenus) } if (j.attr("disabled")) { f.addClass("selectBox-disabled") } j.bind("click.selectBox", function(p) { f.focus(); p.preventDefault() }); if (h) { o = this.getOptions("inline"); f.append(o).data("selectBox-options", o).addClass("selectBox-inline selectBox-menuShowing").bind("keydown.selectBox", function(p) { m.handleKeyDown(p) }).bind("keypress.selectBox", function(p) { m.handleKeyPress(p) }).bind("mousedown.selectBox", function(p) { if (1 !== p.which) { return } if (a(p.target).is("A.selectBox-inline")) { p.preventDefault() } if (!f.hasClass("selectBox-focus")) { f.focus() } }).insertAfter(j); if (!j[0].style.height) { var n = j.attr("size") ? parseInt(j.attr("size")) : 5; var e = f.clone().removeAttr("id").css({ position: "absolute", top: "-9999em" }).show().appendTo("body"); e.find(".selectBox-options").html("
  • \u00A0
  • "); var l = parseInt(e.find(".selectBox-options A:first").html(" ").outerHeight()); e.remove(); f.height(l * n) } this.disableSelection(f) } else { var i = a(''), k = a(''); i.attr("class", this.getLabelClass()).text(this.getLabelText()); o = this.getOptions("dropdown"); o.appendTo("BODY"); f.data("selectBox-options", o).addClass("selectBox-dropdown").append(i).append(k).bind("mousedown.selectBox", function(p) { if (1 === p.which) { if (f.hasClass("selectBox-menuShowing")) { m.hideMenus() } else { p.stopPropagation(); o.data("selectBox-down-at-x", p.screenX).data("selectBox-down-at-y", p.screenY); m.showMenu() } } }).bind("keydown.selectBox", function(p) { m.handleKeyDown(p) }).bind("keypress.selectBox", function(p) { m.handleKeyPress(p) }).bind("open.selectBox", function(q, p) { if (p && p._selectBox === true) { return } m.showMenu() }).bind("close.selectBox", function(q, p) { if (p && p._selectBox === true) { return } m.hideMenus() }).insertAfter(j); var g = f.width() - k.outerWidth() - parseInt(i.css("paddingLeft")) || 0 - parseInt(i.css("paddingRight")) || 0; i.width(g); this.disableSelection(f) } j.addClass("selectBox").data("selectBox-control", f).data("selectBox-settings", d).hide() }; b.prototype.getOptions = function(j) { var f; var c = a(this.selectElement); var e = this; var d = function(i, k) { i.children("OPTION, OPTGROUP").each(function() { if (a(this).is("OPTION")) { if (a(this).length > 0) { e.generateOptions(a(this), k) } else { k.append("
  • \u00A0
  • ") } } else { var l = a('
  • '); l.text(a(this).attr("label")); k.append(l); k = d(a(this), k) } }); return k }; switch (j) { case "inline": f = a('
      '); f = d(c, f); f.find("A").bind("mouseover.selectBox", function(i) { e.addHover(a(this).parent()) }).bind("mouseout.selectBox", function(i) { e.removeHover(a(this).parent()) }).bind("mousedown.selectBox", function(i) { if (1 !== i.which) { return } i.preventDefault(); if (!c.selectBox("control").hasClass("selectBox-active")) { c.selectBox("control").focus() } }).bind("mouseup.selectBox", function(i) { if (1 !== i.which) { return } e.hideMenus(); e.selectOption(a(this).parent(), i) }); this.disableSelection(f); return f; case "dropdown": f = a('
        '); f = d(c, f); f.data("selectBox-select", c).css("display", "none").appendTo("BODY").find("A").bind("mousedown.selectBox", function(i) { if (i.which === 1) { i.preventDefault(); if (i.screenX === f.data("selectBox-down-at-x") && i.screenY === f.data("selectBox-down-at-y")) { f.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"); e.hideMenus() } } }).bind("mouseup.selectBox", function(i) { if (1 !== i.which) { return } if (i.screenX === f.data("selectBox-down-at-x") && i.screenY === f.data("selectBox-down-at-y")) { return } else { f.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y") } e.selectOption(a(this).parent()); e.hideMenus() }).bind("mouseover.selectBox", function(i) { e.addHover(a(this).parent()) }).bind("mouseout.selectBox", function(i) { e.removeHover(a(this).parent()) }); var h = c.attr("class") || ""; if ("" !== h) { h = h.split(" "); for (var g in h) { f.addClass(h[g] + "-selectBox-dropdown-menu") } } this.disableSelection(f); return f } }; b.prototype.getLabelClass = function() { var c = a(this.selectElement).find("OPTION:selected"); return ("selectBox-label " + (c.attr("class") || "")).replace(/\s+$/, "") }; b.prototype.getLabelText = function() { var c = a(this.selectElement).find("OPTION:selected"); return c.text() || "\u00A0" }; b.prototype.setLabel = function() { var c = a(this.selectElement); var d = c.data("selectBox-control"); if (!d) { return } d.find(".selectBox-label").attr("class", this.getLabelClass()).text(this.getLabelText()) }; b.prototype.destroy = function() { var c = a(this.selectElement); var e = c.data("selectBox-control"); if (!e) { return } var d = e.data("selectBox-options"); d.remove(); e.remove(); c.removeClass("selectBox").removeData("selectBox-control").data("selectBox-control", null).removeData("selectBox-settings").data("selectBox-settings", null).show() }; b.prototype.refresh = function() { var c = a(this.selectElement), e = c.data("selectBox-control"), f = e.hasClass("selectBox-dropdown"), d = e.hasClass("selectBox-menuShowing"); c.selectBox("options", c.html()); if (f && d) { this.showMenu() } }; b.prototype.showMenu = function() { var e = this, d = a(this.selectElement), j = d.data("selectBox-control"), h = d.data("selectBox-settings"), f = j.data("selectBox-options"); if (j.hasClass("selectBox-disabled")) { return false } this.hideMenus(); var g = parseInt(j.css("borderBottomWidth")) || 0; f.width(j.innerWidth()).css({ top: j.offset().top + j.outerHeight() - g, left: j.offset().left }); if (d.triggerHandler("beforeopen")) { return false } var i = function() { d.triggerHandler("open", { _selectBox: true }) }; switch (h.menuTransition) { case "fade": f.fadeIn(h.menuSpeed, i); break; case "slide": f.slideDown(h.menuSpeed, i); break; default: f.show(h.menuSpeed, i); break } if (!h.menuSpeed) { i() } var c = f.find(".selectBox-selected:first"); this.keepOptionInView(c, true); this.addHover(c); j.addClass("selectBox-menuShowing"); a(document).bind("mousedown.selectBox", function(k) { if (1 === k.which) { if (a(k.target).parents().andSelf().hasClass("selectBox-options")) { return } e.hideMenus() } }) }; b.prototype.hideMenus = function() { if (a(".selectBox-dropdown-menu:visible").length === 0) { return } a(document).unbind("mousedown.selectBox"); a(".selectBox-dropdown-menu").each(function() { var d = a(this), c = d.data("selectBox-select"), g = c.data("selectBox-control"), e = c.data("selectBox-settings"); if (c.triggerHandler("beforeclose")) { return false } var f = function() { c.triggerHandler("close", { _selectBox: true }) }; if (e) { switch (e.menuTransition) { case "fade": d.fadeOut(e.menuSpeed, f); break; case "slide": d.slideUp(e.menuSpeed, f); break; default: d.hide(e.menuSpeed, f); break } if (!e.menuSpeed) { f() } g.removeClass("selectBox-menuShowing") } else { a(this).hide(); a(this).triggerHandler("close", { _selectBox: true }); a(this).removeClass("selectBox-menuShowing") } }) }; b.prototype.selectOption = function(d, j) { var c = a(this.selectElement); d = a(d); var k = c.data("selectBox-control"), h = c.data("selectBox-settings"); if (k.hasClass("selectBox-disabled")) { return false } if (0 === d.length || d.hasClass("selectBox-disabled")) { return false } if (c.attr("multiple")) { if (j.shiftKey && k.data("selectBox-last-selected")) { d.toggleClass("selectBox-selected"); var e; if (d.index() > k.data("selectBox-last-selected").index()) { e = d.siblings().slice(k.data("selectBox-last-selected").index(), d.index()) } else { e = d.siblings().slice(d.index(), k.data("selectBox-last-selected").index()) } e = e.not(".selectBox-optgroup, .selectBox-disabled"); if (d.hasClass("selectBox-selected")) { e.addClass("selectBox-selected") } else { e.removeClass("selectBox-selected") } } else { if ((this.isMac && j.metaKey) || (!this.isMac && j.ctrlKey)) { d.toggleClass("selectBox-selected") } else { d.siblings().removeClass("selectBox-selected"); d.addClass("selectBox-selected") } } } else { d.siblings().removeClass("selectBox-selected"); d.addClass("selectBox-selected") } if (k.hasClass("selectBox-dropdown")) { k.find(".selectBox-label").text(d.text()) } var f = 0, g = []; if (c.attr("multiple")) { k.find(".selectBox-selected A").each(function() { g[f++] = a(this).attr("rel") }) } else { g = d.find("A").attr("rel") } k.data("selectBox-last-selected", d); if (c.val() !== g) { c.val(g); this.setLabel(); c.trigger("change") } return true }; b.prototype.addHover = function(d) { d = a(d); var c = a(this.selectElement), f = c.data("selectBox-control"), e = f.data("selectBox-options"); e.find(".selectBox-hover").removeClass("selectBox-hover"); d.addClass("selectBox-hover") }; b.prototype.getSelectElement = function() { return this.selectElement }; b.prototype.removeHover = function(d) { d = a(d); var c = a(this.selectElement), f = c.data("selectBox-control"), e = f.data("selectBox-options"); e.find(".selectBox-hover").removeClass("selectBox-hover") }; b.prototype.keepOptionInView = function(e, d) { if (!e || e.length === 0) { return } var c = a(this.selectElement), j = c.data("selectBox-control"), g = j.data("selectBox-options"), h = j.hasClass("selectBox-dropdown") ? g : g.parent(), i = parseInt(e.offset().top - h.position().top), f = parseInt(i + e.outerHeight()); if (d) { h.scrollTop(e.offset().top - h.offset().top + h.scrollTop() - (h.height() / 2)) } else { if (i < 0) { h.scrollTop(e.offset().top - h.offset().top + h.scrollTop()) } if (f > h.height()) { h.scrollTop((e.offset().top + e.outerHeight()) - h.offset().top + h.scrollTop() - h.height()) } } }; b.prototype.handleKeyDown = function(c) { var k = a(this.selectElement), g = k.data("selectBox-control"), l = g.data("selectBox-options"), e = k.data("selectBox-settings"), f = 0, h = 0; if (g.hasClass("selectBox-disabled")) { return } switch (c.keyCode) { case 8: c.preventDefault(); this.typeSearch = ""; break; case 9: case 27: this.hideMenus(); this.removeHover(); break; case 13: if (g.hasClass("selectBox-menuShowing")) { this.selectOption(l.find("LI.selectBox-hover:first"), c); if (g.hasClass("selectBox-dropdown")) { this.hideMenus() } } else { this.showMenu() } break; case 38: case 37: c.preventDefault(); if (g.hasClass("selectBox-menuShowing")) { var d = l.find(".selectBox-hover").prev("LI"); f = l.find("LI:not(.selectBox-optgroup)").length; h = 0; while (d.length === 0 || d.hasClass("selectBox-disabled") || d.hasClass("selectBox-optgroup")) { d = d.prev("LI"); if (d.length === 0) { if (e.loopOptions) { d = l.find("LI:last") } else { d = l.find("LI:first") } } if (++h >= f) { break } } this.addHover(d); this.selectOption(d, c); this.keepOptionInView(d) } else { this.showMenu() } break; case 40: case 39: c.preventDefault(); if (g.hasClass("selectBox-menuShowing")) { var j = l.find(".selectBox-hover").next("LI"); f = l.find("LI:not(.selectBox-optgroup)").length; h = 0; while (0 === j.length || j.hasClass("selectBox-disabled") || j.hasClass("selectBox-optgroup")) { j = j.next("LI"); if (j.length === 0) { if (e.loopOptions) { j = l.find("LI:first") } else { j = l.find("LI:last") } } if (++h >= f) { break } } this.addHover(j); this.selectOption(j, c); this.keepOptionInView(j) } else { this.showMenu() } break } }; b.prototype.handleKeyPress = function(e) { var c = a(this.selectElement), f = c.data("selectBox-control"), d = f.data("selectBox-options"); if (f.hasClass("selectBox-disabled")) { return } switch (e.keyCode) { case 9: case 27: case 13: case 38: case 37: case 40: case 39: break; default: if (!f.hasClass("selectBox-menuShowing")) { this.showMenu() } e.preventDefault(); clearTimeout(this.typeTimer); this.typeSearch += String.fromCharCode(e.charCode || e.keyCode); d.find("A").each(function() { if (a(this).text().substr(0, this.typeSearch.length).toLowerCase() === this.typeSearch.toLowerCase()) { this.addHover(a(this).parent()); this.selectOption(a(this).parent(), e); this.keepOptionInView(a(this).parent()); return false } }); this.typeTimer = setTimeout(function() { this.typeSearch = "" }, 1000); break } }; b.prototype.enable = function() { var c = a(this.selectElement); c.prop("disabled", false); var d = c.data("selectBox-control"); if (!d) { return } d.removeClass("selectBox-disabled") }; b.prototype.disable = function() { var c = a(this.selectElement); c.prop("disabled", true); var d = c.data("selectBox-control"); if (!d) { return } d.addClass("selectBox-disabled") }; b.prototype.setValue = function(f) { var c = a(this.selectElement); c.val(f); f = c.val(); if (null === f) { f = c.children().first().val(); c.val(f) } var g = c.data("selectBox-control"); if (!g) { return } var e = c.data("selectBox-settings"), d = g.data("selectBox-options"); this.setLabel(); d.find(".selectBox-selected").removeClass("selectBox-selected"); d.find("A").each(function() { if (typeof(f) === "object") { for (var h = 0; h < f.length; h++) { if (a(this).attr("rel") == f[h]) { a(this).parent().addClass("selectBox-selected") } } } else { if (a(this).attr("rel") == f) { a(this).parent().addClass("selectBox-selected") } } }); if (e.change) { e.change.call(c) } }; b.prototype.setOptions = function(m) { var l = a(this.selectElement), f = l.data("selectBox-control"), d = l.data("selectBox-settings"), k; switch (typeof(m)) { case "string": l.html(m); break; case "object": l.html(""); for (var g in m) { if (m[g] === null) { continue } if (typeof(m[g]) === "object") { var c = a(''); for (var e in m[g]) { c.append('") } l.append(c) } else { var h = a('"); l.append(h) } } break } if (!f) { return } f.data("selectBox-options").remove(); k = f.hasClass("selectBox-dropdown") ? "dropdown" : "inline"; m = this.getOptions(k); f.data("selectBox-options", m); switch (k) { case "inline": f.append(m); break; case "dropdown": this.setLabel(); a("BODY").append(m); break } }; b.prototype.disableSelection = function(c) { a(c).css("MozUserSelect", "none").bind("selectstart", function(d) { d.preventDefault() }) }; b.prototype.generateOptions = function(e, f) { var c = a("
      • "), d = a(""); c.addClass(e.attr("class")); c.data(e.data()); d.attr("rel", e.val()).text(e.text()); c.append(d); if (e.attr("disabled")) { c.addClass("selectBox-disabled") } if (e.attr("selected")) { c.addClass("selectBox-selected") } f.append(c) }; a.extend(a.fn, { selectBox: function(e, c) { var d; switch (e) { case "control": return a(this).data("selectBox-control"); case "settings": if (!c) { return a(this).data("selectBox-settings") } a(this).each(function() { a(this).data("selectBox-settings", a.extend(true, a(this).data("selectBox-settings"), c)) }); break; case "options": if (undefined === c) { return a(this).data("selectBox-control").data("selectBox-options") } a(this).each(function() { if (d = a(this).data("selectBox")) { d.setOptions(c) } }); break; case "value": if (undefined === c) { return a(this).val() } a(this).each(function() { if (d = a(this).data("selectBox")) { d.setValue(c) } }); break; case "refresh": a(this).each(function() { if (d = a(this).data("selectBox")) { d.refresh() } }); break; case "enable": a(this).each(function() { if (d = a(this).data("selectBox")) { d.enable(this) } }); break; case "disable": a(this).each(function() { if (d = a(this).data("selectBox")) { d.disable() } }); break; case "destroy": a(this).each(function() { if (d = a(this).data("selectBox")) { d.destroy(); a(this).data("selectBox", null) } }); break; case "instance": return a(this).data("selectBox"); default: a(this).each(function(g, f) { if (!a(f).data("selectBox")) { a(f).data("selectBox", new b(f, e)) } }); break } return a(this) } }) })(jQuery); jQuery(document).ready((function(t) { function i() { void 0 !== t.fn.selectBox && t("select.selectBox").filter(":visible").not(".enhanced").selectBox().addClass("enhanced") } function e() { if (void 0 !== t.prettyPhoto) { var e = { hook: "data-rel", social_tools: !1, theme: "pp_woocommerce", horizontal_padding: 20, opacity: .8, deeplinking: !1, overlay_gallery: !1, default_width: 500, changepicturecallback: function() { i(), t(".wishlist-select").filter(":visible").change(), t(document).trigger("yith_wcwl_popup_opened", [this]) }, markup: '
        ' }; t('a[data-rel^="prettyPhoto[add_to_wishlist_"]').add('a[data-rel="prettyPhoto[ask_an_estimate]"]').add('a[data-rel="prettyPhoto[create_wishlist]"]').unbind("click").prettyPhoto(e), t('a[data-rel="prettyPhoto[move_to_another_wishlist]"]').on("click", (function() { var i = t(this), e = t("#move_to_another_wishlist").find("form"), a = e.find(".row-id"), o = i.closest("[data-row-id]").data("row-id"); a.length && a.remove(), e.append('') })).prettyPhoto(e); var a = function(i, e) { if (void 0 !== i.classList && i.classList.contains("yith-wcwl-overlay")) { var a = "remove" === e ? "removeClass" : "addClass"; t("body")[a]("yith-wcwl-with-pretty-photo") } }, o = function(t) { a(t, "add") }, n = function(t) { a(t, "remove") }; new MutationObserver((function(t) { for (var i in t) { var e = t[i]; "childList" === e.type && (void 0 !== e.addedNodes && e.addedNodes.forEach(o), void 0 !== e.removedNodes && e.removedNodes.forEach(n)) } })).observe(document.body, { childList: !0 }) } } function a() { t(".wishlist_table").find('.product-checkbox input[type="checkbox"]').off("change").on("change", (function() { var i = t(this); i.parent().removeClass("checked").removeClass("unchecked").addClass(i.is(":checked") ? "checked" : "unchecked") })).trigger("change") } function o() { t(".add_to_cart").filter("[data-icon]").not(".icon-added").each((function() { var i, e = t(this), a = e.data("icon"); i = a.match(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/gi) ? t("", { src: a }) : t("", { class: "fa " + a }), e.prepend(i).addClass("icon-added") })) } function n() { i(), e(), a(), o(), l(), s(), _(), d(), c(), r(), t(document).trigger("yith_wcwl_init_after_ajax") } function s() { yith_wcwl_l10n.enable_tooltip && t(".yith-wcwl-add-to-wishlist").find("[data-title]").each((function() { var i = t(this); i.hasClass("tooltip-added") || (i.on("mouseenter", (function() { var i, e = t(this), a = null, o = e.outerWidth(), n = 0; a = t("", { class: "yith-wcwl-tooltip", text: e.data("title") }), e.append(a), i = a.outerWidth() + 6, a.outerWidth(i), n = (o - i) / 2, a.css({ left: n.toFixed(0) + "px" }).fadeIn(200), e.addClass("with-tooltip") })).on("mouseleave", (function() { var i = t(this); i.find(".yith-wcwl-tooltip").fadeOut(200, (function() { i.removeClass("with-tooltip").find(".yith-wcwl-tooltip").remove() })) })), i.addClass("tooltip-added")) })) } function l() { t(".yith-wcwl-add-button").filter(".with-dropdown").on("mouseleave", (function() { var i = t(this).find(".yith-wcwl-dropdown"); i.length && i.fadeOut(200) })).children("a").on("mouseenter", (function() { var i = t(this).closest(".with-dropdown"), e = i.find(".yith-wcwl-dropdown"); e.length && e.children().length && i.find(".yith-wcwl-dropdown").fadeIn(200) })) } function d() { void 0 !== yith_wcwl_l10n.enable_drag_n_drop && yith_wcwl_l10n.enable_drag_n_drop && t(".wishlist_table").filter(".sortable").not(".no-interactions").each((function() { var i = t(this), e = !1; i.sortable({ items: "[data-row-id]", scroll: !0, helper: function(i, e) { return e.children().each((function() { t(this).width(t(this).width()) })), e }, update: function() { var a = i.find("[data-row-id]"), o = [], n = 0; a.length && (e && e.abort(), a.each((function() { var i = t(this); i.find('input[name*="[position]"]').val(n++), o.push(i.data("row-id")) })), e = t.ajax({ data: { action: yith_wcwl_l10n.actions.sort_wishlist_items, positions: o, wishlist_token: i.data("token"), page: i.data("page"), per_page: i.data("per-page") }, method: "POST", url: yith_wcwl_l10n.ajax_url })) } }) })) } function c() { var i, e; t(".wishlist_table").on("change", ".product-quantity input", (function() { var a = t(this), o = a.closest("[data-row-id]"), n = o.data("row-id"), s = a.closest(".wishlist_table"), l = s.data("token"); clearTimeout(e), o.find(".add_to_cart").attr("data-quantity", a.val()), e = setTimeout((function() { i && i.abort(), i = t.ajax({ beforeSend: function() { b(s) }, complete: function() { k(s) }, data: { product_id: n, wishlist_token: l, quantity: a.val(), action: yith_wcwl_l10n.actions.update_item_quantity }, method: "POST", url: yith_wcwl_l10n.ajax_url }) }), 1e3) })) } function r() { t(".copy-trigger").on("click", (function() { var i = t(".copy-target"); if (i.length > 0) if (i.is("input")) S() ? i[0].setSelectionRange(0, 9999) : i.select(), document.execCommand("copy"); else { var e = t("", { val: i.text(), type: "text" }); t("body").append(e), S() ? e[0].setSelectionRange(0, 9999) : e.select(), document.execCommand("copy"), e.remove() } })) } function _() { t(".wishlist_table").filter(".images_grid").not(".enhanced").on("click", "[data-row-id] .product-thumbnail a", (function(i) { var e = t(this).closest("[data-row-id]"), a = e.siblings("[data-row-id]"), o = e.find(".item-details"); i.preventDefault(), o.length && (a.removeClass("show"), e.toggleClass("show")) })).on("click", "[data-row-id] a.close", (function(i) { var e = t(this).closest("[data-row-id]"), a = e.find(".item-details"); i.preventDefault(), a.length && e.removeClass("show") })).on("click", "[data-row-id] a.remove_from_wishlist", (function(i) { var e = t(this); return i.stopPropagation(), w(e), !1 })).addClass("enhanced"), t(document).on("click", (function(i) { t(i.target).closest("[data-row-id]").length || t(".wishlist_table").filter(".images_grid").find(".show").removeClass("show") })).on("added_to_cart", (function() { t(".wishlist_table").filter(".images_grid").find(".show").removeClass("show") })) } function h(i, e, a) { i.action = yith_wcwl_l10n.actions.move_to_another_wishlist_action, "" !== i.wishlist_token && "" !== i.destination_wishlist_token && "" !== i.item_id && t.ajax({ beforeSend: e, url: yith_wcwl_l10n.ajax_url, data: i, dataType: "json", method: "post", success: function(e) { a(e), n(), t("body").trigger("moved_to_another_wishlist", [t(this), i.item_id]) } }) } function w(i) { var e = i.parents(".cart.wishlist_table"), a = i.parents("[data-row-id]"), o = a.data("row-id"), s = e.data("id"), l = e.data("token"), d = { action: yith_wcwl_l10n.actions.remove_from_wishlist_action, remove_from_wishlist: o, wishlist_id: s, wishlist_token: l, fragments: j(o) }; t.ajax({ beforeSend: function() { b(e) }, complete: function() { k(e) }, data: d, method: "post", success: function(e) { void 0 !== e.fragments && T(e.fragments), n(), t("body").trigger("removed_from_wishlist", [i, a]) }, url: yith_wcwl_l10n.ajax_url }) } function f(i) { var e = t(this), a = e.closest(".wishlist_table"), o = null; i.preventDefault(), (o = a.length ? e.closest("[data-wishlist-id]").find(".wishlist-title") : e.parents(".wishlist-title")).next().show().find('input[type="text"]').focus(), o.hide() } function p(i) { var e = t(this); i.preventDefault(), e.parents(".hidden-title-form").hide(), e.parents(".hidden-title-form").prev().show() } function u(i) { var e, a = t(this), o = a.closest(".hidden-title-form"), n = a.closest("[data-wishlist-id]").data("wishlist-id"), s = o.find('input[type="text"]'), l = s.val(); if (i.preventDefault(), !l) return o.addClass("woocommerce-invalid"), void s.focus(); e = { action: yith_wcwl_l10n.actions.save_title_action, wishlist_id: n, title: l, fragments: j() }, t.ajax({ type: "POST", url: yith_wcwl_l10n.ajax_url, data: e, dataType: "json", beforeSend: function() { b(o) }, complete: function() { k(o) }, success: function(t) { var i = t.fragments; t.result ? (o.hide(), o.prev().find(".wishlist-anchor").text(l).end().show()) : (o.addClass("woocommerce-invalid"), s.focus()), void 0 !== i && T(i) } }) } function m() { var i = t(this), e = i.val(), a = i.closest("[data-wishlist-id]").data("wishlist-id"), o = { action: yith_wcwl_l10n.actions.save_privacy_action, wishlist_id: a, privacy: e, fragments: j() }; t.ajax({ type: "POST", url: yith_wcwl_l10n.ajax_url, data: o, dataType: "json", success: function(t) { var i = t.fragments; void 0 !== i && T(i) } }) } function v(i) { if (void 0 !== t.prettyPhoto && void 0 !== t.prettyPhoto.close) if (void 0 !== i) { var e = t(".pp_content_container"), a = e.find(".pp_content"), o = e.find(".yith-wcwl-popup-form"), n = o.closest(".pp_pic_holder"); if (o.length) { var s = t("
        ", { class: "yith-wcwl-popup-feedback" }); s.append(t("", { class: "fa fa-check heading-icon" })), s.append(t("

        ", { class: "feedback", html: i })), s.css("display", "none"), a.css("height", "auto"), o.after(s), o.fadeOut(200, (function() { s.fadeIn() })), n.addClass("feedback"), n.css("left", t(window).innerWidth() / 2 - n.outerWidth() / 2 + "px"), (void 0 === yith_wcwl_l10n.auto_close_popup || yith_wcwl_l10n.auto_close_popup) && setTimeout(v, yith_wcwl_l10n.popup_timeout) } } else try { t.prettyPhoto.close() } catch (t) {} } function g(i) { var e = t("#yith-wcwl-popup-message"), a = t("#yith-wcwl-message"), o = void 0 !== yith_wcwl_l10n.popup_timeout ? yith_wcwl_l10n.popup_timeout : 3e3; (void 0 === yith_wcwl_l10n.enable_notices || yith_wcwl_l10n.enable_notices) && (a.html(i), e.css("margin-left", "-" + t(e).width() + "px").fadeIn(), window.setTimeout((function() { e.fadeOut() }), o)) } function y(i) { var e = t("select.wishlist-select"), a = t("ul.yith-wcwl-dropdown"); e.each((function() { var e = t(this), a = e.find("option"), o = a.filter('[value="new"]'); a.not(o).remove(), t.each(i, (function(i, a) { t("

      • ").append(t("", { rel: "nofollow", html: a.wishlist_name, class: "add_to_wishlist", href: a.add_to_this_wishlist_url, "data-product-id": n, "data-product-type": s, "data-wishlist-id": a.id })).appendTo(e) })) })) } function b(i) { void 0 !== t.fn.block && i.fadeTo("400", "0.6").block({ message: null, overlayCSS: { background: "transparent url(" + yith_wcwl_l10n.ajax_loader_url + ") no-repeat center", backgroundSize: "40px 40px", opacity: 1 } }) } function k(i) { void 0 !== t.fn.unblock && i.stop(!0).css("opacity", "1").unblock() } function x() { if (navigator.cookieEnabled) return !0; document.cookie = "cookietest=1"; var t = -1 !== document.cookie.indexOf("cookietest="); return document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT", t } function j(i) { var e = {}, a = null; return i ? "object" == typeof i ? (a = (i = t.extend({ fragments: null, s: "", container: t(document), firstLoad: !1 }, i)).fragments ? i.fragments : i.container.find(".wishlist-fragment"), i.s && (a = a.not("[data-fragment-ref]").add(a.filter('[data-fragment-ref="' + i.s + '"]'))), i.firstLoad && (a = a.filter(".on-first-load"))) : (a = t(".wishlist-fragment"), "string" != typeof i && "number" != typeof i || (a = a.not("[data-fragment-ref]").add(a.filter('[data-fragment-ref="' + i + '"]')))) : a = t(".wishlist-fragment"), a.each((function() { var i = t(this), a = i.attr("class").split(" ").filter(t => t.length && "exists" !== t).join(yith_wcwl_l10n.fragments_index_glue); e[a] = i.data("fragment-options") })), e } function C(i) { var e = j(i = t.extend({ firstLoad: !0 }, i)); e && t.ajax({ data: { action: yith_wcwl_l10n.actions.load_fragments, fragments: e }, method: "post", success: function(a) { void 0 !== a.fragments && (T(a.fragments), n(), t(document).trigger("yith_wcwl_fragments_loaded", [e, a.fragments, i.firstLoad])) }, url: yith_wcwl_l10n.ajax_url }) } function T(i) { t.each(i, (function(i, e) { var a = "." + i.split(yith_wcwl_l10n.fragments_index_glue).filter(t => t.length && "exists" !== t).join("."), o = t(a), n = t(e).filter(a); n.length || (n = t(e).find(a)), o.length && n.length && o.replaceWith(n) })) } function S() { return navigator.userAgent.match(/ipad|iphone/i) } t(document).on("yith_wcwl_init", (function() { var S = t(this), P = "undefined" != typeof wc_add_to_cart_params && null !== wc_add_to_cart_params ? wc_add_to_cart_params.cart_redirect_after_add : ""; S.on("click", ".add_to_wishlist", (function(i) { var e, a = t(this), o = a.attr("data-product-id"), s = t(".add-to-wishlist-" + o), l = { add_to_wishlist: o, product_type: a.data("product-type"), wishlist_id: a.data("wishlist-id"), action: yith_wcwl_l10n.actions.add_to_wishlist_action, fragments: j(o) }; if ((e = t(document).triggerHandler("yith_wcwl_add_to_wishlist_data", [a, l])) && (l = e), i.preventDefault(), jQuery(document.body).trigger("adding_to_wishlist"), yith_wcwl_l10n.multi_wishlist && yith_wcwl_l10n.modal_enable) { var d = a.parents(".yith-wcwl-popup-footer").prev(".yith-wcwl-popup-content"), c = d.find(".wishlist-select"), r = d.find(".wishlist-name"), _ = d.find(".wishlist-visibility").filter(":checked"); if (l.wishlist_id = c.is(":visible") ? c.val() : "new", l.wishlist_name = r.val(), l.wishlist_visibility = _.val(), "new" === l.wishlist_id && !l.wishlist_name) return r.closest("p").addClass("woocommerce-invalid"), !1; r.closest("p").removeClass("woocommerce-invalid") } if (x()) return t.ajax({ type: "POST", url: yith_wcwl_l10n.ajax_url, data: l, dataType: "json", beforeSend: function() { b(a) }, complete: function() { k(a) }, success: function(i) { var e = i.result, o = i.message; yith_wcwl_l10n.multi_wishlist ? (v(o), void 0 !== i.user_wishlists && y(i.user_wishlists)) : g(o), "true" !== e && "exists" !== e || (void 0 !== i.fragments && T(i.fragments), yith_wcwl_l10n.multi_wishlist && !yith_wcwl_l10n.hide_add_button || s.find(".yith-wcwl-add-button").remove(), s.addClass("exists")), n(), t("body").trigger("added_to_wishlist", [a, s]) } }), !1; window.alert(yith_wcwl_l10n.labels.cookie_disabled) })), S.on("click", ".wishlist_table .remove_from_wishlist", (function(i) { var e = t(this); return i.preventDefault(), w(e), !1 })), S.on("adding_to_cart", "body", (function(t, i, e) { void 0 !== i && void 0 !== e && i.closest(".wishlist_table").length && (e.remove_from_wishlist_after_add_to_cart = i.closest("[data-row-id]").data("row-id"), e.wishlist_id = i.closest(".wishlist_table").data("id"), "undefined" != typeof wc_add_to_cart_params && (wc_add_to_cart_params.cart_redirect_after_add = yith_wcwl_l10n.redirect_to_cart), "undefined" != typeof yith_wccl_general && (yith_wccl_general.cart_redirect = yith_wcwl_l10n.redirect_to_cart)) })), S.on("added_to_cart", "body", (function(t, i, e, a) { if (void 0 !== a && a.closest(".wishlist_table").length) { "undefined" != typeof wc_add_to_cart_params && (wc_add_to_cart_params.cart_redirect_after_add = P), "undefined" != typeof yith_wccl_general && (yith_wccl_general.cart_redirect = P); var o = a.closest("[data-row-id]"), n = o.closest(".wishlist-fragment").data("fragment-options"); a.removeClass("added"), o.find(".added_to_cart").remove(), yith_wcwl_l10n.remove_from_wishlist_after_add_to_cart && n.is_user_owner && o.remove() } })), S.on("added_to_cart", "body", (function() { var i = t(".woocommerce-message"); 0 === i.length ? t("#yith-wcwl-form").prepend(yith_wcwl_l10n.labels.added_to_cart_message) : i.fadeOut(300, (function() { t(this).replaceWith(yith_wcwl_l10n.labels.added_to_cart_message).fadeIn() })) })), S.on("cart_page_refreshed", "body", n), S.on("click", ".show-title-form", f), S.on("click", ".wishlist-title-with-form h2", f), S.on("click", ".remove_from_all_wishlists", (function(i) { var e = t(this), a = e.attr("data-product-id"), o = e.data("wishlist-id"), s = e.closest(".content"), l = { action: yith_wcwl_l10n.actions.remove_from_all_wishlists, prod_id: a, wishlist_id: o, fragments: j(a) }; i.preventDefault(), t.ajax({ beforeSend: function() { b(s) }, complete: function() { k(s) }, data: l, dataType: "json", method: "post", success: function(t) { void 0 !== t.fragments && T(t.fragments), n() }, url: yith_wcwl_l10n.ajax_url }) })), S.on("click", ".hide-title-form", p), S.on("click", ".save-title-form", u), S.on("change", ".wishlist_manage_table .wishlist-visibility", m), S.on("change", ".change-wishlist", (function() { var i = t(this), e = i.parents(".cart.wishlist_table"), a = e.data("token"), o = i.parents("[data-row-id]").data("row-id"); h({ wishlist_token: a, destination_wishlist_token: i.val(), item_id: o, fragments: j() }, (function() { b(e) }), (function(t) { void 0 !== t.fragments && T(t.fragments), k(e) })) })), S.on("click", ".yith-wcwl-popup-footer .move_to_wishlist", (function() { var i = t(this), e = i.attr("data-product-id"), a = i.data("origin-wishlist-id"), o = i.closest("form"), s = o.find(".wishlist-select").val(), l = o.find(".wishlist-name"), d = l.val(), c = o.find(".wishlist-visibility").filter(":checked").val(); if ("new" === s && !d) return l.closest("p").addClass("woocommerce-invalid"), !1; l.closest("p").removeClass("woocommerce-invalid"), h({ wishlist_token: a, destination_wishlist_token: s, item_id: e, wishlist_name: d, wishlist_visibility: c, fragments: j(e) }, (function() { b(i) }), (function(t) { var e = t.message; yith_wcwl_l10n.multi_wishlist ? (v(e), void 0 !== t.user_wishlists && y(t.user_wishlists)) : g(e), void 0 !== t.fragments && T(t.fragments), n(), k(i) })) })), S.on("click", ".delete_item", (function() { var i = t(this), e = i.attr("data-product-id"), a = i.data("item-id"), o = t(".add-to-wishlist-" + e); return t.ajax({ url: yith_wcwl_l10n.ajax_url, data: { action: yith_wcwl_l10n.actions.delete_item_action, item_id: a, fragments: j(e) }, dataType: "json", beforeSend: function() { b(i) }, complete: function() { k(i) }, method: "post", success: function(e) { var a = e.fragments, s = e.message; yith_wcwl_l10n.multi_wishlist && v(s), i.closest(".yith-wcwl-remove-button").length || g(s), void 0 !== a && T(a), n(), t("body").trigger("removed_from_wishlist", [i, o]) } }), !1 })), S.on("change", ".yith-wcwl-popup-content .wishlist-select", (function() { var i = t(this); "new" === i.val() ? i.parents(".yith-wcwl-first-row").next(".yith-wcwl-second-row").show() : i.parents(".yith-wcwl-first-row").next(".yith-wcwl-second-row").hide() })), S.on("change", "#bulk_add_to_cart", (function() { var i = t(this), e = i.closest(".wishlist_table").find("[data-row-id]").find('input[type="checkbox"]:not(:disabled)'); i.is(":checked") ? e.attr("checked", "checked").change() : e.removeAttr("checked").change() })), S.on("submit", ".wishlist-ask-an-estimate-popup", (function() { var i = t(this), e = i.closest("form"), a = i.closest(".pp_content"), o = e.serialize(); return t.ajax({ beforeSend: function() { b(e) }, complete: function() { k(e) }, data: o + "&action=" + yith_wcwl_l10n.actions.ask_an_estimate, dataType: "json", method: "post", success: function(i) { if (void 0 !== i.result && i.result) { var o = i.template; void 0 !== o && (e.replaceWith(o), a.css("height", "auto"), setTimeout(v, yith_wcwl_l10n.time_to_close_prettyphoto)) } else void 0 !== i.message && (e.find(".woocommerce-error").remove(), e.find(".popup-description").after(t("
        ", { text: i.message, class: "woocommerce-error" }))) }, url: yith_wcwl_l10n.ajax_url }), !1 })), S.on("click", ".yith-wfbt-add-wishlist", (function(i) { i.preventDefault(); var e = t(this), a = t("#yith-wcwl-form"); t("html, body").animate({ scrollTop: a.offset().top }, 500), function(i, e) { var a = i.attr("data-product-id"), o = t(document).find(".cart.wishlist_table"), s = o.data("pagination"), l = o.data("per-page"), d = o.data("id"), c = o.data("token"), r = { action: yith_wcwl_l10n.actions.reload_wishlist_and_adding_elem_action, pagination: s, per_page: l, wishlist_id: d, wishlist_token: c, add_to_wishlist: a, context: "frontend", product_type: i.data("product-type") }; if (!x()) return void window.alert(yith_wcwl_l10n.labels.cookie_disabled); t.ajax({ type: "POST", url: yith_wcwl_l10n.ajax_url, data: r, dataType: "html", beforeSend: function() { b(o) }, complete: function() { k(o) }, success: function(i) { var a = t(i), o = a.find("#yith-wcwl-form"), s = a.find(".yith-wfbt-slider-wrapper"); e.replaceWith(o), t(".yith-wfbt-slider-wrapper").replaceWith(s), n(), t(document).trigger("yith_wcwl_reload_wishlist_from_frequently") } }) }(e, a) })), S.on("submit", ".yith-wcwl-popup-form", (function() { return !1 })), S.on("yith_infs_added_elem", (function() { e() })), S.on("found_variation", (function(i, e) { var a = t(i.target).data("product_id"), o = e.variation_id, n = t('[data-product-id="' + a + '"]').add('[data-original-product-id="' + a + '"]'), s = n.closest(".wishlist-fragment").filter(":visible"); a && o && n.length && (n.each((function() { var i, e = t(this), n = e.closest(".yith-wcwl-add-to-wishlist"); e.attr("data-original-product-id", a), e.attr("data-product-id", o), n.length && (void 0 !== (i = n.data("fragment-options")) && (i.product_id = o, n.data("fragment-options", i)), n.removeClass((function(t, i) { return i.match(/add-to-wishlist-\S+/g).join(" ") })).addClass("add-to-wishlist-" + o).attr("data-fragment-ref", o)) })), b(s), C({ fragments: s, firstLoad: !1 })) })), S.on("reset_data", (function(i) { var e = t(i.target).data("product_id"), a = t('[data-original-product-id="' + e + '"]'), o = a.closest(".wishlist-fragment"); e && a.length && (a.each((function() { var i, a = t(this), o = a.closest(".yith-wcwl-add-to-wishlist"), n = a.attr("data-product-id"); a.attr("data-product-id", e), a.attr("data-original-product-id", ""), o.length && (void 0 !== (i = o.data("fragment-options")) && (i.product_id = e, o.data("fragment-options", i)), o.removeClass("add-to-wishlist-" + n).addClass("add-to-wishlist-" + e).attr("data-fragment-ref", e)) })), b(o), C({ fragments: o, firstLoad: !1 })) })), S.on("yith_wcwl_reload_fragments", C), S.on("yith_infs_added_elem", (function(t, i) { C({ container: i, firstLoad: !1 }) })), S.on("yith_wcwl_fragments_loaded", (function(i, e, a, o) { o && t(".variations_form").find(".variations select").last().change() })), S.on("click", ".yith-wcwl-popup-feedback .close-popup", (function(t) { t.preventDefault(), v() })), function() { if (void 0 !== yith_wcwl_l10n.enable_notices && !yith_wcwl_l10n.enable_notices) return; if (t(".yith-wcwl-add-to-wishlist").length && !t("#yith-wcwl-popup-message").length) { var i = t("
        ").attr("id", "yith-wcwl-message"), e = t("
        ").attr("id", "yith-wcwl-popup-message").html(i).hide(); t("body").prepend(e) } }(), s(), l(), d(), c(), _(), t(document).on("click", ".show-tab", (function(i) { var e = t(this), a = e.closest(".yith-wcwl-popup-content"), o = e.data("tab"), n = a.find(".tab").filter("." + o); if (i.preventDefault(), !n.length) return !1; e.addClass("active").siblings(".show-tab").removeClass("active"), n.show().siblings(".tab").hide(), "create" === o ? a.prepend('') : a.find("#new_wishlist_selector").remove() })), t(document).on("change", ".wishlist-select", (function() { var i = t(this), e = i.closest(".yith-wcwl-popup-content"), a = i.closest(".tab"), o = e.find(".tab.create"), n = e.find(".show-tab"), s = n.filter('[data-tab="create"]'); "new" === i.val() && o.length && (a.hide(), o.show(), n.removeClass("active"), s.addClass("active"), i.find("option").removeProp("selected"), i.change()) })), i(), a(), e(), o(), function() { var i = !1; if (!yith_wcwl_l10n.is_wishlist_responsive) return; t(window).on("resize", (function() { var e = t(".wishlist_table.responsive"), a = e.is(".mobile"), o = window.matchMedia("(max-width: 768px)"), s = e.closest("form"), l = s.attr("class"), d = s.data("fragment-options"), c = {}, r = !1; e.length && (o.matches && e && !a ? (d.is_mobile = "yes", r = !0) : !o.matches && e && a && (d.is_mobile = "no", r = !0), r && (i && i.abort(), c[l.split(" ").join(yith_wcwl_l10n.fragments_index_glue)] = d, i = t.ajax({ beforeSend: function() { b(e) }, complete: function() { k(e) }, data: { action: yith_wcwl_l10n.actions.load_mobile_action, fragments: c }, method: "post", success: function(i) { void 0 !== i.fragments && (T(i.fragments), n(), t(document).trigger("yith_wcwl_responsive_template", [a, i.fragments])) }, url: yith_wcwl_l10n.ajax_url }))) })) }(), r(), yith_wcwl_l10n.enable_ajax_loading && C() })).trigger("yith_wcwl_init") })); (function($) { 'use strict'; if (typeof wpcf7 === 'undefined' || wpcf7 === null) { return; } wpcf7 = $.extend({ cached: 0, inputs: [] }, wpcf7); $(function() { wpcf7.supportHtml5 = (function() { var features = {}; var input = document.createElement('input'); features.placeholder = 'placeholder' in input; var inputTypes = ['email', 'url', 'tel', 'number', 'range', 'date']; $.each(inputTypes, function(index, value) { input.setAttribute('type', value); features[value] = input.type !== 'text'; }); return features; })(); $('div.wpcf7 > form').each(function() { var $form = $(this); wpcf7.initForm($form); if (wpcf7.cached) { wpcf7.refill($form); } }); }); wpcf7.getId = function(form) { return parseInt($('input[name="_wpcf7"]', form).val(), 10); }; wpcf7.initForm = function(form) { var $form = $(form); wpcf7.setStatus($form, 'init'); $form.submit(function(event) { if (!wpcf7.supportHtml5.placeholder) { $('[placeholder].placeheld', $form).each(function(i, n) { $(n).val('').removeClass('placeheld'); }); } if (typeof window.FormData === 'function') { wpcf7.submit($form); event.preventDefault(); } }); $('.wpcf7-submit', $form).after(''); wpcf7.toggleSubmit($form); $form.on('click', '.wpcf7-acceptance', function() { wpcf7.toggleSubmit($form); }); $('.wpcf7-exclusive-checkbox', $form).on('click', 'input:checkbox', function() { var name = $(this).attr('name'); $form.find('input:checkbox[name="' + name + '"]').not(this).prop('checked', false); }); $('.wpcf7-list-item.has-free-text', $form).each(function() { var $freetext = $(':input.wpcf7-free-text', this); var $wrap = $(this).closest('.wpcf7-form-control'); if ($(':checkbox, :radio', this).is(':checked')) { $freetext.prop('disabled', false); } else { $freetext.prop('disabled', true); } $wrap.on('change', ':checkbox, :radio', function() { var $cb = $('.has-free-text', $wrap).find(':checkbox, :radio'); if ($cb.is(':checked')) { $freetext.prop('disabled', false).focus(); } else { $freetext.prop('disabled', true); } }); }); if (!wpcf7.supportHtml5.placeholder) { $('[placeholder]', $form).each(function() { $(this).val($(this).attr('placeholder')); $(this).addClass('placeheld'); $(this).focus(function() { if ($(this).hasClass('placeheld')) { $(this).val('').removeClass('placeheld'); } }); $(this).blur(function() { if ('' === $(this).val()) { $(this).val($(this).attr('placeholder')); $(this).addClass('placeheld'); } }); }); } if (wpcf7.jqueryUi && !wpcf7.supportHtml5.date) { $form.find('input.wpcf7-date[type="date"]').each(function() { $(this).datepicker({ dateFormat: 'yy-mm-dd', minDate: new Date($(this).attr('min')), maxDate: new Date($(this).attr('max')) }); }); } if (wpcf7.jqueryUi && !wpcf7.supportHtml5.number) { $form.find('input.wpcf7-number[type="number"]').each(function() { $(this).spinner({ min: $(this).attr('min'), max: $(this).attr('max'), step: $(this).attr('step') }); }); } wpcf7.resetCounter($form); $form.on('change', '.wpcf7-validates-as-url', function() { var val = $.trim($(this).val()); if (val && !val.match(/^[a-z][a-z0-9.+-]*:/i) && -1 !== val.indexOf('.')) { val = val.replace(/^\/+/, ''); val = 'http://' + val; } $(this).val(val); }); }; wpcf7.submit = function(form) { if (typeof window.FormData !== 'function') { return; } var $form = $(form); $('.ajax-loader', $form).addClass('is-active'); wpcf7.clearResponse($form); var formData = new FormData($form.get(0)); var detail = { id: $form.closest('div.wpcf7').attr('id'), status: 'init', inputs: [], formData: formData }; $.each($form.serializeArray(), function(i, field) { if ('_wpcf7' == field.name) { detail.contactFormId = field.value; } else if ('_wpcf7_version' == field.name) { detail.pluginVersion = field.value; } else if ('_wpcf7_locale' == field.name) { detail.contactFormLocale = field.value; } else if ('_wpcf7_unit_tag' == field.name) { detail.unitTag = field.value; } else if ('_wpcf7_container_post' == field.name) { detail.containerPostId = field.value; } else if (field.name.match(/^_/)) {} else { detail.inputs.push(field); } }); wpcf7.triggerEvent($form.closest('div.wpcf7'), 'beforesubmit', detail); var ajaxSuccess = function(data, status, xhr, $form) { detail.id = $(data.into).attr('id'); detail.status = data.status; detail.apiResponse = data; switch (data.status) { case 'init': wpcf7.setStatus($form, 'init'); break; case 'validation_failed': $.each(data.invalid_fields, function(i, n) { $(n.into, $form).each(function() { wpcf7.notValidTip(this, n.message); $('.wpcf7-form-control', this).addClass('wpcf7-not-valid'); $('[aria-invalid]', this).attr('aria-invalid', 'true'); }); }); wpcf7.setStatus($form, 'invalid'); wpcf7.triggerEvent(data.into, 'invalid', detail); break; case 'acceptance_missing': wpcf7.setStatus($form, 'unaccepted'); wpcf7.triggerEvent(data.into, 'unaccepted', detail); break; case 'spam': wpcf7.setStatus($form, 'spam'); wpcf7.triggerEvent(data.into, 'spam', detail); break; case 'aborted': wpcf7.setStatus($form, 'aborted'); wpcf7.triggerEvent(data.into, 'aborted', detail); break; case 'mail_sent': wpcf7.setStatus($form, 'sent'); wpcf7.triggerEvent(data.into, 'mailsent', detail); break; case 'mail_failed': wpcf7.setStatus($form, 'failed'); wpcf7.triggerEvent(data.into, 'mailfailed', detail); break; default: wpcf7.setStatus($form, 'custom-' + data.status.replace(/[^0-9a-z]+/i, '-')); } wpcf7.refill($form, data); wpcf7.triggerEvent(data.into, 'submit', detail); if ('mail_sent' == data.status) { $form.each(function() { this.reset(); }); wpcf7.toggleSubmit($form); wpcf7.resetCounter($form); } if (!wpcf7.supportHtml5.placeholder) { $form.find('[placeholder].placeheld').each(function(i, n) { $(n).val($(n).attr('placeholder')); }); } $('.wpcf7-response-output', $form).html('').append(data.message).slideDown('fast'); $('.screen-reader-response', $form.closest('.wpcf7')).each(function() { var $response = $(this); $response.html('').append(data.message); if (data.invalid_fields) { var $invalids = $('
          '); $.each(data.invalid_fields, function(i, n) { if (n.idref) { var $li = $('
        • ').append($('').attr('href', '#' + n.idref).append(n.message)); } else { var $li = $('
        • ').append(n.message); } $invalids.append($li); }); $response.append($invalids); } $response.focus(); }); if (data.posted_data_hash) { $form.find('input[name="_wpcf7_posted_data_hash"]').first().val(data.posted_data_hash); } }; $.ajax({ type: 'POST', url: wpcf7.apiSettings.getRoute('/contact-forms/' + wpcf7.getId($form) + '/feedback'), data: formData, dataType: 'json', processData: false, contentType: false }).done(function(data, status, xhr) { ajaxSuccess(data, status, xhr, $form); $('.ajax-loader', $form).removeClass('is-active'); }).fail(function(xhr, status, error) { var $e = $('
          ').text(error.message); $form.after($e); }); }; wpcf7.triggerEvent = function(target, name, detail) { var event = new CustomEvent('wpcf7' + name, { bubbles: true, detail: detail }); $(target).get(0).dispatchEvent(event); }; wpcf7.setStatus = function(form, status) { var $form = $(form); var prevStatus = $form.data('status'); $form.data('status', status); $form.addClass(status); if (prevStatus && prevStatus !== status) { $form.removeClass(prevStatus); } } wpcf7.toggleSubmit = function(form, state) { var $form = $(form); var $submit = $('input:submit', $form); if (typeof state !== 'undefined') { $submit.prop('disabled', !state); return; } if ($form.hasClass('wpcf7-acceptance-as-validation')) { return; } $submit.prop('disabled', false); $('.wpcf7-acceptance', $form).each(function() { var $span = $(this); var $input = $('input:checkbox', $span); if (!$span.hasClass('optional')) { if ($span.hasClass('invert') && $input.is(':checked') || !$span.hasClass('invert') && !$input.is(':checked')) { $submit.prop('disabled', true); return false; } } }); }; wpcf7.resetCounter = function(form) { var $form = $(form); $('.wpcf7-character-count', $form).each(function() { var $count = $(this); var name = $count.attr('data-target-name'); var down = $count.hasClass('down'); var starting = parseInt($count.attr('data-starting-value'), 10); var maximum = parseInt($count.attr('data-maximum-value'), 10); var minimum = parseInt($count.attr('data-minimum-value'), 10); var updateCount = function(target) { var $target = $(target); var length = $target.val().length; var count = down ? starting - length : length; $count.attr('data-current-value', count); $count.text(count); if (maximum && maximum < length) { $count.addClass('too-long'); } else { $count.removeClass('too-long'); } if (minimum && length < minimum) { $count.addClass('too-short'); } else { $count.removeClass('too-short'); } }; $(':input[name="' + name + '"]', $form).each(function() { updateCount(this); $(this).keyup(function() { updateCount(this); }); }); }); }; wpcf7.notValidTip = function(target, message) { var $target = $(target); $('.wpcf7-not-valid-tip', $target).remove(); $('').attr({ 'class': 'wpcf7-not-valid-tip', 'role': 'alert', 'aria-hidden': 'true', }).text(message).appendTo($target); if ($target.is('.use-floating-validation-tip *')) { var fadeOut = function(target) { $(target).not(':hidden').animate({ opacity: 0 }, 'fast', function() { $(this).css({ 'z-index': -100 }); }); }; $target.on('mouseover', '.wpcf7-not-valid-tip', function() { fadeOut(this); }); $target.on('focus', ':input', function() { fadeOut($('.wpcf7-not-valid-tip', $target)); }); } }; wpcf7.refill = function(form, data) { var $form = $(form); var refillCaptcha = function($form, items) { $.each(items, function(i, n) { $form.find(':input[name="' + i + '"]').val(''); $form.find('img.wpcf7-captcha-' + i).attr('src', n); var match = /([0-9]+)\.(png|gif|jpeg)$/.exec(n); $form.find('input:hidden[name="_wpcf7_captcha_challenge_' + i + '"]').attr('value', match[1]); }); }; var refillQuiz = function($form, items) { $.each(items, function(i, n) { $form.find(':input[name="' + i + '"]').val(''); $form.find(':input[name="' + i + '"]').siblings('span.wpcf7-quiz-label').text(n[0]); $form.find('input:hidden[name="_wpcf7_quiz_answer_' + i + '"]').attr('value', n[1]); }); }; if (typeof data === 'undefined') { $.ajax({ type: 'GET', url: wpcf7.apiSettings.getRoute('/contact-forms/' + wpcf7.getId($form) + '/refill'), beforeSend: function(xhr) { var nonce = $form.find(':input[name="_wpnonce"]').val(); if (nonce) { xhr.setRequestHeader('X-WP-Nonce', nonce); } }, dataType: 'json' }).done(function(data, status, xhr) { if (data.captcha) { refillCaptcha($form, data.captcha); } if (data.quiz) { refillQuiz($form, data.quiz); } }); } else { if (data.captcha) { refillCaptcha($form, data.captcha); } if (data.quiz) { refillQuiz($form, data.quiz); } } }; wpcf7.clearResponse = function(form) { var $form = $(form); $form.siblings('.screen-reader-response').html(''); $('.wpcf7-not-valid-tip', $form).remove(); $('[aria-invalid]', $form).attr('aria-invalid', 'false'); $('.wpcf7-form-control', $form).removeClass('wpcf7-not-valid'); $('.wpcf7-response-output', $form).hide().empty(); }; wpcf7.apiSettings.getRoute = function(path) { var url = wpcf7.apiSettings.root; url = url.replace(wpcf7.apiSettings.namespace, wpcf7.apiSettings.namespace + path); return url; }; })(jQuery); (function() { if (typeof window.CustomEvent === "function") return false; function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = document.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype = window.Event.prototype; window.CustomEvent = CustomEvent; })(); jQuery(document).ready(function($) { $(document).ready(function() { if ($(".owl-carousel-play").length > 0) { $(".owl-carousel-play .owl-carousel").each(function() { var config = { navigation: false, slideSpeed: 300, paginationSpeed: 400, pagination: $(this).data('pagination'), autoHeight: true }; var owl = $(this); if ($(this).data('slide') == 1) { config.singleItem = true; } else { config.items = $(this).data('slide'); } if ($(this).data('desktop')) { config.itemsDesktop = $(this).data('desktop'); } if ($(this).data('desktopsmall')) { config.itemsDesktopSmall = $(this).data('desktopsmall'); } if ($(this).data('desktopsmall')) { config.itemsTablet = $(this).data('tablet'); } if ($(this).data('tabletsmall')) { config.itemsTabletSmall = $(this).data('tabletsmall'); } if ($(this).data('mobile')) { config.itemsMobile = $(this).data('mobile'); } if ($('.pbr-owl-thumbs li', $(this).parent()).length > 0) { config.afterAction = function() { $('.pbr-owl-thumbs li').removeClass('active'); $('.pbr-owl-thumbs li').eq(this.owl.currentItem).addClass('active'); }; } $(this).owlCarousel(config); $('.left', $(this).parent()).on('click', function() { owl.trigger('owl.prev'); return false; }); $('.right', $(this).parent()).on('click', function() { owl.trigger('owl.next'); return false; }); $('.thumbs li', $(this)).on('click', function() { owl.trigger('owl.next'); return false; }); $('.pbr-owl-thumbs li', $(this).parent()).on('click', function() { var index = $(this).index(); owl.trigger('owl.goTo', index); $('.pbr-owl-thumbs li').removeClass('active'); $(this).addClass('active'); return false; }); }); } var $service_slick = $('.elementor-service-slick-slider'); var slideCount = null; $service_slick.on('init', function(event, slick) { slideCount = slick.slideCount; setCurrentSlideNumber(slick.currentSlide); }); $service_slick.on('beforeChange', function(event, slick, currentSlide, nextSlide) { setCurrentSlideNumber(nextSlide); }); function setCurrentSlideNumber(currentSlide) { var $el = $('.slick-pagination-custom').find('.filled'); width = ((currentSlide + 1) / slideCount) * 100; $el.attr('style', 'width:' + width + '%'); } $service_slick.each(function(i, el) { var $this = $(el), setSlidesToShow = $this.data('slides-show'), setSlidesToScroll = $this.data('slides-scroll'), setDot = $this.data('pagination'), setAutoplay = $this.data('autoplay'), setAnimation = $this.data('animation'), setEasing = $this.data('easing'), setFade = $this.data('fade'), setSpeed = $this.data('speed'), setSlidesRows = $this.data('rows'), setCenterMode = $this.data('center-mode'), setCenterPadding = $this.data('center-padding'), setPauseOnHover = $this.data('pause-hover'), setVariableWidth = $this.data('variable-width'), setVertical = $this.data('vertical'), setRtl = $this.data('rtl'), setFocusOnSelect = $this.data('focus-on-select'), setLazyLoad = $this.data('lazy-load'), setTabletColumns = $this.data('table-columns'), setMobileColumns = $this.data('mobile-columns') $this.slick({ autoplay: setAutoplay ? true : false, autoplaySpeed: setSpeed ? setSpeed : 3000, cssEase: setAnimation ? setAnimation : 'ease', easing: setEasing ? setEasing : 'linear', fade: setFade ? true : false, infinite: true, slidesToShow: setSlidesToShow ? setSlidesToShow : 3, slidesToScroll: setSlidesToScroll ? setSlidesToScroll : 1, centerMode: setCenterMode ? true : false, variableWidth: setVariableWidth ? true : false, pauseOnHover: setPauseOnHover ? true : false, rows: setSlidesRows ? setSlidesRows : 1, vertical: setVertical ? true : false, verticalSwiping: setVertical ? true : false, rtl: setRtl ? true : false, centerPadding: setCenterPadding ? setCenterPadding : 0, focusOnSelect: setFocusOnSelect ? true : false, lazyLoad: setLazyLoad ? setLazyLoad : true, dots: setDot ? true : false, adaptiveHeight: true, responsive: [{ breakpoint: 1023, settings: { slidesToShow: setTabletColumns ? setTabletColumns : 2, infinite: true, } }, { breakpoint: 767, settings: { slidesToShow: setMobileColumns ? setMobileColumns : 1, } }, ] }); }); if (window.elementorFrontend) { elementorFrontend.hooks.addAction('frontend/element_ready/opal-servicecarousel.default', ($scope) => { if ($scope.find(".elementor-service-slick-slider").length > 0) { var $service_slick = $('.elementor-service-slick-slider'); $service_slick.on('afterChange', function(event, slick, currentSlide, nextSlide) { slideCount = slick.slideCount; var $el = $('.slick-pagination-custom').find('.filled'); width = ((currentSlide + 1) / slideCount) * 100; $el.attr('style', 'width:' + width + '%'); }); $service_slick.each(function(i, el) { var $this = $(el), setSlidesToShow = $this.data('slides-show'), setSlidesToScroll = $this.data('slides-scroll'), setDot = $this.data('pagination'), setAutoplay = $this.data('autoplay'), setAnimation = $this.data('animation'), setEasing = $this.data('easing'), setFade = $this.data('fade'), setSpeed = $this.data('speed'), setSlidesRows = $this.data('rows'), setCenterMode = $this.data('center-mode'), setCenterPadding = $this.data('center-padding'), setPauseOnHover = $this.data('pause-hover'), setVariableWidth = $this.data('variable-width'), setVertical = $this.data('vertical'), setRtl = $this.data('rtl'), setFocusOnSelect = $this.data('focus-on-select'), setLazyLoad = $this.data('lazy-load'), setTabletColumns = $this.data('table-columns'), setMobileColumns = $this.data('mobile-columns') $this.slick({ autoplay: setAutoplay ? true : false, autoplaySpeed: setSpeed ? setSpeed : 3000, cssEase: setAnimation ? setAnimation : 'ease', easing: setEasing ? setEasing : 'linear', fade: setFade ? true : false, infinite: true, slidesToShow: setSlidesToShow ? setSlidesToShow : 3, slidesToScroll: setSlidesToScroll ? setSlidesToScroll : 1, centerMode: setCenterMode ? true : false, variableWidth: setVariableWidth ? true : false, pauseOnHover: setPauseOnHover ? true : false, rows: setSlidesRows ? setSlidesRows : 1, vertical: setVertical ? true : false, verticalSwiping: setVertical ? true : false, rtl: setRtl ? true : false, centerPadding: setCenterPadding ? setCenterPadding : 0, focusOnSelect: setFocusOnSelect ? true : false, lazyLoad: setLazyLoad ? setLazyLoad : true, dots: setDot ? true : false, adaptiveHeight: true, responsive: [{ breakpoint: 1023, settings: { slidesToShow: setTabletColumns ? setTabletColumns : 2, infinite: true, } }, { breakpoint: 767, settings: { slidesToShow: setMobileColumns ? setMobileColumns : 1, } }, ] }); }); } }); } }); }); if (typeof Object.create !== "function") { Object.create = function(obj) { function F() {} F.prototype = obj; return new F(); }; } (function($, window, document) { var Carousel = { init: function(options, el) { var base = this; base.$elem = $(el); base.options = $.extend({}, $.fn.owlCarousel.options, base.$elem.data(), options); base.userOptions = options; base.loadContent(); }, loadContent: function() { var base = this, url; function getData(data) { var i, content = ""; if (typeof base.options.jsonSuccess === "function") { base.options.jsonSuccess.apply(this, [data]); } else { for (i in data.owl) { if (data.owl.hasOwnProperty(i)) { content += data.owl[i].item; } } base.$elem.html(content); } base.logIn(); } if (typeof base.options.beforeInit === "function") { base.options.beforeInit.apply(this, [base.$elem]); } if (typeof base.options.jsonPath === "string") { url = base.options.jsonPath; $.getJSON(url, getData); } else { base.logIn(); } }, logIn: function() { var base = this; base.$elem.data("owl-originalStyles", base.$elem.attr("style")); base.$elem.data("owl-originalClasses", base.$elem.attr("class")); base.$elem.css({ opacity: 0 }); base.orignalItems = base.options.items; base.checkBrowser(); base.wrapperWidth = 0; base.checkVisible = null; base.setVars(); }, setVars: function() { var base = this; if (base.$elem.children().length === 0) { return false; } base.baseClass(); base.eventTypes(); base.$userItems = base.$elem.children(); base.itemsAmount = base.$userItems.length; base.wrapItems(); base.$owlItems = base.$elem.find(".owl-item"); base.$owlWrapper = base.$elem.find(".owl-wrapper"); base.playDirection = "next"; base.prevItem = 0; base.prevArr = [0]; base.currentItem = 0; base.customEvents(); base.onStartup(); }, onStartup: function() { var base = this; base.updateItems(); base.calculateAll(); base.buildControls(); base.updateControls(); base.response(); base.moveEvents(); base.stopOnHover(); base.owlStatus(); if (base.options.transitionStyle !== false) { base.transitionTypes(base.options.transitionStyle); } if (base.options.autoPlay === true) { base.options.autoPlay = 5000; } base.play(); base.$elem.find(".owl-wrapper").css("display", "block"); if (!base.$elem.is(":visible")) { base.watchVisibility(); } else { base.$elem.css("opacity", 1); } base.onstartup = false; base.eachMoveUpdate(); if (typeof base.options.afterInit === "function") { base.options.afterInit.apply(this, [base.$elem]); } }, eachMoveUpdate: function() { var base = this; if (base.options.lazyLoad === true) { base.lazyLoad(); } if (base.options.autoHeight === true) { base.autoHeight(); } base.onVisibleItems(); if (typeof base.options.afterAction === "function") { base.options.afterAction.apply(this, [base.$elem]); } }, updateVars: function() { var base = this; if (typeof base.options.beforeUpdate === "function") { base.options.beforeUpdate.apply(this, [base.$elem]); } base.watchVisibility(); base.updateItems(); base.calculateAll(); base.updatePosition(); base.updateControls(); base.eachMoveUpdate(); if (typeof base.options.afterUpdate === "function") { base.options.afterUpdate.apply(this, [base.$elem]); } }, reload: function() { var base = this; window.setTimeout(function() { base.updateVars(); }, 0); }, watchVisibility: function() { var base = this; if (base.$elem.is(":visible") === false) { base.$elem.css({ opacity: 0 }); window.clearInterval(base.autoPlayInterval); window.clearInterval(base.checkVisible); } else { return false; } base.checkVisible = window.setInterval(function() { if (base.$elem.is(":visible")) { base.reload(); base.$elem.animate({ opacity: 1 }, 200); window.clearInterval(base.checkVisible); } }, 500); }, wrapItems: function() { var base = this; base.$userItems.wrapAll("
          ").wrap("
          "); base.$elem.find(".owl-wrapper").wrap("
          "); base.wrapperOuter = base.$elem.find(".owl-wrapper-outer"); base.$elem.css("display", "block"); }, baseClass: function() { var base = this, hasBaseClass = base.$elem.hasClass(base.options.baseClass), hasThemeClass = base.$elem.hasClass(base.options.theme); if (!hasBaseClass) { base.$elem.addClass(base.options.baseClass); } if (!hasThemeClass) { base.$elem.addClass(base.options.theme); } }, updateItems: function() { var base = this, width, i; if (base.options.responsive === false) { return false; } if (base.options.singleItem === true) { base.options.items = base.orignalItems = 1; base.options.itemsCustom = false; base.options.itemsDesktop = false; base.options.itemsDesktopSmall = false; base.options.itemsTablet = false; base.options.itemsTabletSmall = false; base.options.itemsMobile = false; return false; } width = $(base.options.responsiveBaseWidth).width(); if (width > (base.options.itemsDesktop[0] || base.orignalItems)) { base.options.items = base.orignalItems; } if (base.options.itemsCustom !== false) { base.options.itemsCustom.sort(function(a, b) { return a[0] - b[0]; }); for (i = 0; i < base.options.itemsCustom.length; i += 1) { if (base.options.itemsCustom[i][0] <= width) { base.options.items = base.options.itemsCustom[i][1]; } } } else { if (width <= base.options.itemsDesktop[0] && base.options.itemsDesktop !== false) { base.options.items = base.options.itemsDesktop[1]; } if (width <= base.options.itemsDesktopSmall[0] && base.options.itemsDesktopSmall !== false) { base.options.items = base.options.itemsDesktopSmall[1]; } if (width <= base.options.itemsTablet[0] && base.options.itemsTablet !== false) { base.options.items = base.options.itemsTablet[1]; } if (width <= base.options.itemsTabletSmall[0] && base.options.itemsTabletSmall !== false) { base.options.items = base.options.itemsTabletSmall[1]; } if (width <= base.options.itemsMobile[0] && base.options.itemsMobile !== false) { base.options.items = base.options.itemsMobile[1]; } } if (base.options.items > base.itemsAmount && base.options.itemsScaleUp === true) { base.options.items = base.itemsAmount; } }, response: function() { var base = this, smallDelay, lastWindowWidth; if (base.options.responsive !== true) { return false; } lastWindowWidth = $(window).width(); base.resizer = function() { if ($(window).width() !== lastWindowWidth) { if (base.options.autoPlay !== false) { window.clearInterval(base.autoPlayInterval); } window.clearTimeout(smallDelay); smallDelay = window.setTimeout(function() { lastWindowWidth = $(window).width(); base.updateVars(); }, base.options.responsiveRefreshRate); } }; $(window).resize(base.resizer); }, updatePosition: function() { var base = this; base.jumpTo(base.currentItem); if (base.options.autoPlay !== false) { base.checkAp(); } }, appendItemsSizes: function() { var base = this, roundPages = 0, lastItem = base.itemsAmount - base.options.items; base.$owlItems.each(function(index) { var $this = $(this); $this.css({ "width": base.itemWidth }).data("owl-item", Number(index)); if (index % base.options.items === 0 || index === lastItem) { if (!(index > lastItem)) { roundPages += 1; } } $this.data("owl-roundPages", roundPages); }); }, appendWrapperSizes: function() { var base = this, width = base.$owlItems.length * base.itemWidth; base.$owlWrapper.css({ "width": width * 2, "left": 0 }); base.appendItemsSizes(); }, calculateAll: function() { var base = this; base.calculateWidth(); base.appendWrapperSizes(); base.loops(); base.max(); }, calculateWidth: function() { var base = this; base.itemWidth = Math.round(base.$elem.width() / base.options.items); }, max: function() { var base = this, maximum = ((base.itemsAmount * base.itemWidth) - base.options.items * base.itemWidth) * -1; if (base.options.items > base.itemsAmount) { base.maximumItem = 0; maximum = 0; base.maximumPixels = 0; } else { base.maximumItem = base.itemsAmount - base.options.items; base.maximumPixels = maximum; } return maximum; }, min: function() { return 0; }, loops: function() { var base = this, prev = 0, elWidth = 0, i, item, roundPageNum; base.positionsInArray = [0]; base.pagesInArray = []; for (i = 0; i < base.itemsAmount; i += 1) { elWidth += base.itemWidth; base.positionsInArray.push(-elWidth); if (base.options.scrollPerPage === true) { item = $(base.$owlItems[i]); roundPageNum = item.data("owl-roundPages"); if (roundPageNum !== prev) { base.pagesInArray[prev] = base.positionsInArray[i]; prev = roundPageNum; } } } }, buildControls: function() { var base = this; if (base.options.navigation === true || base.options.pagination === true) { base.owlControls = $("
          ").toggleClass("clickable", !base.browser.isTouch).appendTo(base.$elem); } if (base.options.pagination === true) { base.buildPagination(); } if (base.options.navigation === true) { base.buildButtons(); } }, buildButtons: function() { var base = this, buttonsWrapper = $("
          "); base.owlControls.append(buttonsWrapper); base.buttonPrev = $("
          ", { "class": "owl-prev", "html": base.options.navigationText[0] || "" }); base.buttonNext = $("
          ", { "class": "owl-next", "html": base.options.navigationText[1] || "" }); buttonsWrapper.append(base.buttonPrev).append(base.buttonNext); buttonsWrapper.on("touchstart.owlControls mousedown.owlControls", "div[class^=\"owl\"]", function(event) { event.preventDefault(); }); buttonsWrapper.on("touchend.owlControls mouseup.owlControls", "div[class^=\"owl\"]", function(event) { event.preventDefault(); if ($(this).hasClass("owl-next")) { base.next(); } else { base.prev(); } }); }, buildPagination: function() { var base = this; base.paginationWrapper = $("
          "); base.owlControls.append(base.paginationWrapper); base.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function(event) { event.preventDefault(); if (Number($(this).data("owl-page")) !== base.currentItem) { base.goTo(Number($(this).data("owl-page")), true); } }); }, updatePagination: function() { var base = this, counter, lastPage, lastItem, i, paginationButton, paginationButtonInner; if (base.options.pagination === false) { return false; } base.paginationWrapper.html(""); counter = 0; lastPage = base.itemsAmount - base.itemsAmount % base.options.items; for (i = 0; i < base.itemsAmount; i += 1) { if (i % base.options.items === 0) { counter += 1; if (lastPage === i) { lastItem = base.itemsAmount - base.options.items; } paginationButton = $("
          ", { "class": "owl-page" }); paginationButtonInner = $("", { "text": base.options.paginationNumbers === true ? counter : "", "class": base.options.paginationNumbers === true ? "owl-numbers" : "" }); paginationButton.append(paginationButtonInner); paginationButton.data("owl-page", lastPage === i ? lastItem : i); paginationButton.data("owl-roundPages", counter); base.paginationWrapper.append(paginationButton); } } base.checkPagination(); }, checkPagination: function() { var base = this; if (base.options.pagination === false) { return false; } base.paginationWrapper.find(".owl-page").each(function() { if ($(this).data("owl-roundPages") === $(base.$owlItems[base.currentItem]).data("owl-roundPages")) { base.paginationWrapper.find(".owl-page").removeClass("active"); $(this).addClass("active"); } }); }, checkNavigation: function() { var base = this; if (base.options.navigation === false) { return false; } if (base.options.rewindNav === false) { if (base.currentItem === 0 && base.maximumItem === 0) { base.buttonPrev.addClass("disabled"); base.buttonNext.addClass("disabled"); } else if (base.currentItem === 0 && base.maximumItem !== 0) { base.buttonPrev.addClass("disabled"); base.buttonNext.removeClass("disabled"); } else if (base.currentItem === base.maximumItem) { base.buttonPrev.removeClass("disabled"); base.buttonNext.addClass("disabled"); } else if (base.currentItem !== 0 && base.currentItem !== base.maximumItem) { base.buttonPrev.removeClass("disabled"); base.buttonNext.removeClass("disabled"); } } }, updateControls: function() { var base = this; base.updatePagination(); base.checkNavigation(); if (base.owlControls) { if (base.options.items >= base.itemsAmount) { base.owlControls.hide(); } else { base.owlControls.show(); } } }, destroyControls: function() { var base = this; if (base.owlControls) { base.owlControls.remove(); } }, next: function(speed) { var base = this; if (base.isTransition) { return false; } base.currentItem += base.options.scrollPerPage === true ? base.options.items : 1; if (base.currentItem > base.maximumItem + (base.options.scrollPerPage === true ? (base.options.items - 1) : 0)) { if (base.options.rewindNav === true) { base.currentItem = 0; speed = "rewind"; } else { base.currentItem = base.maximumItem; return false; } } base.goTo(base.currentItem, speed); }, prev: function(speed) { var base = this; if (base.isTransition) { return false; } if (base.options.scrollPerPage === true && base.currentItem > 0 && base.currentItem < base.options.items) { base.currentItem = 0; } else { base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 1; } if (base.currentItem < 0) { if (base.options.rewindNav === true) { base.currentItem = base.maximumItem; speed = "rewind"; } else { base.currentItem = 0; return false; } } base.goTo(base.currentItem, speed); }, goTo: function(position, speed, drag) { var base = this, goToPixel; if (base.isTransition) { return false; } if (typeof base.options.beforeMove === "function") { base.options.beforeMove.apply(this, [base.$elem]); } if (position >= base.maximumItem) { position = base.maximumItem; } else if (position <= 0) { position = 0; } base.currentItem = base.owl.currentItem = position; if (base.options.transitionStyle !== false && drag !== "drag" && base.options.items === 1 && base.browser.support3d === true) { base.swapSpeed(0); if (base.browser.support3d === true) { base.transition3d(base.positionsInArray[position]); } else { base.css2slide(base.positionsInArray[position], 1); } base.afterGo(); base.singleItemTransition(); return false; } goToPixel = base.positionsInArray[position]; if (base.browser.support3d === true) { base.isCss3Finish = false; if (speed === true) { base.swapSpeed("paginationSpeed"); window.setTimeout(function() { base.isCss3Finish = true; }, base.options.paginationSpeed); } else if (speed === "rewind") { base.swapSpeed(base.options.rewindSpeed); window.setTimeout(function() { base.isCss3Finish = true; }, base.options.rewindSpeed); } else { base.swapSpeed("slideSpeed"); window.setTimeout(function() { base.isCss3Finish = true; }, base.options.slideSpeed); } base.transition3d(goToPixel); } else { if (speed === true) { base.css2slide(goToPixel, base.options.paginationSpeed); } else if (speed === "rewind") { base.css2slide(goToPixel, base.options.rewindSpeed); } else { base.css2slide(goToPixel, base.options.slideSpeed); } } base.afterGo(); }, jumpTo: function(position) { var base = this; if (typeof base.options.beforeMove === "function") { base.options.beforeMove.apply(this, [base.$elem]); } if (position >= base.maximumItem || position === -1) { position = base.maximumItem; } else if (position <= 0) { position = 0; } base.swapSpeed(0); if (base.browser.support3d === true) { base.transition3d(base.positionsInArray[position]); } else { base.css2slide(base.positionsInArray[position], 1); } base.currentItem = base.owl.currentItem = position; base.afterGo(); }, afterGo: function() { var base = this; base.prevArr.push(base.currentItem); base.prevItem = base.owl.prevItem = base.prevArr[base.prevArr.length - 2]; base.prevArr.shift(0); if (base.prevItem !== base.currentItem) { base.checkPagination(); base.checkNavigation(); base.eachMoveUpdate(); if (base.options.autoPlay !== false) { base.checkAp(); } } if (typeof base.options.afterMove === "function" && base.prevItem !== base.currentItem) { base.options.afterMove.apply(this, [base.$elem]); } }, stop: function() { var base = this; base.apStatus = "stop"; window.clearInterval(base.autoPlayInterval); }, checkAp: function() { var base = this; if (base.apStatus !== "stop") { base.play(); } }, play: function() { var base = this; base.apStatus = "play"; if (base.options.autoPlay === false) { return false; } window.clearInterval(base.autoPlayInterval); base.autoPlayInterval = window.setInterval(function() { base.next(true); }, base.options.autoPlay); }, swapSpeed: function(action) { var base = this; if (action === "slideSpeed") { base.$owlWrapper.css(base.addCssSpeed(base.options.slideSpeed)); } else if (action === "paginationSpeed") { base.$owlWrapper.css(base.addCssSpeed(base.options.paginationSpeed)); } else if (typeof action !== "string") { base.$owlWrapper.css(base.addCssSpeed(action)); } }, addCssSpeed: function(speed) { return { "-webkit-transition": "all " + speed + "ms ease", "-moz-transition": "all " + speed + "ms ease", "-o-transition": "all " + speed + "ms ease", "transition": "all " + speed + "ms ease" }; }, removeTransition: function() { return { "-webkit-transition": "", "-moz-transition": "", "-o-transition": "", "transition": "" }; }, doTranslate: function(pixels) { return { "-webkit-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-moz-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-o-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-ms-transform": "translate3d(" + pixels + "px, 0px, 0px)", "transform": "translate3d(" + pixels + "px, 0px,0px)" }; }, transition3d: function(value) { var base = this; base.$owlWrapper.css(base.doTranslate(value)); }, css2move: function(value) { var base = this; base.$owlWrapper.css({ "left": value }); }, css2slide: function(value, speed) { var base = this; base.isCssFinish = false; base.$owlWrapper.stop(true, true).animate({ "left": value }, { duration: speed || base.options.slideSpeed, complete: function() { base.isCssFinish = true; } }); }, checkBrowser: function() { var base = this, translate3D = "translate3d(0px, 0px, 0px)", tempElem = document.createElement("div"), regex, asSupport, support3d, isTouch; tempElem.style.cssText = " -moz-transform:" + translate3D + "; -ms-transform:" + translate3D + "; -o-transform:" + translate3D + "; -webkit-transform:" + translate3D + "; transform:" + translate3D; regex = /translate3d\(0px, 0px, 0px\)/g; asSupport = tempElem.style.cssText.match(regex); support3d = (asSupport !== null && asSupport.length === 1); isTouch = "ontouchstart" in window || window.navigator.msMaxTouchPoints; base.browser = { "support3d": support3d, "isTouch": isTouch }; }, moveEvents: function() { var base = this; if (base.options.mouseDrag !== false || base.options.touchDrag !== false) { base.gestures(); base.disabledEvents(); } }, eventTypes: function() { var base = this, types = ["s", "e", "x"]; base.ev_types = {}; if (base.options.mouseDrag === true && base.options.touchDrag === true) { types = ["touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl"]; } else if (base.options.mouseDrag === false && base.options.touchDrag === true) { types = ["touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl"]; } else if (base.options.mouseDrag === true && base.options.touchDrag === false) { types = ["mousedown.owl", "mousemove.owl", "mouseup.owl"]; } base.ev_types.start = types[0]; base.ev_types.move = types[1]; base.ev_types.end = types[2]; }, disabledEvents: function() { var base = this; base.$elem.on("dragstart.owl", function(event) { event.preventDefault(); }); base.$elem.on("mousedown.disableTextSelect", function(e) { return $(e.target).is('input, textarea, select, option'); }); }, gestures: function() { var base = this, locals = { offsetX: 0, offsetY: 0, baseElWidth: 0, relativePos: 0, position: null, minSwipe: null, maxSwipe: null, sliding: null, dargging: null, targetElement: null }; base.isCssFinish = true; function getTouches(event) { if (event.touches !== undefined) { return { x: event.touches[0].pageX, y: event.touches[0].pageY }; } if (event.touches === undefined) { if (event.pageX !== undefined) { return { x: event.pageX, y: event.pageY }; } if (event.pageX === undefined) { return { x: event.clientX, y: event.clientY }; } } } function swapEvents(type) { if (type === "on") { $(document).on(base.ev_types.move, dragMove); $(document).on(base.ev_types.end, dragEnd); } else if (type === "off") { $(document).off(base.ev_types.move); $(document).off(base.ev_types.end); } } function dragStart(event) { var ev = event.originalEvent || event || window.event, position; if (ev.which === 3) { return false; } if (base.itemsAmount <= base.options.items) { return; } if (base.isCssFinish === false && !base.options.dragBeforeAnimFinish) { return false; } if (base.isCss3Finish === false && !base.options.dragBeforeAnimFinish) { return false; } if (base.options.autoPlay !== false) { window.clearInterval(base.autoPlayInterval); } if (base.browser.isTouch !== true && !base.$owlWrapper.hasClass("grabbing")) { base.$owlWrapper.addClass("grabbing"); } base.newPosX = 0; base.newRelativeX = 0; $(this).css(base.removeTransition()); position = $(this).position(); locals.relativePos = position.left; locals.offsetX = getTouches(ev).x - position.left; locals.offsetY = getTouches(ev).y - position.top; swapEvents("on"); locals.sliding = false; locals.targetElement = ev.target || ev.srcElement; } function dragMove(event) { var ev = event.originalEvent || event || window.event, minSwipe, maxSwipe; base.newPosX = getTouches(ev).x - locals.offsetX; base.newPosY = getTouches(ev).y - locals.offsetY; base.newRelativeX = base.newPosX - locals.relativePos; if (typeof base.options.startDragging === "function" && locals.dragging !== true && base.newRelativeX !== 0) { locals.dragging = true; base.options.startDragging.apply(base, [base.$elem]); } if ((base.newRelativeX > 8 || base.newRelativeX < -8) && (base.browser.isTouch === true)) { if (ev.preventDefault !== undefined) { ev.preventDefault(); } else { ev.returnValue = false; } locals.sliding = true; } if ((base.newPosY > 10 || base.newPosY < -10) && locals.sliding === false) { $(document).off("touchmove.owl"); } minSwipe = function() { return base.newRelativeX / 5; }; maxSwipe = function() { return base.maximumPixels + base.newRelativeX / 5; }; base.newPosX = Math.max(Math.min(base.newPosX, minSwipe()), maxSwipe()); if (base.browser.support3d === true) { base.transition3d(base.newPosX); } else { base.css2move(base.newPosX); } } function dragEnd(event) { var ev = event.originalEvent || event || window.event, newPosition, handlers, owlStopEvent; ev.target = ev.target || ev.srcElement; locals.dragging = false; if (base.browser.isTouch !== true) { base.$owlWrapper.removeClass("grabbing"); } if (base.newRelativeX < 0) { base.dragDirection = base.owl.dragDirection = "left"; } else { base.dragDirection = base.owl.dragDirection = "right"; } if (base.newRelativeX !== 0) { newPosition = base.getNewPosition(); base.goTo(newPosition, false, "drag"); if (locals.targetElement === ev.target && base.browser.isTouch !== true) { $(ev.target).on("click.disable", function(ev) { ev.stopImmediatePropagation(); ev.stopPropagation(); ev.preventDefault(); $(ev.target).off("click.disable"); }); handlers = $._data(ev.target, "events").click; owlStopEvent = handlers.pop(); handlers.splice(0, 0, owlStopEvent); } } swapEvents("off"); } base.$elem.on(base.ev_types.start, ".owl-wrapper", dragStart); }, getNewPosition: function() { var base = this, newPosition = base.closestItem(); if (newPosition > base.maximumItem) { base.currentItem = base.maximumItem; newPosition = base.maximumItem; } else if (base.newPosX >= 0) { newPosition = 0; base.currentItem = 0; } return newPosition; }, closestItem: function() { var base = this, array = base.options.scrollPerPage === true ? base.pagesInArray : base.positionsInArray, goal = base.newPosX, closest = null; $.each(array, function(i, v) { if (goal - (base.itemWidth / 20) > array[i + 1] && goal - (base.itemWidth / 20) < v && base.moveDirection() === "left") { closest = v; if (base.options.scrollPerPage === true) { base.currentItem = $.inArray(closest, base.positionsInArray); } else { base.currentItem = i; } } else if (goal + (base.itemWidth / 20) < v && goal + (base.itemWidth / 20) > (array[i + 1] || array[i] - base.itemWidth) && base.moveDirection() === "right") { if (base.options.scrollPerPage === true) { closest = array[i + 1] || array[array.length - 1]; base.currentItem = $.inArray(closest, base.positionsInArray); } else { closest = array[i + 1]; base.currentItem = i + 1; } } }); return base.currentItem; }, moveDirection: function() { var base = this, direction; if (base.newRelativeX < 0) { direction = "right"; base.playDirection = "next"; } else { direction = "left"; base.playDirection = "prev"; } return direction; }, customEvents: function() { var base = this; base.$elem.on("owl.next", function() { base.next(); }); base.$elem.on("owl.prev", function() { base.prev(); }); base.$elem.on("owl.play", function(event, speed) { base.options.autoPlay = speed; base.play(); base.hoverStatus = "play"; }); base.$elem.on("owl.stop", function() { base.stop(); base.hoverStatus = "stop"; }); base.$elem.on("owl.goTo", function(event, item) { base.goTo(item); }); base.$elem.on("owl.jumpTo", function(event, item) { base.jumpTo(item); }); }, stopOnHover: function() { var base = this; if (base.options.stopOnHover === true && base.browser.isTouch !== true && base.options.autoPlay !== false) { base.$elem.on("mouseover", function() { base.stop(); }); base.$elem.on("mouseout", function() { if (base.hoverStatus !== "stop") { base.play(); } }); } }, lazyLoad: function() { var base = this, i, $item, itemNumber, $lazyImg, follow; if (base.options.lazyLoad === false) { return false; } for (i = 0; i < base.itemsAmount; i += 1) { $item = $(base.$owlItems[i]); if ($item.data("owl-loaded") === "loaded") { continue; } itemNumber = $item.data("owl-item"); $lazyImg = $item.find(".lazyOwl"); if (typeof $lazyImg.data("src") !== "string") { $item.data("owl-loaded", "loaded"); continue; } if ($item.data("owl-loaded") === undefined) { $lazyImg.hide(); $item.addClass("loading").data("owl-loaded", "checked"); } if (base.options.lazyFollow === true) { follow = itemNumber >= base.currentItem; } else { follow = true; } if (follow && itemNumber < base.currentItem + base.options.items && $lazyImg.length) { base.lazyPreload($item, $lazyImg); } } }, lazyPreload: function($item, $lazyImg) { var base = this, iterations = 0, isBackgroundImg; if ($lazyImg.prop("tagName") === "DIV") { $lazyImg.css("background-image", "url(" + $lazyImg.data("src") + ")"); isBackgroundImg = true; } else { $lazyImg[0].src = $lazyImg.data("src"); } function showImage() { $item.data("owl-loaded", "loaded").removeClass("loading"); $lazyImg.removeAttr("data-src"); if (base.options.lazyEffect === "fade") { $lazyImg.fadeIn(400); } else { $lazyImg.show(); } if (typeof base.options.afterLazyLoad === "function") { base.options.afterLazyLoad.apply(this, [base.$elem]); } } function checkLazyImage() { iterations += 1; if (base.completeImg($lazyImg.get(0)) || isBackgroundImg === true) { showImage(); } else if (iterations <= 100) { window.setTimeout(checkLazyImage, 100); } else { showImage(); } } checkLazyImage(); }, autoHeight: function() { var base = this, $currentimg = $(base.$owlItems[base.currentItem]).find("img"), iterations; function addHeight() { var $currentItem = $(base.$owlItems[base.currentItem]).height(); base.wrapperOuter.css("height", $currentItem + "px"); if (!base.wrapperOuter.hasClass("autoHeight")) { window.setTimeout(function() { base.wrapperOuter.addClass("autoHeight"); }, 0); } } function checkImage() { iterations += 1; if (base.completeImg($currentimg.get(0))) { addHeight(); } else if (iterations <= 100) { window.setTimeout(checkImage, 100); } else { base.wrapperOuter.css("height", ""); } } if ($currentimg.get(0) !== undefined) { iterations = 0; checkImage(); } else { addHeight(); } }, completeImg: function(img) { var naturalWidthType; if (!img.complete) { return false; } naturalWidthType = typeof img.naturalWidth; if (naturalWidthType !== "undefined" && img.naturalWidth === 0) { return false; } return true; }, onVisibleItems: function() { var base = this, i; if (base.options.addClassActive === true) { base.$owlItems.removeClass("active"); } base.visibleItems = []; for (i = base.currentItem; i < base.currentItem + base.options.items; i += 1) { base.visibleItems.push(i); if (base.options.addClassActive === true) { $(base.$owlItems[i]).addClass("active"); } } base.owl.visibleItems = base.visibleItems; }, transitionTypes: function(className) { var base = this; base.outClass = "owl-" + className + "-out"; base.inClass = "owl-" + className + "-in"; }, singleItemTransition: function() { var base = this, outClass = base.outClass, inClass = base.inClass, $currentItem = base.$owlItems.eq(base.currentItem), $prevItem = base.$owlItems.eq(base.prevItem), prevPos = Math.abs(base.positionsInArray[base.currentItem]) + base.positionsInArray[base.prevItem], origin = Math.abs(base.positionsInArray[base.currentItem]) + base.itemWidth / 2, animEnd = 'webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend'; base.isTransition = true; base.$owlWrapper.addClass('owl-origin').css({ "-webkit-transform-origin": origin + "px", "-moz-perspective-origin": origin + "px", "perspective-origin": origin + "px" }); function transStyles(prevPos) { return { "position": "relative", "left": prevPos + "px" }; } $prevItem.css(transStyles(prevPos, 10)).addClass(outClass).on(animEnd, function() { base.endPrev = true; $prevItem.off(animEnd); base.clearTransStyle($prevItem, outClass); }); $currentItem.addClass(inClass).on(animEnd, function() { base.endCurrent = true; $currentItem.off(animEnd); base.clearTransStyle($currentItem, inClass); }); }, clearTransStyle: function(item, classToRemove) { var base = this; item.css({ "position": "", "left": "" }).removeClass(classToRemove); if (base.endPrev && base.endCurrent) { base.$owlWrapper.removeClass('owl-origin'); base.endPrev = false; base.endCurrent = false; base.isTransition = false; } }, owlStatus: function() { var base = this; base.owl = { "userOptions": base.userOptions, "baseElement": base.$elem, "userItems": base.$userItems, "owlItems": base.$owlItems, "currentItem": base.currentItem, "prevItem": base.prevItem, "visibleItems": base.visibleItems, "isTouch": base.browser.isTouch, "browser": base.browser, "dragDirection": base.dragDirection }; }, clearEvents: function() { var base = this; base.$elem.off(".owl owl mousedown.disableTextSelect"); $(document).off(".owl owl"); $(window).off("resize", base.resizer); }, unWrap: function() { var base = this; if (base.$elem.children().length !== 0) { base.$owlWrapper.unwrap(); base.$userItems.unwrap().unwrap(); if (base.owlControls) { base.owlControls.remove(); } } base.clearEvents(); base.$elem.attr("style", base.$elem.data("owl-originalStyles") || "").attr("class", base.$elem.data("owl-originalClasses")); }, destroy: function() { var base = this; base.stop(); window.clearInterval(base.checkVisible); base.unWrap(); base.$elem.removeData(); }, reinit: function(newOptions) { var base = this, options = $.extend({}, base.userOptions, newOptions); base.unWrap(); base.init(options, base.$elem); }, addItem: function(htmlString, targetPosition) { var base = this, position; if (!htmlString) { return false; } if (base.$elem.children().length === 0) { base.$elem.append(htmlString); base.setVars(); return false; } base.unWrap(); if (targetPosition === undefined || targetPosition === -1) { position = -1; } else { position = targetPosition; } if (position >= base.$userItems.length || position === -1) { base.$userItems.eq(-1).after(htmlString); } else { base.$userItems.eq(position).before(htmlString); } base.setVars(); }, removeItem: function(targetPosition) { var base = this, position; if (base.$elem.children().length === 0) { return false; } if (targetPosition === undefined || targetPosition === -1) { position = -1; } else { position = targetPosition; } base.unWrap(); base.$userItems.eq(position).remove(); base.setVars(); } }; $.fn.owlCarousel = function(options) { return this.each(function() { if ($(this).data("owl-init") === true) { return false; } $(this).data("owl-init", true); var carousel = Object.create(Carousel); carousel.init(options, this); $.data(this, "owlCarousel", carousel); }); }; $.fn.owlCarousel.options = { items: 4, itemsCustom: false, itemsDesktop: [1199, 3], itemsDesktopSmall: [979, 3], itemsTablet: [768, 2], itemsTabletSmall: false, itemsMobile: [479, 1], singleItem: false, itemsScaleUp: false, slideSpeed: 200, paginationSpeed: 800, rewindSpeed: 1000, autoPlay: false, stopOnHover: false, navigation: false, navigationText: ["prev", "next"], rewindNav: true, scrollPerPage: false, pagination: true, paginationNumbers: false, responsive: true, responsiveRefreshRate: 200, responsiveBaseWidth: window, baseClass: "owl-carousel", theme: "owl-theme", lazyLoad: false, lazyFollow: true, lazyEffect: "fade", autoHeight: false, jsonPath: false, jsonSuccess: false, dragBeforeAnimFinish: true, mouseDrag: true, touchDrag: true, addClassActive: false, transitionStyle: false, beforeUpdate: false, afterUpdate: false, beforeInit: false, afterInit: false, beforeMove: false, afterMove: false, afterAction: false, startDragging: false, afterLazyLoad: false }; }(jQuery, window, document)); /*! * jQuery blockUI plugin * Version 2.70.0-2014.11.23 * Requires jQuery v1.7 or later * * Examples at: http://malsup.com/jquery/block/ * Copyright (c) 2007-2013 M. Alsup * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Thanks to Amir-Hossein Sobhi for some excellent contributions! */ ! function() { "use strict"; function e(e) { function t(t, n) { var s, h, k = t == window, y = n && n.message !== undefined ? n.message : undefined; if (!(n = e.extend({}, e.blockUI.defaults, n || {})).ignoreIfBlocked || !e(t).data("blockUI.isBlocked")) { if (n.overlayCSS = e.extend({}, e.blockUI.defaults.overlayCSS, n.overlayCSS || {}), s = e.extend({}, e.blockUI.defaults.css, n.css || {}), n.onOverlayClick && (n.overlayCSS.cursor = "pointer"), h = e.extend({}, e.blockUI.defaults.themedCSS, n.themedCSS || {}), y = y === undefined ? n.message : y, k && p && o(window, { fadeOut: 0 }), y && "string" != typeof y && (y.parentNode || y.jquery)) { var m = y.jquery ? y[0] : y, g = {}; e(t).data("blockUI.history", g), g.el = m, g.parent = m.parentNode, g.display = m.style.display, g.position = m.style.position, g.parent && g.parent.removeChild(m) } e(t).data("blockUI.onUnblock", n.onUnblock); var v, I, w, U, x = n.baseZ; v = e(r || n.forceIframe ? '' : ''), I = e(n.theme ? '' : ''), n.theme && k ? (U = '") : n.theme ? (U = '") : U = k ? '' : '', w = e(U), y && (n.theme ? (w.css(h), w.addClass("ui-widget-content")) : w.css(s)), n.theme || I.css(n.overlayCSS), I.css("position", k ? "fixed" : "absolute"), (r || n.forceIframe) && v.css("opacity", 0); var C = [v, I, w], S = e(k ? "body" : t); e.each(C, function() { this.appendTo(S) }), n.theme && n.draggable && e.fn.draggable && w.draggable({ handle: ".ui-dialog-titlebar", cancel: "li" }); var O = f && (!e.support.boxModel || e("object,embed", k ? null : t).length > 0); if (u || O) { if (k && n.allowBodyStretch && e.support.boxModel && e("html,body").css("height", "100%"), (u || !e.support.boxModel) && !k) var E = a(t, "borderTopWidth"), T = a(t, "borderLeftWidth"), M = E ? "(0 - " + E + ")" : 0, B = T ? "(0 - " + T + ")" : 0; e.each(C, function(e, t) { var o = t[0].style; if (o.position = "absolute", e < 2) k ? o.setExpression("height", "Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:" + n.quirksmodeOffsetHack + ') + "px"') : o.setExpression("height", 'this.parentNode.offsetHeight + "px"'), k ? o.setExpression("width", 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') : o.setExpression("width", 'this.parentNode.offsetWidth + "px"'), B && o.setExpression("left", B), M && o.setExpression("top", M); else if (n.centerY) k && o.setExpression("top", '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'), o.marginTop = 0; else if (!n.centerY && k) { var i = "((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + " + (n.css && n.css.top ? parseInt(n.css.top, 10) : 0) + ') + "px"'; o.setExpression("top", i) } }) } if (y && (n.theme ? w.find(".ui-widget-content").append(y) : w.append(y), (y.jquery || y.nodeType) && e(y).show()), (r || n.forceIframe) && n.showOverlay && v.show(), n.fadeIn) { var j = n.onBlock ? n.onBlock : c, H = n.showOverlay && !y ? j : c, z = y ? j : c; n.showOverlay && I._fadeIn(n.fadeIn, H), y && w._fadeIn(n.fadeIn, z) } else n.showOverlay && I.show(), y && w.show(), n.onBlock && n.onBlock.bind(w)(); if (i(1, t, n), k ? (p = w[0], b = e(n.focusableElements, p), n.focusInput && setTimeout(l, 20)) : d(w[0], n.centerX, n.centerY), n.timeout) { var W = setTimeout(function() { k ? e.unblockUI(n) : e(t).unblock(n) }, n.timeout); e(t).data("blockUI.timeout", W) } } } function o(t, o) { var s, l = t == window, d = e(t), a = d.data("blockUI.history"), c = d.data("blockUI.timeout"); c && (clearTimeout(c), d.removeData("blockUI.timeout")), o = e.extend({}, e.blockUI.defaults, o || {}), i(0, t, o), null === o.onUnblock && (o.onUnblock = d.data("blockUI.onUnblock"), d.removeData("blockUI.onUnblock")); var r; r = l ? e(document.body).children().filter(".blockUI").add("body > .blockUI") : d.find(">.blockUI"), o.cursorReset && (r.length > 1 && (r[1].style.cursor = o.cursorReset), r.length > 2 && (r[2].style.cursor = o.cursorReset)), l && (p = b = null), o.fadeOut ? (s = r.length, r.stop().fadeOut(o.fadeOut, function() { 0 == --s && n(r, a, o, t) })) : n(r, a, o, t) } function n(t, o, n, i) { var s = e(i); if (!s.data("blockUI.isBlocked")) { t.each(function(e, t) { this.parentNode && this.parentNode.removeChild(this) }), o && o.el && (o.el.style.display = o.display, o.el.style.position = o.position, o.el.style.cursor = "default", o.parent && o.parent.appendChild(o.el), s.removeData("blockUI.history")), s.data("blockUI.static") && s.css("position", "static"), "function" == typeof n.onUnblock && n.onUnblock(i, n); var l = e(document.body), d = l.width(), a = l[0].style.width; l.width(d - 1).width(d), l[0].style.width = a } } function i(t, o, n) { var i = o == window, l = e(o); if ((t || (!i || p) && (i || l.data("blockUI.isBlocked"))) && (l.data("blockUI.isBlocked", t), i && n.bindEvents && (!t || n.showOverlay))) { var d = "mousedown mouseup keydown keypress keyup touchstart touchend touchmove"; t ? e(document).bind(d, n, s) : e(document).unbind(d, s) } } function s(t) { if ("keydown" === t.type && t.keyCode && 9 == t.keyCode && p && t.data.constrainTabKey) { var o = b, n = !t.shiftKey && t.target === o[o.length - 1], i = t.shiftKey && t.target === o[0]; if (n || i) return setTimeout(function() { l(i) }, 10), !1 } var s = t.data, d = e(t.target); return d.hasClass("blockOverlay") && s.onOverlayClick && s.onOverlayClick(t), d.parents("div." + s.blockMsgClass).length > 0 || 0 === d.parents().children().filter("div.blockUI").length } function l(e) { if (b) { var t = b[!0 === e ? b.length - 1 : 0]; t && t.focus() } } function d(e, t, o) { var n = e.parentNode, i = e.style, s = (n.offsetWidth - e.offsetWidth) / 2 - a(n, "borderLeftWidth"), l = (n.offsetHeight - e.offsetHeight) / 2 - a(n, "borderTopWidth"); t && (i.left = s > 0 ? s + "px" : "0"), o && (i.top = l > 0 ? l + "px" : "0") } function a(t, o) { return parseInt(e.css(t, o), 10) || 0 } e.fn._fadeIn = e.fn.fadeIn; var c = e.noop || function() {}, r = /MSIE/.test(navigator.userAgent), u = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent), f = (document.documentMode, e.isFunction(document.createElement("div").style.setExpression)); e.blockUI = function(e) { t(window, e) }, e.unblockUI = function(e) { o(window, e) }, e.growlUI = function(t, o, n, i) { var s = e('
          '); t && s.append("

          " + t + "

          "), o && s.append("

          " + o + "

          "), n === undefined && (n = 3e3); var l = function(t) { t = t || {}, e.blockUI({ message: s, fadeIn: "undefined" != typeof t.fadeIn ? t.fadeIn : 700, fadeOut: "undefined" != typeof t.fadeOut ? t.fadeOut : 1e3, timeout: "undefined" != typeof t.timeout ? t.timeout : n, centerY: !1, showOverlay: !1, onUnblock: i, css: e.blockUI.defaults.growlCSS }) }; l(); s.css("opacity"); s.mouseover(function() { l({ fadeIn: 0, timeout: 3e4 }); var t = e(".blockMsg"); t.stop(), t.fadeTo(300, 1) }).mouseout(function() { e(".blockMsg").fadeOut(1e3) }) }, e.fn.block = function(o) { if (this[0] === window) return e.blockUI(o), this; var n = e.extend({}, e.blockUI.defaults, o || {}); return this.each(function() { var t = e(this); n.ignoreIfBlocked && t.data("blockUI.isBlocked") || t.unblock({ fadeOut: 0 }) }), this.each(function() { "static" == e.css(this, "position") && (this.style.position = "relative", e(this).data("blockUI.static", !0)), this.style.zoom = 1, t(this, o) }) }, e.fn.unblock = function(t) { return this[0] === window ? (e.unblockUI(t), this) : this.each(function() { o(this, t) }) }, e.blockUI.version = 2.7, e.blockUI.defaults = { message: "

          Please wait...

          ", title: null, draggable: !0, theme: !1, css: { padding: 0, margin: 0, width: "30%", top: "40%", left: "35%", textAlign: "center", color: "#000", border: "3px solid #aaa", backgroundColor: "#fff", cursor: "wait" }, themedCSS: { width: "30%", top: "40%", left: "35%" }, overlayCSS: { backgroundColor: "#000", opacity: .6, cursor: "wait" }, cursorReset: "default", growlCSS: { width: "350px", top: "10px", left: "", right: "10px", border: "none", padding: "5px", opacity: .6, cursor: "default", color: "#fff", backgroundColor: "#000", "-webkit-border-radius": "10px", "-moz-border-radius": "10px", "border-radius": "10px" }, iframeSrc: /^https/i.test(window.location.href || "") ? "javascript:false" : "about:blank", forceIframe: !1, baseZ: 1e3, centerX: !0, centerY: !0, allowBodyStretch: !0, bindEvents: !0, constrainTabKey: !0, fadeIn: 200, fadeOut: 400, timeout: 0, showOverlay: !0, focusInput: !0, focusableElements: ":input:enabled:visible", onBlock: null, onUnblock: null, onOverlayClick: null, quirksmodeOffsetHack: 4, blockMsgClass: "blockMsg", ignoreIfBlocked: !1 }; var p = null, b = [] } "function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], e) : e(jQuery) }(); jQuery(function(d) { if ("undefined" == typeof wc_add_to_cart_params) return !1; var t = function() { this.requests = [], this.addRequest = this.addRequest.bind(this), this.run = this.run.bind(this), d(document.body).on("click", ".add_to_cart_button", { addToCartHandler: this }, this.onAddToCart).on("click", ".remove_from_cart_button", { addToCartHandler: this }, this.onRemoveFromCart).on("added_to_cart", this.updateButton).on("ajax_request_not_sent.adding_to_cart", this.updateButton).on("added_to_cart removed_from_cart", { addToCartHandler: this }, this.updateFragments) }; t.prototype.addRequest = function(t) { this.requests.push(t), 1 === this.requests.length && this.run() }, t.prototype.run = function() { var t = this, a = t.requests[0].complete; t.requests[0].complete = function() { "function" == typeof a && a(), t.requests.shift(), 0 < t.requests.length && t.run() }, d.ajax(this.requests[0]) }, t.prototype.onAddToCart = function(t) { var a = d(this); if (a.is(".ajax_add_to_cart")) { if (!a.attr("data-product_id")) return !0; if (t.preventDefault(), a.removeClass("added"), a.addClass("loading"), !1 === d(document.body).triggerHandler("should_send_ajax_request.adding_to_cart", [a])) return d(document.body).trigger("ajax_request_not_sent.adding_to_cart", [!1, !1, a]), !0; var e = {}; d.each(a.data(), function(t, a) { e[t] = a }), d.each(a[0].dataset, function(t, a) { e[t] = a }), d(document.body).trigger("adding_to_cart", [a, e]), t.data.addToCartHandler.addRequest({ type: "POST", url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "add_to_cart"), data: e, success: function(t) { t && (t.error && t.product_url ? window.location = t.product_url : "yes" !== wc_add_to_cart_params.cart_redirect_after_add ? d(document.body).trigger("added_to_cart", [t.fragments, t.cart_hash, a]) : window.location = wc_add_to_cart_params.cart_url) }, dataType: "json" }) } }, t.prototype.onRemoveFromCart = function(t) { var a = d(this), e = a.closest(".woocommerce-mini-cart-item"); t.preventDefault(), e.block({ message: null, overlayCSS: { opacity: .6 } }), t.data.addToCartHandler.addRequest({ type: "POST", url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "remove_from_cart"), data: { cart_item_key: a.data("cart_item_key") }, success: function(t) { t && t.fragments ? d(document.body).trigger("removed_from_cart", [t.fragments, t.cart_hash, a]) : window.location = a.attr("href") }, error: function() { window.location = a.attr("href") }, dataType: "json" }) }, t.prototype.updateButton = function(t, a, e, r) { (r = void 0 !== r && r) && (r.removeClass("loading"), a && r.addClass("added"), a && !wc_add_to_cart_params.is_cart && 0 === r.parent().find(".added_to_cart").length && r.after(' ' + wc_add_to_cart_params.i18n_view_cart + ""), d(document.body).trigger("wc_cart_button_updated", [r])) }, t.prototype.updateFragments = function(t, a) { a && (d.each(a, function(t) { d(t).addClass("updating").fadeTo("400", "0.6").block({ message: null, overlayCSS: { opacity: .6 } }) }), d.each(a, function(t, a) { d(t).replaceWith(a), d(t).stop(!0).css("opacity", "1").unblock() }), d(document.body).trigger("wc_fragments_loaded")) }, new t }); /*! * JavaScript Cookie v2.1.4 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */ ! function(e) { var n = !1; if ("function" == typeof define && define.amd && (define(e), n = !0), "object" == typeof exports && (module.exports = e(), n = !0), !n) { var o = window.Cookies, t = window.Cookies = e(); t.noConflict = function() { return window.Cookies = o, t } } }(function() { function e() { for (var e = 0, n = {}; e < arguments.length; e++) { var o = arguments[e]; for (var t in o) n[t] = o[t] } return n } function n(o) { function t(n, r, i) { var c; if ("undefined" != typeof document) { if (arguments.length > 1) { if ("number" == typeof(i = e({ path: "/" }, t.defaults, i)).expires) { var a = new Date; a.setMilliseconds(a.getMilliseconds() + 864e5 * i.expires), i.expires = a } i.expires = i.expires ? i.expires.toUTCString() : ""; try { c = JSON.stringify(r), /^[\{\[]/.test(c) && (r = c) } catch (m) {} r = o.write ? o.write(r, n) : encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), n = (n = (n = encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)).replace(/[\(\)]/g, escape); var f = ""; for (var s in i) i[s] && (f += "; " + s, !0 !== i[s] && (f += "=" + i[s])); return document.cookie = n + "=" + r + f } n || (c = {}); for (var p = document.cookie ? document.cookie.split("; ") : [], d = /(%[0-9A-Z]{2})+/g, u = 0; u < p.length; u++) { var l = p[u].split("="), C = l.slice(1).join("="); '"' === C.charAt(0) && (C = C.slice(1, -1)); try { var g = l[0].replace(d, decodeURIComponent); if (C = o.read ? o.read(C, g) : o(C, g) || C.replace(d, decodeURIComponent), this.json) try { C = JSON.parse(C) } catch (m) {} if (n === g) { c = C; break } n || (c[g] = C) } catch (m) {} } return c } } return t.set = t, t.get = function(e) { return t.call(t, e) }, t.getJSON = function() { return t.apply({ json: !0 }, [].slice.call(arguments)) }, t.defaults = {}, t.remove = function(n, o) { t(n, "", e(o, { expires: -1 })) }, t.withConverter = n, t } return n(function() {}) }); jQuery(function(t) { t(".woocommerce-ordering").on("change", "select.orderby", function() { t(this).closest("form").submit() }), t("input.qty:not(.product-quantity input.qty)").each(function() { var o = parseFloat(t(this).attr("min")); 0 <= o && parseFloat(t(this).val()) < o && t(this).val(o) }); var e = "store_notice" + (t(".woocommerce-store-notice").data("notice-id") || ""); "hidden" === Cookies.get(e) ? t(".woocommerce-store-notice").hide() : t(".woocommerce-store-notice").show(), t(".woocommerce-store-notice__dismiss-link").click(function(o) { Cookies.set(e, "hidden", { path: "/" }), t(".woocommerce-store-notice").hide(), o.preventDefault() }), t(".woocommerce-input-wrapper span.description").length && t(document.body).on("click", function() { t(".woocommerce-input-wrapper span.description:visible").prop("aria-hidden", !0).slideUp(250) }), t(".woocommerce-input-wrapper").on("click", function(o) { o.stopPropagation() }), t(".woocommerce-input-wrapper :input").on("keydown", function(o) { var e = t(this).parent().find("span.description"); if (27 === o.which && e.length && e.is(":visible")) return e.prop("aria-hidden", !0).slideUp(250), o.preventDefault(), !1 }).on("click focus", function() { var o = t(this).parent(), e = o.find("span.description"); o.addClass("currentTarget"), t(".woocommerce-input-wrapper:not(.currentTarget) span.description:visible").prop("aria-hidden", !0).slideUp(250), e.length && e.is(":hidden") && e.prop("aria-hidden", !1).slideDown(250), o.removeClass("currentTarget") }), t.scroll_to_notices = function(o) { o.length && t("html, body").animate({ scrollTop: o.offset().top - 100 }, 1e3) }, t('.woocommerce form .woocommerce-Input[type="password"]').wrap(''), t(".woocommerce form input").filter(":password").parent("span").addClass("password-input"), t(".password-input").append(''), t(".show-password-input").click(function() { t(this).toggleClass("display-password"), t(this).hasClass("display-password") ? t(this).siblings(['input[type="password"]']).prop("type", "text") : t(this).siblings('input[type="text"]').prop("type", "password") }) }); jQuery(function(r) { if ("undefined" == typeof wc_cart_fragments_params) return !1; var t = !0, o = wc_cart_fragments_params.cart_hash_key; try { t = "sessionStorage" in window && null !== window.sessionStorage, window.sessionStorage.setItem("wc", "test"), window.sessionStorage.removeItem("wc"), window.localStorage.setItem("wc", "test"), window.localStorage.removeItem("wc") } catch (f) { t = !1 } function a() { t && sessionStorage.setItem("wc_cart_created", (new Date).getTime()) } function s(e) { t && (localStorage.setItem(o, e), sessionStorage.setItem(o, e)) } var e = { url: wc_cart_fragments_params.wc_ajax_url.toString().replace("%%endpoint%%", "get_refreshed_fragments"), type: "POST", data: { time: (new Date).getTime() }, timeout: wc_cart_fragments_params.request_timeout, success: function(e) { e && e.fragments && (r.each(e.fragments, function(e, t) { r(e).replaceWith(t) }), t && (sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(e.fragments)), s(e.cart_hash), e.cart_hash && a()), r(document.body).trigger("wc_fragments_refreshed")) }, error: function() { r(document.body).trigger("wc_fragments_ajax_error") } }; function n() { r.ajax(e) } if (t) { var i = null; r(document.body).on("wc_fragment_refresh updated_wc_div", function() { n() }), r(document.body).on("added_to_cart removed_from_cart", function(e, t, r) { var n = sessionStorage.getItem(o); null !== n && n !== undefined && "" !== n || a(), sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(t)), s(r) }), r(document.body).on("wc_fragments_refreshed", function() { clearTimeout(i), i = setTimeout(n, 864e5) }), r(window).on("storage onstorage", function(e) { o === e.originalEvent.key && localStorage.getItem(o) !== sessionStorage.getItem(o) && n() }), r(window).on("pageshow", function(e) { e.originalEvent.persisted && (r(".widget_shopping_cart_content").empty(), r(document.body).trigger("wc_fragment_refresh")) }); try { var c = r.parseJSON(sessionStorage.getItem(wc_cart_fragments_params.fragment_name)), _ = sessionStorage.getItem(o), g = Cookies.get("woocommerce_cart_hash"), m = sessionStorage.getItem("wc_cart_created"); if (null !== _ && _ !== undefined && "" !== _ || (_ = ""), null !== g && g !== undefined && "" !== g || (g = ""), _ && (null === m || m === undefined || "" === m)) throw "No cart_created"; if (m) { var d = +m + 864e5, w = (new Date).getTime(); if (d < w) throw "Fragment expired"; i = setTimeout(n, d - w) } if (!c || !c["div.widget_shopping_cart_content"] || _ !== g) throw "No fragment"; r.each(c, function(e, t) { r(e).replaceWith(t) }), r(document.body).trigger("wc_fragments_loaded") } catch (f) { n() } } else n(); 0 < Cookies.get("woocommerce_items_in_cart") ? r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show() : r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").hide(), r(document.body).on("adding_to_cart", function() { r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show() }), "undefined" != typeof wp && wp.customize && wp.customize.selectiveRefresh && wp.customize.widgetsPreview && wp.customize.widgetsPreview.WidgetPartial && wp.customize.selectiveRefresh.bind("partial-content-rendered", function() { n() }) }); jQuery(document).ready(function(i) { i(document).on("click", ".product a.compare:not(.added)", function(o) { o.preventDefault(); var e = i(this), t = { action: yith_woocompare.actionadd, id: e.data("product_id"), context: "frontend" }, a = i(".yith-woocompare-widget ul.products-list"); void 0 !== i.fn.block && (e.block({ message: null, overlayCSS: { background: "#fff url(" + yith_woocompare.loader + ") no-repeat center", backgroundSize: "16px 16px", opacity: .6 } }), a.block({ message: null, overlayCSS: { background: "#fff url(" + yith_woocompare.loader + ") no-repeat center", backgroundSize: "16px 16px", opacity: .6 } })), i.ajax({ type: "post", url: yith_woocompare.ajaxurl.toString().replace("%%endpoint%%", yith_woocompare.actionadd), data: t, dataType: "json", success: function(o) { void 0 !== i.fn.block && (e.unblock(), a.unblock()), e.addClass("added").attr("href", o.table_url).text(yith_woocompare.added_label), a.html(o.widget_table), "yes" == yith_woocompare.auto_open && i("body").trigger("yith_woocompare_open_popup", { response: o.table_url, button: e }) } }) }), i(document).on("click", ".product a.compare.added", function(o) { o.preventDefault(); var e = this.href; void 0 !== e && i("body").trigger("yith_woocompare_open_popup", { response: e, button: i(this) }) }), i("body").on("yith_woocompare_open_popup", function(o, e) { var t = e.response; if (768 <= i(window).width()) i.colorbox({ href: t, iframe: !0, width: "90%", height: "90%", className: "yith_woocompare_colorbox", close: yith_woocompare.close_label, onClosed: function() { var e = i(".yith-woocompare-widget ul.products-list"), o = { action: yith_woocompare.actionreload, context: "frontend" }; void 0 !== i.fn.block && e.block({ message: null, overlayCSS: { background: "#fff url(" + yith_woocompare.loader + ") no-repeat center", backgroundSize: "16px 16px", opacity: .6 } }), i.ajax({ type: "post", url: yith_woocompare.ajaxurl.toString().replace("%%endpoint%%", yith_woocompare.actionreload), data: o, success: function(o) { void 0 !== i.fn.block && e.unblock().html(o), e.html(o) } }) } }), i(window).resize(function() { i.colorbox.resize({ width: "90%", height: "90%" }) }); else { var a = t.split("?"); if (2 <= a.length) { for (var r = encodeURIComponent("iframe") + "=", c = a[1].split(/[&;]/g), n = c.length; 0 < n--;) - 1 !== c[n].lastIndexOf(r, 0) && c.splice(n, 1); t = a[0] + "?" + c.join("&") } window.open(t, yith_woocompare.table_title) } }), i(document).on("click", ".remove a", function(o) { o.preventDefault(); var t = i(this), e = { action: yith_woocompare.actionremove, id: t.data("product_id"), context: "frontend" }; i("td.product_" + e.id + ", th.product_" + e.id); void 0 !== i.fn.block && t.block({ message: null, overlayCSS: { background: "#fff url(" + yith_woocompare.loader + ") no-repeat center", backgroundSize: "16px 16px", opacity: .6 } }), i.ajax({ type: "post", url: yith_woocompare.ajaxurl.toString().replace("%%endpoint%%", yith_woocompare.actionremove), data: e, dataType: "html", success: function(o) { var e = i(o).filter("#yith-woocompare"); i("#yith-woocompare").replaceWith(e), i('.compare[data-product_id="' + t.data("product_id") + '"]', window.parent.document).removeClass("added").html(yith_woocompare.button_text), i(window).trigger("yith_woocompare_product_removed") } }) }), i(".yith-woocompare-open a, a.yith-woocompare-open").on("click", function(o) { o.preventDefault(), i("body").trigger("yith_woocompare_open_popup", { response: function(o, e) { o = escape(o), e = escape(e); var t = document.location.search, a = o + "=" + e, r = new RegExp("(&|\\?)" + o + "=[^&]*"); t = t.replace(r, "$1" + a), RegExp.$1 || (t += (0 < t.length ? "&" : "?") + a); return t }("action", yith_woocompare.actionview) + "&iframe=true" }) }), i(".yith-woocompare-widget").on("click", "a.compare", function(o) { o.preventDefault(), i("body").trigger("yith_woocompare_open_popup", { response: i(this).attr("href") }) }).on("click", "li a.remove, a.clear-all", function(o) { o.preventDefault(); var e = i(".yith-woocompare-widget .products-list").data("lang"), t = i(this), a = t.data("product_id"), r = { action: yith_woocompare.actionremove, id: a, context: "frontend", responseType: "product_list", lang: e }, c = t.parents(".yith-woocompare-widget").find("ul.products-list"); void 0 !== i.fn.block && c.block({ message: null, overlayCSS: { background: "#fff url(" + yith_woocompare.loader + ") no-repeat center", backgroundSize: "16px 16px", opacity: .6 } }), i.ajax({ type: "post", url: yith_woocompare.ajaxurl.toString().replace("%%endpoint%%", yith_woocompare.actionremove), data: r, dataType: "html", success: function(o) { "all" == a ? i(".compare.added").removeClass("added").html(yith_woocompare.button_text) : i('.compare[data-product_id="' + a + '"]').removeClass("added").html(yith_woocompare.button_text), c.html(o), void 0 !== i.fn.block && c.unblock() } }) }), i("body").on("added_to_cart", function(o, e, t, a) { i(a).closest("table.compare-list").length && a.hide() }) }); /*! Colorbox 1.6.1 license: MIT http://www.jacklmoore.com/colorbox */ (function(t, e, i) { function n(i, n, o) { var r = e.createElement(i); return n && (r.id = Z + n), o && (r.style.cssText = o), t(r) } function o() { return i.innerHeight ? i.innerHeight : t(i).height() } function r(e, i) { i !== Object(i) && (i = {}), this.cache = {}, this.el = e, this.value = function(e) { var n; return void 0 === this.cache[e] && (n = t(this.el).attr("data-cbox-" + e), void 0 !== n ? this.cache[e] = n : void 0 !== i[e] ? this.cache[e] = i[e] : void 0 !== X[e] && (this.cache[e] = X[e])), this.cache[e] }, this.get = function(e) { var i = this.value(e); return t.isFunction(i) ? i.call(this.el, this) : i } } function h(t) { var e = W.length, i = (A + t) % e; return 0 > i ? e + i : i } function a(t, e) { return Math.round((/%/.test(t) ? ("x" === e ? E.width() : o()) / 100 : 1) * parseInt(t, 10)) } function s(t, e) { return t.get("photo") || t.get("photoRegex").test(e) } function l(t, e) { return t.get("retinaUrl") && i.devicePixelRatio > 1 ? e.replace(t.get("photoRegex"), t.get("retinaSuffix")) : e } function d(t) { "contains" in y[0] && !y[0].contains(t.target) && t.target !== v[0] && (t.stopPropagation(), y.focus()) } function c(t) { c.str !== t && (y.add(v).removeClass(c.str).addClass(t), c.str = t) } function g(e) { A = 0, e && e !== !1 && "nofollow" !== e ? (W = t("." + te).filter(function() { var i = t.data(this, Y), n = new r(this, i); return n.get("rel") === e }), A = W.index(_.el), -1 === A && (W = W.add(_.el), A = W.length - 1)) : W = t(_.el) } function u(i) { t(e).trigger(i), ae.triggerHandler(i) } function f(i) { var o; if (!G) { if (o = t(i).data(Y), _ = new r(i, o), g(_.get("rel")), !$) { $ = q = !0, c(_.get("className")), y.css({ visibility: "hidden", display: "block", opacity: "" }), I = n(se, "LoadedContent", "width:0; height:0; overflow:hidden; visibility:hidden"), b.css({ width: "", height: "" }).append(I), j = T.height() + k.height() + b.outerHeight(!0) - b.height(), D = C.width() + H.width() + b.outerWidth(!0) - b.width(), N = I.outerHeight(!0), z = I.outerWidth(!0); var h = a(_.get("initialWidth"), "x"), s = a(_.get("initialHeight"), "y"), l = _.get("maxWidth"), f = _.get("maxHeight"); _.w = (l !== !1 ? Math.min(h, a(l, "x")) : h) - z - D, _.h = (f !== !1 ? Math.min(s, a(f, "y")) : s) - N - j, I.css({ width: "", height: _.h }), J.position(), u(ee), _.get("onOpen"), O.add(S).hide(), y.focus(), _.get("trapFocus") && e.addEventListener && (e.addEventListener("focus", d, !0), ae.one(re, function() { e.removeEventListener("focus", d, !0) })), _.get("returnFocus") && ae.one(re, function() { t(_.el).focus() }) } var p = parseFloat(_.get("opacity")); v.css({ opacity: p === p ? p : "", cursor: _.get("overlayClose") ? "pointer" : "", visibility: "visible" }).show(), _.get("closeButton") ? B.html(_.get("close")).appendTo(b) : B.appendTo("
          "), w() } } function p() { y || (V = !1, E = t(i), y = n(se).attr({ id: Y, "class": t.support.opacity === !1 ? Z + "IE" : "", role: "dialog", tabindex: "-1" }).hide(), v = n(se, "Overlay").hide(), M = t([n(se, "LoadingOverlay")[0], n(se, "LoadingGraphic")[0]]), x = n(se, "Wrapper"), b = n(se, "Content").append(S = n(se, "Title"), F = n(se, "Current"), P = t('