!
function (e, t) {
    var i = function (n, d) {
        "use strict";
        if (d.getElementsByClassName) {
            var u, f, m = d.documentElement,
                s = n.Date,
                a = n.HTMLPictureElement,
                o = "addEventListener",
                z = "getAttribute",
                t = n[o],
                v = n.setTimeout,
                i = n.requestAnimationFrame || v,
                r = n.requestIdleCallback,
                g = /^picture$/i,
                l = ["load", "error", "lazyincluded", "_lazyloaded"],
                c = {},
                y = Array.prototype.forEach,
                h = function (e, t) {
                    return c[t] || (c[t] = new RegExp("(\\s|^)" + t + "(\\s|$)")), c[t].test(e[z]("class") || "") && c[t]
                },
                p = function (e, t) {
                    h(e, t) || e.setAttribute("class", (e[z]("class") || "").trim() + " " + t)
                },
                C = function (e, t) {
                    var i;
                    (i = h(e, t)) && e.setAttribute("class", (e[z]("class") || "").replace(i, " "))
                },
                b = function (t, i, e) {
                    var n = e ? o : "removeEventListener";
                    e && b(t, i), l.forEach(function (e) {
                        t[n](e, i)
                    })
                },
                A = function (e, t, i, n, a) {
                    var s = d.createEvent("CustomEvent");
                    return i || (i = {}), i.instance = u, s.initCustomEvent(t, !n, !a, i), e.dispatchEvent(s), s
                },
                E = function (e, t) {
                    var i;
                    !a && (i = n.picturefill || f.pf) ? i({
                        reevaluate: !0,
                        elements: [e]
                    }) : t && t.src && (e.src = t.src)
                },
                w = function (e, t) {
                    return (getComputedStyle(e, null) || {})[t]
                },
                M = function (e, t, i) {
                    for (i = i || e.offsetWidth; i < f.minSize && t && !e._lazysizesWidth;) i = t.offsetWidth, t = t.parentNode;
                    return i
                },
                N = (be = [], Ae = Ce = [], (we = function (e, t) {
                    he && !t ? e.apply(this, arguments) : (Ae.push(e), pe || (pe = !0, (d.hidden ? v : i)(Ee)))
                })._lsFlush = Ee = function () {
                    var e = Ae;
                    for (Ae = Ce.length ? be : Ce, pe = !(he = !0); e.length;) e.shift()();
                    he = !1
                }, we),
                e = function (i, e) {
                    return e ?
                        function () {
                            N(i)
                        } : function () {
                            var e = this,
                                t = arguments;
                            N(function () {
                                i.apply(e, t)
                            })
                        }
                },
                _ = function (e) {
                    var t, i, n = function () {
                            t = null, e()
                        },
                        a = function () {
                            var e = s.now() - i;
                            e < 99 ? v(a, 99 - e) : (r || n)(n)
                        };
                    return function () {
                        i = s.now(), t || (t = v(a, 99))
                    }
                };
            !
            function () {
                var e, t = {
                    lazyClass: "lazyload",
                    loadedClass: "lazyloaded",
                    loadingClass: "lazyloading",
                    preloadClass: "lazypreload",
                    errorClass: "lazyerror",
                    autosizesClass: "lazyautosizes",
                    srcAttr: "data-src",
                    srcsetAttr: "data-srcset",
                    sizesAttr: "data-sizes",
                    minSize: 40,
                    customMedia: {},
                    init: !0,
                    expFactor: 1.5,
                    hFac: .8,
                    loadMode: 2,
                    loadHidden: !0,
                    ricTimeout: 300
                };
                for (e in f = n.lazySizesConfig || n.lazysizesConfig || {}, t) e in f || (f[e] = t[e]);
                n.lazySizesConfig = f, v(function () {
                    f.init && T()
                })
            }();
            var W = (te = /^img$/i, ie = /^iframe$/i, ne = "onscroll" in n && !/glebot/.test(navigator.userAgent), oe = -1, re = function (e) {
                        se--, e && e.target && b(e.target, re), (!e || se < 0 || !e.target) && (se = 0)
                    }, le = function (e, t) {
                        var i, n = e,
                            a = "hidden" == w(d.body, "visibility") || "hidden" != w(e, "visibility");
                        for (I -= t, G += t, q -= t, j += t; a && (n = n.offsetParent) && n != d.body && n != m;)(a = 0 < (w(n, "opacity") || 1)) && "visible" != w(n, "overflow") && (i = n.getBoundingClientRect(), a = j > i.left && q < i.right && G > i.top - 1 && I < i.bottom + 1);
                        return a
                    }, U = ce = function () {
                        var e, t, i, n, a, s, o, r, l, c = u.elements;
                        if ((O = f.loadMode) && se < 8 && (e = c.length)) {
                            t = 0, oe++, null == K && ("expand" in f || (f.expand = 500 < m.clientHeight && 500 < m.clientWidth ? 500 : 370), J = f.expand, K = J * f.expFactor), ae < K && se < 1 && 2 < oe && 2 < O && !d.hidden ? (ae = K, oe = 0) : ae = 1 < O && 1 < oe && se < 6 ? J : 0;
                            for (; t < e; t++)
                                if (c[t] && !c[t]._lazyRace)
                                    if (ne)
                                        if ((r = c[t][z]("data-expand")) && (s = 1 * r) || (s = ae), l !== s && ($ = innerWidth + s * Q, D = innerHeight + s, o = -1 * s, l = s), i = c[t].getBoundingClientRect(), (G = i.bottom) >= o && (I = i.top) <= D && (j = i.right) >= o * Q && (q = i.left) <= $ && (G || j || q || I) && (f.loadHidden || "hidden" != w(c[t], "visibility")) && (k && se < 3 && !r && (O < 3 || oe < 4) || le(c[t], s))) {
                                            if (ge(c[t]), a = !0, 9 < se) break
                                        } else !a && k && !n && se < 4 && oe < 4 && 2 < O && (R[0] || f.preloadAfterLoad) && (R[0] || !r && (G || j || q || I || "auto" != c[t][z](f.sizesAttr))) && (n = R[0] || c[t]);
                            else ge(c[t]);
                            n && !a && ge(n)
                        }
                    }, X = se = ae = 0, Y = f.ricTimeout, Z = function () {
                        V = !1, X = s.now(), U()
                    }, ee = r && f.ricTimeout ?
                    function () {
                        r(Z, {
                            timeout: Y
                        }), Y !== f.ricTimeout && (Y = f.ricTimeout)
                    } : e(function () {
                        v(Z)
                    }, !0), de = function (e) {
                        var t;
                        (e = !0 === e) && (Y = 33), V || (V = !0, (t = 125 - (s.now() - X)) < 0 && (t = 0), e || t < 9 && r ? ee() : v(ee, t))
                    }, fe = e(ue = function (e) {
                        p(e.target, f.loadedClass), C(e.target, f.loadingClass), b(e.target, me), A(e.target, "lazyloaded")
                    }), me = function (e) {
                        fe({
                            target: e.target
                        })
                    }, ze = function (e) {
                        var t, i = e[z](f.srcsetAttr);
                        (t = f.customMedia[e[z]("data-media") || e[z]("media")]) && e.setAttribute("media", t), i && e.setAttribute("srcset", i)
                    }, ve = e(function (e, t, i, n, a) {
                        var s, o, r, l, c, d;
                        (c = A(e, "lazybeforeunveil", t)).defaultPrevented || (n && (i ? p(e, f.autosizesClass) : e.setAttribute("sizes", n)), o = e[z](f.srcsetAttr), s = e[z](f.srcAttr), a && (r = e.parentNode, l = r && g.test(r.nodeName || "")), d = t.firesLoad || "src" in e && (o || s || l), c = {
                            target: e
                        }, d && (b(e, re, !0), clearTimeout(H), H = v(re, 2500), p(e, f.loadingClass), b(e, me, !0)), l && y.call(r.getElementsByTagName("source"), ze), o ? e.setAttribute("srcset", o) : s && !l && (ie.test(e.nodeName) ?
                            function (t, i) {
                                try {
                                    t.contentWindow.location.replace(i)
                                } catch (e) {
                                    t.src = i
                                }
                            }(e, s) : e.src = s), a && (o || l) && E(e, {
                            src: s
                        })), e._lazyRace && delete e._lazyRace, C(e, f.lazyClass), N(function () {
                            (!d || e.complete && 1 < e.naturalWidth) && (d ? re(c) : se--, ue(c))
                        }, !0)
                    }), ye = function () {
                        if (!k) {
                            if (s.now() - P < 999) return void v(ye, 999);
                            var e = _(function () {
                                f.loadMode = 3, de()
                            });
                            k = !0, f.loadMode = 3, de(), t("scroll", function () {
                                3 == f.loadMode && (f.loadMode = 2), e()
                            }, !0)
                        }
                    }, {
                        _: function () {
                            P = s.now(), u.elements = d.getElementsByClassName(f.lazyClass), R = d.getElementsByClassName(f.lazyClass + " " + f.preloadClass), Q = f.hFac, t("scroll", de, !0), t("resize", de, !0), n.MutationObserver ? new MutationObserver(de).observe(m, {
                                childList: !0,
                                subtree: !0,
                                attributes: !0
                            }) : (m[o]("DOMNodeInserted", de, !0), m[o]("DOMAttrModified", de, !0), setInterval(de, 999)), t("hashchange", de, !0), ["focus", "mouseover", "click", "load", "transitionend", "animationend", "webkitAnimationEnd"].forEach(function (e) {
                                d[o](e, de, !0)
                            }), /d$|^c/.test(d.readyState) ? ye() : (t("load", ye), d[o]("DOMContentLoaded", de), v(ye, 2e4)), u.elements.length ? (ce(), N._lsFlush()) : de()
                        },
                        checkElems: de,
                        unveil: ge = function (e) {
                            var t, i = te.test(e.nodeName),
                                n = i && (e[z](f.sizesAttr) || e[z]("sizes")),
                                a = "auto" == n;
                            (!a && k || !i || !e[z]("src") && !e.srcset || e.complete || h(e, f.errorClass) || !h(e, f.lazyClass)) && (t = A(e, "lazyunveilread").detail, a && x.updateElem(e, !0, e.offsetWidth), e._lazyRace = !0, se++, ve(e, t, a, n, i))
                        }
                    }),
                x = (F = e(function (e, t, i, n) {
                    var a, s, o;
                    if (e._lazysizesWidth = n, n += "px", e.setAttribute("sizes", n), g.test(t.nodeName || ""))
                        for (a = t.getElementsByTagName("source"), s = 0, o = a.length; s < o; s++) a[s].setAttribute("sizes", n);
                    i.detail.dataAttr || E(e, i.detail)
                }), S = function (e, t, i) {
                    var n, a = e.parentNode;
                    a && (i = M(e, a, i), (n = A(e, "lazybeforesizes", {
                        width: i,
                        dataAttr: !!t
                    })).defaultPrevented || (i = n.detail.width) && i !== e._lazysizesWidth && F(e, a, n, i))
                }, {
                    _: function () {
                        B = d.getElementsByClassName(f.autosizesClass), t("resize", L)
                    },
                    checkElems: L = _(function () {
                        var e, t = B.length;
                        if (t)
                            for (e = 0; e < t; e++) S(B[e])
                    }),
                    updateElem: S
                }),
                T = function () {
                    T.i || (T.i = !0, x._(), W._())
                };
            return u = {
                cfg: f,
                autoSizer: x,
                loader: W,
                init: T,
                uP: E,
                aC: p,
                rC: C,
                hC: h,
                fire: A,
                gW: M,
                rAF: N
            }
        }
        var B, F, S, L;
        var R, k, H, O, P, $, D, I, q, j, G, J, K, Q, U, V, X, Y, Z, ee, te, ie, ne, ae, se, oe, re, le, ce, de, ue, fe, me, ze, ve, ge, ye;
        var he, pe, Ce, be, Ae, Ee, we
    }(e, e.document);
    e.lazySizes = i, "object" == typeof module && module.exports && (module.exports = i)
}(window);
!
function (e) {
    var t, i, s, r, n, c, a, u = navigator.userAgent;
    e.HTMLPictureElement && /ecko/.test(u) && u.match(/rv\:(\d+)/) && RegExp.$1 < 45 && addEventListener("resize", (i = document.createElement("source"), s = function (e) {
        var t, s, r = e.parentNode;
        "PICTURE" === r.nodeName.toUpperCase() ? (t = i.cloneNode(), r.insertBefore(t, r.firstElementChild), setTimeout(function () {
            r.removeChild(t)
        })) : (!e._pfLastSize || e.offsetWidth > e._pfLastSize) && (e._pfLastSize = e.offsetWidth, s = e.sizes, e.sizes += ",100vw", setTimeout(function () {
            e.sizes = s
        }))
    }, r = function () {
        var e, t = document.querySelectorAll("picture > img, img[srcset][sizes]");
        for (e = 0; e < t.length; e++) s(t[e])
    }, n = function () {
        clearTimeout(t), t = setTimeout(r, 99)
    }, c = e.matchMedia && matchMedia("(orientation: landscape)"), a = function () {
        n(), c && c.addListener && c.addListener(n)
    }, i.srcset = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", /^[c|i]|d$/.test(document.readyState || "") ? a() : document.addEventListener("DOMContentLoaded", a), n))
}(window),
function (e, n, o) {
    "use strict";

    function l(e) {
        return " " === e || "\t" === e || "\n" === e || "\f" === e || "\r" === e
    }

    function z(e, t) {
        return e.res - t.res
    }

    function b(e, t) {
        var s, r, i;
        if (e && t)
            for (i = R.parseSet(t), e = R.makeUrl(e), s = 0; s < i.length; s++)
                if (e === R.makeUrl(i[s].url)) {
                    r = i[s];
                    break
                }
        return r
    }
    n.createElement("picture");
    var i, f, u, r, c, t, s, a, d, p, A, m, h, g, v, w, S, x, y, E, T, C, R = {},
        L = !1,
        M = function () {},
        P = n.createElement("img"),
        D = P.getAttribute,
        B = P.setAttribute,
        I = P.removeAttribute,
        U = n.documentElement,
        $ = {},
        k = {
            algorithm: ""
        },
        W = "data-pfsrc",
        Q = W + "set",
        G = navigator.userAgent,
        H = /rident/.test(G) || /ecko/.test(G) && G.match(/rv\:(\d+)/) && 35 < RegExp.$1,
        F = "currentSrc",
        N = /\s+\+?\d+(e\d+)?w/,
        O = /(\([^)]+\))?\s*(.+)/,
        q = e.picturefillCFG,
        j = "font-size:100%!important;",
        V = !0,
        _ = {},
        K = {},
        J = e.devicePixelRatio,
        X = {
            px: 1,
            in: 96
        },
        Y = n.createElement("a"),
        Z = !1,
        ee = /^[ \t\n\r\u000c]+/,
        te = /^[, \t\n\r\u000c]+/,
        se = /^[^ \t\n\r\u000c]+/,
        re = /[,]+$/,
        ie = /^\d+$/,
        ne = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,
        ce = function (e, t, s, r) {
            e.addEventListener ? e.addEventListener(t, s, r || !1) : e.attachEvent && e.attachEvent("on" + t, s)
        },
        ae = function (t) {
            var s = {};
            return function (e) {
                return e in s || (s[e] = t(e)), s[e]
            }
        },
        ue = (r = /^([\d\.]+)(em|vw|px)$/, c = ae(function (e) {
            return "return " +
                function () {
                    for (var e = arguments, t = 0, s = e[0]; ++t in e;) s = s.replace(e[t], e[++t]);
                    return s
                }((e || "").toLowerCase(), /\band\b/g, "&&", /,/g, "||", /min-([a-z-\s]+):/g, "e.$1>=", /max-([a-z-\s]+):/g, "e.$1<=", /calc([^)]+)/g, "($1)", /(\d+[\.]*[\d]*)([a-z]+)/g, "($1 * e.$2)", /^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi, "") + ";"
        }), function (e, t) {
            var s;
            if (!(e in _))
                if (_[e] = !1, t && (s = e.match(r))) _[e] = s[1] * X[s[2]];
                else try {
                    _[e] = new Function("e", c(e))(X)
                } catch (e) {}
            return _[e]
        }),
        oe = function (e, t) {
            return e.w ? (e.cWidth = R.calcListLength(t || "100vw"), e.res = e.w / e.cWidth) : e.res = e.d, e
        },
        le = function (e) {
            if (L) {
                var t, s, r, i = e || {};
                if (i.elements && 1 === i.elements.nodeType && ("IMG" === i.elements.nodeName.toUpperCase() ? i.elements = [i.elements] : (i.context = i.elements, i.elements = null)), r = (t = i.elements || R.qsa(i.context || n, i.reevaluate || i.reselect ? R.sel : R.selShort)).length) {
                    for (R.setupRun(i), Z = !0, s = 0; s < r; s++) R.fillImg(t[s], i);
                    R.teardownRun(i)
                }
            }
        };
    e.console && console.warn, F in P || (F = "src"), $["image/jpeg"] = !0, $["image/gif"] = !0, $["image/png"] = !0, $["image/svg+xml"] = n.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1"), R.ns = ("pf" + (new Date).getTime()).substr(0, 9), R.supSrcset = "srcset" in P, R.supSizes = "sizes" in P, R.supPicture = !!e.HTMLPictureElement, R.supSrcset && R.supPicture && !R.supSizes && (y = n.createElement("img"), P.srcset = "data:,a", y.src = "data:,a", R.supSrcset = P.complete === y.complete, R.supPicture = R.supSrcset && R.supPicture), R.supSrcset && !R.supSizes ? (w = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", S = n.createElement("img"), x = function () {
        2 === S.width && (R.supSizes = !0), f = R.supSrcset && !R.supSizes, L = !0, setTimeout(le)
    }, S.onload = x, S.onerror = x, S.setAttribute("sizes", "9px"), S.srcset = w + " 1w,data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw== 9w", S.src = w) : L = !0, R.selShort = "picture>img,img[srcset]", R.sel = R.selShort, R.cfg = k, R.DPR = J || 1, R.u = X, R.types = $, R.setSize = M, R.makeUrl = ae(function (e) {
        return Y.href = e, Y.href
    }), R.qsa = function (e, t) {
        return "querySelector" in e ? e.querySelectorAll(t) : []
    }, R.matchesMedia = function () {
        return e.matchMedia && (matchMedia("(min-width: 0.1em)") || {}).matches ? R.matchesMedia = function (e) {
            return !e || matchMedia(e).matches
        } : R.matchesMedia = R.mMQ, R.matchesMedia.apply(this, arguments)
    }, R.mMQ = function (e) {
        return !e || ue(e)
    }, R.calcLength = function (e) {
        var t = ue(e, !0) || !1;
        return t < 0 && (t = !1), t
    }, R.supportsType = function (e) {
        return !e || $[e]
    }, R.parseSize = ae(function (e) {
        var t = (e || "").match(O);
        return {
            media: t && t[1],
            length: t && t[2]
        }
    }), R.parseSet = function (e) {
        return e.cands || (e.cands = function (r, f) {
            function e(e) {
                var t, s = e.exec(r.substring(u));
                return s ? (t = s[0], u += t.length, t) : void 0
            }

            function t() {
                var e, t, s, r, i, n, c, a, u, o = !1,
                    l = {};
                for (r = 0; r < p.length; r++) n = (i = p[r])[i.length - 1], c = i.substring(0, i.length - 1), a = parseInt(c, 10), u = parseFloat(c), ie.test(c) && "w" === n ? ((e || t) && (o = !0), 0 === a ? o = !0 : e = a) : ne.test(c) && "x" === n ? ((e || t || s) && (o = !0), u < 0 ? o = !0 : t = u) : ie.test(c) && "h" === n ? ((s || t) && (o = !0), 0 === a ? o = !0 : s = a) : o = !0;
                o || (l.url = d, e && (l.w = e), t && (l.d = t), s && (l.h = s), s || t || e || (l.d = 1), 1 === l.d && (f.has1x = !0), l.set = f, A.push(l))
            }

            function s() {
                for (e(ee), i = "", n = "in descriptor";;) {
                    if (c = r.charAt(u), "in descriptor" === n)
                        if (l(c)) i && (p.push(i), i = "", n = "after descriptor");
                        else {
                            if ("," === c) return u += 1, i && p.push(i), void t();
                            if ("(" === c) i += c, n = "in parens";
                            else {
                                if ("" === c) return i && p.push(i), void t();
                                i += c
                            }
                        }
                    else if ("in parens" === n)
                        if (")" === c) i += c, n = "in descriptor";
                        else {
                            if ("" === c) return p.push(i), void t();
                            i += c
                        }
                    else if ("after descriptor" === n)
                        if (l(c));
                        else {
                            if ("" === c) return void t();
                            n = "in descriptor", u -= 1
                        }
                    u += 1
                }
            }
            for (var d, p, i, n, c, a = r.length, u = 0, A = [];;) {
                if (e(te), a <= u) return A;
                d = e(se), p = [], "," === d.slice(-1) ? (d = d.replace(re, ""), t()) : s()
            }
        }(e.srcset, e)), e.cands
    }, R.getEmValue = function () {
        var e;
        if (!i && (e = n.body)) {
            var t = n.createElement("div"),
                s = U.style.cssText,
                r = e.style.cssText;
            t.style.cssText = "position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)", U.style.cssText = j, e.style.cssText = j, e.appendChild(t), i = t.offsetWidth, e.removeChild(t), i = parseFloat(i, 10), U.style.cssText = s, e.style.cssText = r
        }
        return i || 16
    }, R.calcListLength = function (e) {
        if (!(e in K) || k.uT) {
            var t = R.calcLength(function (e) {
                var t, s, r, i, n, c, a, u = /^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,
                    o = /^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;
                for (r = (s = function (e) {
                        function t() {
                            i && (n.push(i), i = "")
                        }

                        function s() {
                            n[0] && (c.push(n), n = [])
                        }
                        for (var r, i = "", n = [], c = [], a = 0, u = 0, o = !1;;) {
                            if ("" === (r = e.charAt(u))) return t(), s(), c;
                            if (o) {
                                if ("*" === r && "/" === e[u + 1]) {
                                    o = !1, u += 2, t();
                                    continue
                                }
                                u += 1
                            } else {
                                if (l(r)) {
                                    if (e.charAt(u - 1) && l(e.charAt(u - 1)) || !i) {
                                        u += 1;
                                        continue
                                    }
                                    if (0 === a) {
                                        t(), u += 1;
                                        continue
                                    }
                                    r = " "
                                } else if ("(" === r) a += 1;
                                else if (")" === r) a -= 1;
                                else {
                                    if ("," === r) {
                                        t(), s(), u += 1;
                                        continue
                                    }
                                    if ("/" === r && "*" === e.charAt(u + 1)) {
                                        o = !0, u += 2;
                                        continue
                                    }
                                }
                                i += r, u += 1
                            }
                        }
                    }(e)).length, t = 0; t < r; t++)
                    if (n = (i = s[t])[i.length - 1], a = n, u.test(a) && 0 <= parseFloat(a) || o.test(a) || "0" === a || "-0" === a || "+0" === a) {
                        if (c = n, i.pop(), 0 === i.length) return c;
                        if (i = i.join(" "), R.matchesMedia(i)) return c
                    }
                return "100vw"
            }(e));
            K[e] = t || X.width
        }
        return K[e]
    }, R.setRes = function (e) {
        var t;
        if (e)
            for (var s = 0, r = (t = R.parseSet(e)).length; s < r; s++) oe(t[s], e.sizes);
        return t
    }, R.setRes.res = oe, R.applySetCandidate = function (e, t) {
        if (e.length) {
            var s, r, i, n, c, a, u, o, l, f = t[R.ns],
                d = R.DPR;
            if (a = f.curSrc || t[F], (u = f.curCan || (S = t, x = a, !(y = e[0].set) && x && (y = (y = S[R.ns].sets) && y[y.length - 1]), (E = b(x, y)) && (x = R.makeUrl(x), S[R.ns].curSrc = x, (S[R.ns].curCan = E).res || oe(E, E.set.sizes)), E)) && u.set === e[0].set && ((l = H && !t.complete && u.res - .1 > d) || (u.cached = !0, u.res >= d && (c = u))), !c)
                for (e.sort(z), c = e[(n = e.length) - 1], r = 0; r < n; r++)
                    if ((s = e[r]).res >= d) {
                        c = e[i = r - 1] && (l || a !== R.makeUrl(s.url)) && (p = e[i].res, A = s.res, m = d, h = e[i].cached, w = v = g = void 0, "saveData" === k.algorithm ? 2.7 < p ? w = m + 1 : (v = (A - m) * (g = Math.pow(p - .6, 1.5)), h && (v += .1 * g), w = p + v) : w = 1 < m ? Math.sqrt(p * A) : p, m < w) ? e[i] : s;
                        break
                    }
            c && (o = R.makeUrl(c.url), f.curSrc = o, f.curCan = c, o !== a && R.setSrc(t, c), R.setSize(t))
        }
        var p, A, m, h, g, v, w, S, x, y, E
    }, R.setSrc = function (e, t) {
        var s;
        e.src = t.url, "image/svg+xml" === t.set.type && (s = e.style.width, e.style.width = e.offsetWidth + 1 + "px", e.offsetWidth + 1 && (e.style.width = s))
    }, R.getSet = function (e) {
        var t, s, r, i = !1,
            n = e[R.ns].sets;
        for (t = 0; t < n.length && !i; t++)
            if ((s = n[t]).srcset && R.matchesMedia(s.media) && (r = R.supportsType(s.type))) {
                "pending" === r && (s = r), i = s;
                break
            }
        return i
    }, R.parseSets = function (e, t, s) {
        var r, i, n, c, a = t && "PICTURE" === t.nodeName.toUpperCase(),
            u = e[R.ns];
        (u.src === o || s.src) && (u.src = D.call(e, "src"), u.src ? B.call(e, W, u.src) : I.call(e, W)), (u.srcset === o || s.srcset || !R.supSrcset || e.srcset) && (r = D.call(e, "srcset"), u.srcset = r, c = !0), u.sets = [], a && (u.pic = !0, function (e, t) {
            var s, r, i, n, c = e.getElementsByTagName("source");
            for (s = 0, r = c.length; s < r; s++)(i = c[s])[R.ns] = !0, (n = i.getAttribute("srcset")) && t.push({
                srcset: n,
                media: i.getAttribute("media"),
                type: i.getAttribute("type"),
                sizes: i.getAttribute("sizes")
            })
        }(t, u.sets)), u.srcset ? (i = {
            srcset: u.srcset,
            sizes: D.call(e, "sizes")
        }, u.sets.push(i), (n = (f || u.src) && N.test(u.srcset || "")) || !u.src || b(u.src, i) || i.has1x || (i.srcset += ", " + u.src, i.cands.push({
            url: u.src,
            d: 1,
            set: i
        }))) : u.src && u.sets.push({
            srcset: u.src,
            sizes: null
        }), u.curCan = null, u.curSrc = o, u.supported = !(a || i && !R.supSrcset || n && !R.supSizes), c && R.supSrcset && !u.supported && (r ? (B.call(e, Q, r), e.srcset = "") : I.call(e, Q)), u.supported && !u.srcset && (!u.src && e.src || e.src !== R.makeUrl(u.src)) && (null === u.src ? e.removeAttribute("src") : e.src = u.src), u.parsed = !0
    }, R.fillImg = function (e, t) {
        var s, r, i, n, c, a = t.reselect || t.reevaluate;
        e[R.ns] || (e[R.ns] = {}), s = e[R.ns], (a || s.evaled !== u) && ((!s.parsed || t.reevaluate) && R.parseSets(e, e.parentNode, t), s.supported ? s.evaled = u : (r = e, n = R.getSet(r), c = !1, "pending" !== n && (c = u, n && (i = R.setRes(n), R.applySetCandidate(i, r))), r[R.ns].evaled = c))
    };
    for (; q && q.length;) e.picturefillCFG.push(q.shift());
    e.picturefill = le, "object" == typeof module && "object" == typeof module.exports ? module.exports = le : "function" == typeof define && define.amd && define("picturefill", function () {
        return le
    }), R.supPicture || ($["image/webp"] = (E = "image/webp", T = "data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==", (C = new e.Image).onerror = function () {
        $[E] = !1, le()
    }, C.onload = function () {
        $[E] = 1 === C.width, le()
    }, C.src = T, "pending"))
}(window, document);
!
function (e, t) {
    var r = function () {
        t(e.lazySizes), e.removeEventListener("lazyunveilread", r, !0)
    };
    t = t.bind(null, e, e.document), "object" == typeof module && module.exports ? t(require("lazysizes")) : e.lazySizes ? r() : e.addEventListener("lazyunveilread", r, !0)
}(window, function (e, n, i) {
    "use strict";

    function o(e, t) {
        if (!s[e]) {
            var r = n.createElement(t ? "link" : "script"),
                a = n.getElementsByTagName("script")[0];
            t ? (r.rel = "stylesheet", r.href = e) : r.src = e, s[e] = !0, s[r.src || r.href] = !0, a.parentNode.insertBefore(r, a)
        }
    }
    var l, d, s = {};
    n.addEventListener && (l = function (e, t) {
        var r = n.createElement("img");
        r.onload = function () {
            r.onload = null, r.onerror = null, r = null, t()
        }, r.onerror = r.onload, r.src = e, r && r.complete && r.onload && r.onload()
    }, addEventListener("lazybeforeunveil", function (e) {
        var t, r, a;
        e.detail.instance == i && (e.defaultPrevented || ("none" == e.target.preload && (e.target.preload = "auto"), (t = e.target.getAttribute("data-link")) && o(t, !0), (t = e.target.getAttribute("data-script")) && o(t), (t = e.target.getAttribute("data-require")) && (i.cfg.requireJs ? i.cfg.requireJs([t]) : o(t)), (r = e.target.getAttribute("data-bg")) && (e.detail.firesLoad = !0, l(r, function () {
            e.target.style.backgroundImage = "url(" + (d.test(r) ? JSON.stringify(r) : r) + ")", e.detail.firesLoad = !1, i.fire(e.target, "_lazyloaded", {}, !0, !0)
        })), (a = e.target.getAttribute("data-poster")) && (e.detail.firesLoad = !0, l(a, function () {
            e.target.poster = a, e.detail.firesLoad = !1, i.fire(e.target, "_lazyloaded", {}, !0, !0)
        }))))
    }, !(d = /\(|\)|\s|'/)))
});
!
function (d, s, e) {
    function i(e, t) {
        this.element = e, this.settings = d.extend({}, n, t), this.settings.duplicate || t.hasOwnProperty("removeIds") || (this.settings.removeIds = !1), this._defaults = n, this._name = o, this.init()
    }
    var n = {
            label: "MENU",
            duplicate: !0,
            duration: 200,
            easingOpen: "swing",
            easingClose: "swing",
            closedSymbol: "&#9658;",
            openedSymbol: "&#9660;",
            prependTo: "body",
            appendTo: "",
            parentTag: "a",
            closeOnClick: !1,
            allowParentLinks: !1,
            nestedParentLinks: !0,
            showChildren: !1,
            removeIds: !0,
            removeClasses: !1,
            removeStyles: !1,
            brand: "",
            animations: "jquery",
            init: function () {},
            beforeOpen: function () {},
            beforeClose: function () {},
            afterOpen: function () {},
            afterClose: function () {}
        },
        o = "slicknav",
        u = "slicknav",
        c = 40,
        p = 13,
        m = 27,
        h = 37,
        v = 39,
        f = 32,
        _ = 38;
    i.prototype.init = function () {
        var e, t, l = this,
            n = d(this.element),
            r = this.settings;
        if (r.duplicate ? l.mobileNav = n.clone() : l.mobileNav = n, r.removeIds && (l.mobileNav.removeAttr("id"), l.mobileNav.find("*").each(function (e, t) {
                d(t).removeAttr("id")
            })), r.removeClasses && (l.mobileNav.removeAttr("class"), l.mobileNav.find("*").each(function (e, t) {
                d(t).removeAttr("class")
            })), r.removeStyles && (l.mobileNav.removeAttr("style"), l.mobileNav.find("*").each(function (e, t) {
                d(t).removeAttr("style")
            })), e = u + "_icon", "" === r.label && (e += " " + u + "_no-text"), "a" == r.parentTag && (r.parentTag = 'a href="#"'), l.mobileNav.attr("class", u + "_nav"), t = d('<div class="' + u + '_menu"></div>'), "" !== r.brand) {
            var a = d('<div class="' + u + '_brand">' + r.brand + "</div>");
            d(t).append(a)
        }
        l.btn = d(["<" + r.parentTag + ' aria-haspopup="true" role="button" tabindex="0" class="' + u + "_btn " + u + '_collapsed">', '<span class="' + u + '_menutxt">' + r.label + "</span>", '<span class="' + e + '">', '<span class="' + u + '_icon-bar"></span>', '<span class="' + u + '_icon-bar"></span>', '<span class="' + u + '_icon-bar"></span>', "</span>", "</" + r.parentTag + ">"].join("")), d(t).append(l.btn), "" !== r.appendTo ? d(r.appendTo).append(t) : d(r.prependTo).prepend(t), t.append(l.mobileNav);
        var i = l.mobileNav.find("li");
        d(i).each(function () {
            var e = d(this),
                t = {};
            if (t.children = e.children("ul").attr("role", "menu"), e.data("menu", t), 0 < t.children.length) {
                var n = e.contents(),
                    a = !1,
                    i = [];
                d(n).each(function () {
                    return !d(this).is("ul") && (i.push(this), void(d(this).is("a") && (a = !0)))
                });
                var s = d("<" + r.parentTag + ' role="menuitem" aria-haspopup="true" tabindex="-1" class="' + u + '_item"/>');
                if (r.allowParentLinks && !r.nestedParentLinks && a) d(i).wrapAll('<span class="' + u + "_parent-link " + u + '_row"/>').parent();
                else d(i).wrapAll(s).parent().addClass(u + "_row");
                r.showChildren ? e.addClass(u + "_open") : e.addClass(u + "_collapsed"), e.addClass(u + "_parent");
                var o = d('<span class="' + u + '_arrow">' + (r.showChildren ? r.openedSymbol : r.closedSymbol) + "</span>");
                r.allowParentLinks && !r.nestedParentLinks && a && (o = o.wrap(s).parent()), d(i).last().after(o)
            } else 0 === e.children().length && e.addClass(u + "_txtnode");
            e.children("a").attr("role", "menuitem").click(function (e) {
                r.closeOnClick && !d(e.target).parent().closest("li").hasClass(u + "_parent") && d(l.btn).click()
            }), r.closeOnClick && r.allowParentLinks && (e.children("a").children("a").click(function (e) {
                d(l.btn).click()
            }), e.find("." + u + "_parent-link a:not(." + u + "_item)").click(function (e) {
                d(l.btn).click()
            }))
        }), d(i).each(function () {
            var e = d(this).data("menu");
            r.showChildren || l._visibilityToggle(e.children, null, !1, null, !0)
        }), l._visibilityToggle(l.mobileNav, null, !1, "init", !0), l.mobileNav.attr("role", "menu"), d(s).mousedown(function () {
            l._outlines(!1)
        }), d(s).keyup(function () {
            l._outlines(!0)
        }), d(l.btn).click(function (e) {
            e.preventDefault(), l._menuToggle()
        }), l.mobileNav.on("click", "." + u + "_item", function (e) {
            e.preventDefault(), l._itemClick(d(this))
        }), d(l.btn).keydown(function (e) {
            var t = e || event;
            switch (t.keyCode) {
                case p:
                case f:
                case c:
                    e.preventDefault(), t.keyCode === c && d(l.btn).hasClass(u + "_open") || l._menuToggle(), d(l.btn).next().find('[role="menuitem"]').first().focus()
            }
        }), l.mobileNav.on("keydown", "." + u + "_item", function (e) {
            switch ((e || event).keyCode) {
                case p:
                    e.preventDefault(), l._itemClick(d(e.target));
                    break;
                case v:
                    e.preventDefault(), d(e.target).parent().hasClass(u + "_collapsed") && l._itemClick(d(e.target)), d(e.target).next().find('[role="menuitem"]').first().focus()
            }
        }), l.mobileNav.on("keydown", '[role="menuitem"]', function (e) {
            switch ((e || event).keyCode) {
                case c:
                    e.preventDefault();
                    var t = (a = (n = d(e.target).parent().parent().children().children('[role="menuitem"]:visible')).index(e.target)) + 1;
                    n.length <= t && (t = 0), n.eq(t).focus();
                    break;
                case _:
                    e.preventDefault();
                    var n, a = (n = d(e.target).parent().parent().children().children('[role="menuitem"]:visible')).index(e.target);
                    n.eq(a - 1).focus();
                    break;
                case h:
                    if (e.preventDefault(), d(e.target).parent().parent().parent().hasClass(u + "_open")) {
                        var i = d(e.target).parent().parent().prev();
                        i.focus(), l._itemClick(i)
                    } else d(e.target).parent().parent().hasClass(u + "_nav") && (l._menuToggle(), d(l.btn).focus());
                    break;
                case m:
                    e.preventDefault(), l._menuToggle(), d(l.btn).focus()
            }
        }), r.allowParentLinks && r.nestedParentLinks && d("." + u + "_item a").click(function (e) {
            e.stopImmediatePropagation()
        })
    }, i.prototype._menuToggle = function (e) {
        var t = this,
            n = t.btn,
            a = t.mobileNav;
        n.hasClass(u + "_collapsed") ? (n.removeClass(u + "_collapsed"), n.addClass(u + "_open")) : (n.removeClass(u + "_open"), n.addClass(u + "_collapsed")), n.addClass(u + "_animating"), t._visibilityToggle(a, n.parent(), !0, n)
    }, i.prototype._itemClick = function (e) {
        var t = this.settings,
            n = e.data("menu");
        n || ((n = {}).arrow = e.children("." + u + "_arrow"), n.ul = e.next("ul"), n.parent = e.parent(), n.parent.hasClass(u + "_parent-link") && (n.parent = e.parent().parent(), n.ul = e.parent().next("ul")), e.data("menu", n)), n.parent.hasClass(u + "_collapsed") ? (n.arrow.html(t.openedSymbol), n.parent.removeClass(u + "_collapsed"), n.parent.addClass(u + "_open")) : (n.arrow.html(t.closedSymbol), n.parent.addClass(u + "_collapsed"), n.parent.removeClass(u + "_open")), n.parent.addClass(u + "_animating"), this._visibilityToggle(n.ul, n.parent, !0, e)
    }, i.prototype._visibilityToggle = function (n, e, t, a, i) {
        function s(e, t) {
            d(e).removeClass(u + "_animating"), d(t).removeClass(u + "_animating"), i || r.afterOpen(e)
        }

        function o(e, t) {
            n.attr("aria-hidden", "true"), c.attr("tabindex", "-1"), l._setVisAttr(n, !0), n.hide(), d(e).removeClass(u + "_animating"), d(t).removeClass(u + "_animating"), i ? "init" == e && r.init() : r.afterClose(e)
        }
        var l = this,
            r = l.settings,
            c = l._getActionItems(n),
            p = 0;
        t && (p = r.duration), n.hasClass(u + "_hidden") ? (n.removeClass(u + "_hidden"), i || r.beforeOpen(a), "jquery" === r.animations ? n.stop(!0, !0).slideDown(p, r.easingOpen, function () {
            s(a, e)
        }) : "velocity" === r.animations && n.velocity("finish").velocity("slideDown", {
            duration: p,
            easing: r.easingOpen,
            complete: function () {
                s(a, e)
            }
        }), n.attr("aria-hidden", "false"), c.attr("tabindex", "0"), l._setVisAttr(n, !1)) : (n.addClass(u + "_hidden"), i || r.beforeClose(a), "jquery" === r.animations ? n.stop(!0, !0).slideUp(p, this.settings.easingClose, function () {
            o(a, e)
        }) : "velocity" === r.animations && n.velocity("finish").velocity("slideUp", {
            duration: p,
            easing: r.easingClose,
            complete: function () {
                o(a, e)
            }
        }))
    }, i.prototype._setVisAttr = function (e, t) {
        var n = this,
            a = e.children("li").children("ul").not("." + u + "_hidden");
        t ? a.each(function () {
            var e = d(this);
            e.attr("aria-hidden", "true"), n._getActionItems(e).attr("tabindex", "-1"), n._setVisAttr(e, t)
        }) : a.each(function () {
            var e = d(this);
            e.attr("aria-hidden", "false"), n._getActionItems(e).attr("tabindex", "0"), n._setVisAttr(e, t)
        })
    }, i.prototype._getActionItems = function (e) {
        var t = e.data("menu");
        if (!t) {
            t = {};
            var n = e.children("li"),
                a = n.find("a");
            t.links = a.add(n.find("." + u + "_item")), e.data("menu", t)
        }
        return t.links
    }, i.prototype._outlines = function (e) {
        e ? d("." + u + "_item, ." + u + "_btn").css("outline", "") : d("." + u + "_item, ." + u + "_btn").css("outline", "none")
    }, i.prototype.toggle = function () {
        this._menuToggle()
    }, i.prototype.open = function () {
        this.btn.hasClass(u + "_collapsed") && this._menuToggle()
    }, i.prototype.close = function () {
        this.btn.hasClass(u + "_open") && this._menuToggle()
    }, d.fn[o] = function (t) {
        var n, a = arguments;
        return void 0 === t || "object" == typeof t ? this.each(function () {
            d.data(this, "plugin_" + o) || d.data(this, "plugin_" + o, new i(this, t))
        }) : "string" == typeof t && "_" !== t[0] && "init" !== t ? (this.each(function () {
            var e = d.data(this, "plugin_" + o);
            e instanceof i && "function" == typeof e[t] && (n = e[t].apply(e, Array.prototype.slice.call(a, 1)))
        }), void 0 !== n ? n : this) : void 0
    }
}(jQuery, document, window);
!
function (B) {
    B.fn.theiaStickySidebar = function (i) {
        var t, o, e, a, d, s;

        function n(i, t) {
            return !0 === i.initialized || !(B("body").width() < i.minWidth) && (o = t, (v = i).initialized = !0, B("head").append(B('<style>.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>')), o.each(function () {
                var i = {};
                if (i.sidebar = B(this), i.options = v || {}, i.container = B(i.options.containerSelector), 0 == i.container.length && (i.container = i.sidebar.parent()), i.sidebar.parents().css("-webkit-transform", "none"), i.sidebar.css({
                        position: "relative",
                        overflow: "visible",
                        "-webkit-box-sizing": "border-box",
                        "-moz-box-sizing": "border-box",
                        "box-sizing": "border-box"
                    }), i.stickySidebar = i.sidebar.find(".theiaStickySidebar"), 0 == i.stickySidebar.length) {
                    var o = /(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;
                    i.sidebar.find("script").filter(function (i, t) {
                        return 0 === t.type.length || t.type.match(o)
                    }).remove(), i.stickySidebar = B("<div>").addClass("theiaStickySidebar").append(i.sidebar.children()), i.sidebar.append(i.stickySidebar)
                }
                i.marginBottom = parseInt(i.sidebar.css("margin-bottom")), i.paddingTop = parseInt(i.sidebar.css("padding-top")), i.paddingBottom = parseInt(i.sidebar.css("padding-bottom"));
                var t, e, a = i.stickySidebar.offset().top,
                    d = i.stickySidebar.outerHeight();

                function k() {
                    i.fixedScrollTop = 0, i.sidebar.css({
                        "min-height": "1px"
                    }), i.stickySidebar.css({
                        position: "static",
                        width: "",
                        transform: "none"
                    })
                }
                i.stickySidebar.css("padding-top", 1), i.stickySidebar.css("padding-bottom", 1), a -= i.stickySidebar.offset().top, d = i.stickySidebar.outerHeight() - d - a, 0 == a ? (i.stickySidebar.css("padding-top", 0), i.stickySidebarPaddingTop = 0) : i.stickySidebarPaddingTop = 1, 0 == d ? (i.stickySidebar.css("padding-bottom", 0), i.stickySidebarPaddingBottom = 0) : i.stickySidebarPaddingBottom = 1, i.previousScrollTop = null, i.fixedScrollTop = 0, k(), i.onScroll = function (i) {
                    if (i.stickySidebar.is(":visible"))
                        if (B("body").width() < i.options.minWidth) k();
                        else {
                            if (i.options.disableOnResponsiveLayouts) {
                                var t = i.sidebar.outerWidth("none" == i.sidebar.css("float"));
                                if (t + 50 > i.container.width()) return void k()
                            }
                            var o, e, a = B(document).scrollTop(),
                                d = "static";
                            if (a >= i.sidebar.offset().top + (i.paddingTop - i.options.additionalMarginTop)) {
                                var s, n = i.paddingTop + v.additionalMarginTop,
                                    r = i.paddingBottom + i.marginBottom + v.additionalMarginBottom,
                                    c = i.sidebar.offset().top,
                                    p = i.sidebar.offset().top + (o = i.container, e = o.height(), o.children().each(function () {
                                        e = Math.max(e, B(this).height())
                                    }), e),
                                    b = 0 + v.additionalMarginTop,
                                    l = i.stickySidebar.outerHeight() + n + r < B(window).height();
                                s = l ? b + i.stickySidebar.outerHeight() : B(window).height() - i.marginBottom - i.paddingBottom - v.additionalMarginBottom;
                                var h = c - a + i.paddingTop,
                                    g = p - a - i.paddingBottom - i.marginBottom,
                                    f = i.stickySidebar.offset().top - a,
                                    S = i.previousScrollTop - a;
                                "fixed" == i.stickySidebar.css("position") && "modern" == i.options.sidebarBehavior && (f += S), "stick-to-top" == i.options.sidebarBehavior && (f = v.additionalMarginTop), "stick-to-bottom" == i.options.sidebarBehavior && (f = s - i.stickySidebar.outerHeight()), f = 0 < S ? Math.min(f, b) : Math.max(f, s - i.stickySidebar.outerHeight()), f = Math.max(f, h), f = Math.min(f, g - i.stickySidebar.outerHeight());
                                var y = i.container.height() == i.stickySidebar.outerHeight();
                                d = !y && f == b || !y && f == s - i.stickySidebar.outerHeight() ? "fixed" : a + f - i.sidebar.offset().top - i.paddingTop <= v.additionalMarginTop ? "static" : "absolute"
                            }
                            if ("fixed" == d) {
                                var m = B(document).scrollLeft();
                                i.stickySidebar.css({
                                    position: "fixed",
                                    width: x(i.stickySidebar) + "px",
                                    transform: "translateY(" + f + "px)",
                                    left: i.sidebar.offset().left + parseInt(i.sidebar.css("padding-left")) - m + "px",
                                    top: "0px"
                                })
                            } else if ("absolute" == d) {
                                var u = {};
                                "absolute" != i.stickySidebar.css("position") && (u.position = "absolute", u.transform = "translateY(" + (a + f - i.sidebar.offset().top - i.stickySidebarPaddingTop - i.stickySidebarPaddingBottom) + "px)", u.top = "0px"), u.width = x(i.stickySidebar) + "px", u.left = "", i.stickySidebar.css(u)
                            } else "static" == d && k();
                            "static" != d && 1 == i.options.updateSidebarHeight && i.sidebar.css({
                                "min-height": i.stickySidebar.outerHeight() + i.stickySidebar.offset().top - i.sidebar.offset().top + i.paddingBottom
                            }), i.previousScrollTop = a
                        }
                }, i.onScroll(i), B(document).scroll((t = i, function () {
                    t.onScroll(t)
                })), B(window).resize((e = i, function () {
                    e.stickySidebar.css({
                        position: "static"
                    }), e.onScroll(e)
                }))
            }), !0);
            var v, o
        }

        function x(i) {
            var t;
            try {
                t = i[0].getBoundingClientRect().width
            } catch (i) {}
            return void 0 === t && (t = i.width()), t
        }(i = B.extend({
            containerSelector: "",
            additionalMarginTop: 0,
            additionalMarginBottom: 0,
            updateSidebarHeight: !0,
            minWidth: 0,
            disableOnResponsiveLayouts: !0,
            sidebarBehavior: "modern"
        }, i)).additionalMarginTop = parseInt(i.additionalMarginTop) || 0, i.additionalMarginBottom = parseInt(i.additionalMarginBottom) || 0, n(t = i, o = this) || (console.log("TSS: Body width smaller than options.minWidth. Init is delayed."), B(document).scroll((d = t, s = o, function (i) {
            var t = n(d, s);
            t && B(this).unbind(i)
        })), B(window).resize((e = t, a = o, function (i) {
            var t = n(e, a);
            t && B(this).unbind(i)
        })))
    }
}(jQuery);
!
function (t) {
    if ("object" == typeof exports && "undefined" != typeof module) module.exports = t();
    else if ("function" == typeof define && define.amd) define([], t);
    else {
        ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).enquire = t()
    }
}(function () {
    return function r(s, u, a) {
        function c(n, t) {
            if (!u[n]) {
                if (!s[n]) {
                    var e = "function" == typeof require && require;
                    if (!t && e) return e(n, !0);
                    if (h) return h(n, !0);
                    var i = new Error("Cannot find module '" + n + "'");
                    throw i.code = "MODULE_NOT_FOUND", i
                }
                var o = u[n] = {
                    exports: {}
                };
                s[n][0].call(o.exports, function (t) {
                    var e = s[n][1][t];
                    return c(e || t)
                }, o, o.exports, r, s, u, a)
            }
            return u[n].exports
        }
        for (var h = "function" == typeof require && require, t = 0; t < a.length; t++) c(a[t]);
        return c
    }({
        1: [function (t, e, n) {
            function i(t, e) {
                this.query = t, this.isUnconditional = e, this.handlers = [], this.mql = window.matchMedia(t);
                var n = this;
                this.listener = function (t) {
                    n.mql = t.currentTarget || t, n.assess()
                }, this.mql.addListener(this.listener)
            }
            var o = t(3),
                r = t(4).each;
            i.prototype = {
                constuctor: i,
                addHandler: function (t) {
                    var e = new o(t);
                    this.handlers.push(e), this.matches() && e.on()
                },
                removeHandler: function (n) {
                    var i = this.handlers;
                    r(i, function (t, e) {
                        if (t.equals(n)) return t.destroy(), !i.splice(e, 1)
                    })
                },
                matches: function () {
                    return this.mql.matches || this.isUnconditional
                },
                clear: function () {
                    r(this.handlers, function (t) {
                        t.destroy()
                    }), this.mql.removeListener(this.listener), this.handlers.length = 0
                },
                assess: function () {
                    var e = this.matches() ? "on" : "off";
                    r(this.handlers, function (t) {
                        t[e]()
                    })
                }
            }, e.exports = i
        }, {
            3: 3,
            4: 4
        }],
        2: [function (t, e, n) {
            function i() {
                if (!window.matchMedia) throw new Error("matchMedia not present, legacy browsers require a polyfill");
                this.queries = {}, this.browserIsIncapable = !window.matchMedia("only all").matches
            }
            var r = t(1),
                o = t(4),
                s = o.each,
                u = o.isFunction,
                a = o.isArray;
            i.prototype = {
                constructor: i,
                register: function (e, t, n) {
                    var i = this.queries,
                        o = n && this.browserIsIncapable;
                    return i[e] || (i[e] = new r(e, o)), u(t) && (t = {
                        match: t
                    }), a(t) || (t = [t]), s(t, function (t) {
                        u(t) && (t = {
                            match: t
                        }), i[e].addHandler(t)
                    }), this
                },
                unregister: function (t, e) {
                    var n = this.queries[t];
                    return n && (e ? n.removeHandler(e) : (n.clear(), delete this.queries[t])), this
                }
            }, e.exports = i
        }, {
            1: 1,
            4: 4
        }],
        3: [function (t, e, n) {
            function i(t) {
                !(this.options = t).deferSetup && this.setup()
            }
            i.prototype = {
                constructor: i,
                setup: function () {
                    this.options.setup && this.options.setup(), this.initialised = !0
                },
                on: function () {
                    !this.initialised && this.setup(), this.options.match && this.options.match()
                },
                off: function () {
                    this.options.unmatch && this.options.unmatch()
                },
                destroy: function () {
                    this.options.destroy ? this.options.destroy() : this.off()
                },
                equals: function (t) {
                    return this.options === t || this.options.match === t
                }
            }, e.exports = i
        }, {}],
        4: [function (t, e, n) {
            e.exports = {
                isFunction: function (t) {
                    return "function" == typeof t
                },
                isArray: function (t) {
                    return "[object Array]" === Object.prototype.toString.apply(t)
                },
                each: function (t, e) {
                    for (var n = 0, i = t.length; n < i && !1 !== e(t[n], n); n++);
                }
            }
        }, {}],
        5: [function (t, e, n) {
            var i = t(2);
            e.exports = new i
        }, {
            2: 2
        }]
    }, {}, [5])(5)
});
!
function (e, i) {
    "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function (t) {
        return i(e, t)
    }) : "object" == typeof module && module.exports ? module.exports = i(e, require("jquery")) : e.jQueryBridget = i(e, e.jQuery)
}(window, function (t, e) {
    "use strict";

    function i(h, o, c) {
        (c = c || e || t.jQuery) && (o.prototype.option || (o.prototype.option = function (t) {
            c.isPlainObject(t) && (this.options = c.extend(!0, this.options, t))
        }), c.fn[h] = function (t) {
            if ("string" == typeof t) {
                var e = u.call(arguments, 1);
                return s = e, a = "$()." + h + '("' + (r = t) + '")', (i = this).each(function (t, e) {
                    var i = c.data(e, h);
                    if (i) {
                        var n = i[r];
                        if (n && "_" != r.charAt(0)) {
                            var o = n.apply(i, s);
                            l = void 0 === l ? o : l
                        } else d(a + " is not a valid method")
                    } else d(h + " not initialized. Cannot call methods, i.e. " + a)
                }), void 0 !== l ? l : i
            }
            var i, r, s, l, a, n;
            return n = t, this.each(function (t, e) {
                var i = c.data(e, h);
                i ? (i.option(n), i._init()) : (i = new o(e, n), c.data(e, h, i))
            }), this
        }, n(c))
    }

    function n(t) {
        !t || t && t.bridget || (t.bridget = i)
    }
    var u = Array.prototype.slice,
        o = t.console,
        d = void 0 === o ?
        function () {} : function (t) {
            o.error(t)
        };
    return n(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 || {},
                n = i[t] = i[t] || [];
            return -1 == n.indexOf(e) && n.push(e), this
        }
    }, e.once = function (t, e) {
        if (t && e) {
            this.on(t, e);
            var i = this._onceEvents = this._onceEvents || {};
            return (i[t] = i[t] || {})[e] = !0, this
        }
    }, e.off = function (t, e) {
        var i = this._events && this._events[t];
        if (i && i.length) {
            var n = i.indexOf(e);
            return -1 != n && i.splice(n, 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 n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) {
                var r = i[o];
                n && n[r] && (this.off(t, r), delete n[r]), r.apply(this, e)
            }
            return this
        }
    }, e.allOff = function () {
        delete this._events, delete this._onceEvents
    }, t
}),
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 i = 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 n = e[i] + "MatchesSelector";
            if (t[n]) return n
        }
    }();
    return function (t, e) {
        return t[i](e)
    }
}),
function (e, i) {
    "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (t) {
        return i(e, t)
    }) : "object" == typeof module && module.exports ? module.exports = i(e, require("desandro-matches-selector")) : e.fizzyUIUtils = i(e, e.matchesSelector)
}(window, function (h, r) {
    var c = {
            extend: function (t, e) {
                for (var i in e) t[i] = e[i];
                return t
            },
            modulo: function (t, e) {
                return (t % e + e) % e
            },
            makeArray: function (t) {
                var e = [];
                if (Array.isArray(t)) e = t;
                else if (t && "object" == typeof t && "number" == typeof t.length)
                    for (var i = 0; i < t.length; i++) e.push(t[i]);
                else e.push(t);
                return e
            },
            removeFrom: function (t, e) {
                var i = t.indexOf(e); - 1 != i && t.splice(i, 1)
            },
            getParent: function (t, e) {
                for (; t.parentNode && t != document.body;)
                    if (t = t.parentNode, r(t, e)) return t
            },
            getQueryElement: function (t) {
                return "string" == typeof t ? document.querySelector(t) : t
            },
            handleEvent: function (t) {
                var e = "on" + t.type;
                this[e] && this[e](t)
            },
            filterFindElements: function (t, n) {
                t = c.makeArray(t);
                var o = [];
                return t.forEach(function (t) {
                    if (t instanceof HTMLElement) {
                        if (!n) return void o.push(t);
                        r(t, n) && o.push(t);
                        for (var e = t.querySelectorAll(n), i = 0; i < e.length; i++) o.push(e[i])
                    }
                }), o
            },
            debounceMethod: function (t, e, n) {
                var o = t.prototype[e],
                    r = e + "Timeout";
                t.prototype[e] = function () {
                    var t = this[r];
                    t && clearTimeout(t);
                    var e = arguments,
                        i = this;
                    this[r] = setTimeout(function () {
                        o.apply(i, e), delete i[r]
                    }, n || 100)
                }
            },
            docReady: function (t) {
                var e = document.readyState;
                "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t)
            },
            toDashed: function (t) {
                return t.replace(/(.)([A-Z])/g, function (t, e, i) {
                    return e + "-" + i
                }).toLowerCase()
            }
        },
        u = h.console;
    return c.htmlInit = function (l, a) {
        c.docReady(function () {
            var t = c.toDashed(a),
                o = "data-" + t,
                e = document.querySelectorAll("[" + o + "]"),
                i = document.querySelectorAll(".js-" + t),
                n = c.makeArray(e).concat(c.makeArray(i)),
                r = o + "-options",
                s = h.jQuery;
            n.forEach(function (e) {
                var t, i = e.getAttribute(o) || e.getAttribute(r);
                try {
                    t = i && JSON.parse(i)
                } catch (t) {
                    return void(u && u.error("Error parsing " + o + " on " + e.className + ": " + t))
                }
                var n = new l(e, t);
                s && s.data(e, a, n)
            })
        })
    }, c
}),
function (i, n) {
    "function" == typeof define && define.amd ? define("infinite-scroll/js/core", ["ev-emitter/ev-emitter", "fizzy-ui-utils/utils"], function (t, e) {
        return n(i, t, e)
    }) : "object" == typeof module && module.exports ? module.exports = n(i, require("ev-emitter"), require("fizzy-ui-utils")) : i.InfiniteScroll = n(i, i.EvEmitter, i.fizzyUIUtils)
}(window, function (e, t, o) {
    function r(t, e) {
        var i = o.getQueryElement(t);
        if (i) {
            if ((t = i).infiniteScrollGUID) {
                var n = l[t.infiniteScrollGUID];
                return n.option(e), n
            }
            this.element = t, this.options = o.extend({}, r.defaults), this.option(e), s && (this.$element = s(this.element)), this.create()
        } else console.error("Bad element for InfiniteScroll: " + (i || t))
    }
    var s = e.jQuery,
        l = {};
    r.defaults = {}, r.create = {}, r.destroy = {};
    var i = r.prototype;
    o.extend(i, t.prototype);
    var n = 0;
    i.create = function () {
        var t = this.guid = ++n;
        if (this.element.infiniteScrollGUID = t, (l[t] = this).pageIndex = 1, this.loadCount = 0, this.updateGetPath(), this.getPath)
            for (var e in this.updateGetAbsolutePath(), this.log("initialized", [this.element.className]), this.callOnInit(), r.create) r.create[e].call(this);
        else console.error("Disabling InfiniteScroll")
    }, i.option = function (t) {
        o.extend(this.options, t)
    }, i.callOnInit = function () {
        var t = this.options.onInit;
        t && t.call(this, this)
    }, i.dispatchEvent = function (t, e, i) {
        this.log(t, i);
        var n = e ? [e].concat(i) : i;
        if (this.emitEvent(t, n), s && this.$element) {
            var o = t += ".infiniteScroll";
            if (e) {
                var r = s.Event(e);
                r.type = t, o = r
            }
            this.$element.trigger(o, i)
        }
    };
    var a = {
        initialized: function (t) {
            return "on " + t
        },
        request: function (t) {
            return "URL: " + t
        },
        load: function (t, e) {
            return (t.title || "") + ". URL: " + e
        },
        error: function (t, e) {
            return t + ". URL: " + e
        },
        append: function (t, e, i) {
            return i.length + " items. URL: " + e
        },
        last: function (t, e) {
            return "URL: " + e
        },
        history: function (t, e) {
            return "URL: " + e
        },
        pageIndex: function (t, e) {
            return "current page determined to be: " + t + " from " + e
        }
    };
    i.log = function (t, e) {
        if (this.options.debug) {
            var i = "[InfiniteScroll] " + t,
                n = a[t];
            n && (i += ". " + n.apply(this, e)), console.log(i)
        }
    }, i.updateMeasurements = function () {
        this.windowHeight = e.innerHeight;
        var t = this.element.getBoundingClientRect();
        this.top = t.top + e.pageYOffset
    }, i.updateScroller = function () {
        var t = this.options.elementScroll;
        if (t) {
            if (this.scroller = !0 === t ? this.element : o.getQueryElement(t), !this.scroller) throw "Unable to find elementScroll: " + t
        } else this.scroller = e
    }, i.updateGetPath = function () {
        var t = this.options.path;
        if (t) {
            var e = typeof t;
            if ("function" != e) return "string" == e && t.match("{{#}}") ? void this.updateGetPathTemplate(t) : void this.updateGetPathSelector(t);
            this.getPath = t
        } else console.error("InfiniteScroll path option required. Set as: " + t)
    }, i.updateGetPathTemplate = function (e) {
        this.getPath = function () {
            var t = this.pageIndex + 1;
            return e.replace("{{#}}", t)
        }.bind(this);
        var t = e.replace("{{#}}", "(\\d\\d?\\d?)"),
            i = new RegExp(t),
            n = location.href.match(i);
        n && (this.pageIndex = parseInt(n[1], 10), this.log("pageIndex", this.pageIndex, "template string"))
    };
    var h = [/^(.*?\/?page\/?)(\d\d?\d?)(.*?$)/, /^(.*?\/?\?page=)(\d\d?\d?)(.*?$)/, /(.*?)(\d\d?\d?)(?!.*\d)(.*?$)/];
    return i.updateGetPathSelector = function (t) {
        var e = document.querySelector(t);
        if (e) {
            for (var i, n, o = e.getAttribute("href"), r = 0; o && r < h.length; r++) {
                n = h[r];
                var s = o.match(n);
                if (s) {
                    i = s.slice(1);
                    break
                }
            }
            return i ? (this.isPathSelector = !0, this.getPath = function () {
                var t = this.pageIndex + 1;
                return i[0] + t + i[2]
            }.bind(this), this.pageIndex = parseInt(i[1], 10) - 1, void this.log("pageIndex", [this.pageIndex, "next link"])) : void console.error("InfiniteScroll unable to parse next link href: " + o)
        }
        console.error("Bad InfiniteScroll path option. Next link not found: " + t)
    }, i.updateGetAbsolutePath = function () {
        var t = this.getPath();
        if (t.match(/^http/) || t.match(/^\//)) this.getAbsolutePath = this.getPath;
        else {
            var e = location.pathname,
                i = e.substring(0, e.lastIndexOf("/"));
            this.getAbsolutePath = function () {
                return i + "/" + this.getPath()
            }
        }
    }, r.create.hideNav = function () {
        var t = o.getQueryElement(this.options.hideNav);
        t && (t.style.display = "none", this.nav = t)
    }, r.destroy.hideNav = function () {
        this.nav && (this.nav.style.display = "")
    }, i.destroy = function () {
        for (var t in this.allOff(), r.destroy) r.destroy[t].call(this);
        delete this.element.infiniteScrollGUID, delete l[this.guid]
    }, r.throttle = function (n, o) {
        var r, s;
        return o = o || 200,
            function () {
                var t = +new Date,
                    e = arguments,
                    i = function () {
                        r = t, n.apply(this, e)
                    }.bind(this);
                r && t < r + o ? (clearTimeout(s), s = setTimeout(i, o)) : i()
            }
    }, r.data = function (t) {
        var e = (t = o.getQueryElement(t)) && t.infiniteScrollGUID;
        return e && l[e]
    }, r.setJQuery = function (t) {
        s = t
    }, o.htmlInit(r, "infinite-scroll"), s && s.bridget && s.bridget("infiniteScroll", r), r
}),
function (e, i) {
    "function" == typeof define && define.amd ? define("infinite-scroll/js/page-load", ["./core"], function (t) {
        return i(e, t)
    }) : "object" == typeof module && module.exports ? module.exports = i(e, require("./core")) : i(e, e.InfiniteScroll)
}(window, function (n, o) {
    function s(t) {
        for (var e = document.createDocumentFragment(), i = 0; t && i < t.length; i++) e.appendChild(t[i]);
        return e
    }

    function r(t, e) {
        for (var i = t.attributes, n = 0; n < i.length; n++) {
            var o = i[n];
            e.setAttribute(o.name, o.value)
        }
    }
    var t = o.prototype;
    return o.defaults.loadOnScroll = !0, o.defaults.checkLastPage = !0, o.defaults.responseType = "document", o.create.pageLoad = function () {
        this.canLoad = !0, this.on("scrollThreshold", this.onScrollThresholdLoad), this.on("load", this.checkLastPage), this.options.outlayer && this.on("append", this.onAppendOutlayer)
    }, t.onScrollThresholdLoad = function () {
        this.options.loadOnScroll && this.loadNextPage()
    }, t.loadNextPage = function () {
        if (!this.isLoading && this.canLoad) {
            var e = this.getAbsolutePath();
            this.isLoading = !0;
            var t = function (t) {
                    this.onPageLoad(t, e)
                }.bind(this),
                i = function (t) {
                    this.onPageError(t, e)
                }.bind(this);
            n = e, o = this.options.responseType, r = t, s = i, (l = new XMLHttpRequest).open("GET", n, !0), l.responseType = o || "", l.setRequestHeader("X-Requested-With", "XMLHttpRequest"), l.onload = function () {
                if (200 == l.status) r(l.response);
                else {
                    var t = new Error(l.statusText);
                    s(t)
                }
            }, l.onerror = function () {
                var t = new Error("Network error requesting " + n);
                s(t)
            }, l.send(), this.dispatchEvent("request", null, [e])
        }
        var n, o, r, s, l
    }, t.onPageLoad = function (t, e) {
        return this.options.append || (this.isLoading = !1), this.pageIndex++, this.loadCount++, this.dispatchEvent("load", null, [t, e]), this.appendNextPage(t, e), t
    }, t.appendNextPage = function (t, e) {
        var i = this.options.append;
        if ("document" == this.options.responseType && i) {
            var n = t.querySelectorAll(i),
                o = s(n),
                r = function () {
                    this.appendItems(n, o), this.isLoading = !1, this.dispatchEvent("append", null, [t, e, n])
                }.bind(this);
            this.options.outlayer ? this.appendOutlayerItems(o, r) : r()
        }
    }, t.appendItems = function (t, e) {
        t && t.length && (function (t) {
            for (var e = t.querySelectorAll("script"), i = 0; i < e.length; i++) {
                var n = e[i],
                    o = document.createElement("script");
                r(n, o), n.parentNode.replaceChild(o, n)
            }
        }(e = e || s(t)), this.element.appendChild(e))
    }, t.appendOutlayerItems = function (t, e) {
        var i = o.imagesLoaded || n.imagesLoaded;
        return i ? void i(t, e) : (console.error("[InfiniteScroll] imagesLoaded required for outlayer option"), void(this.isLoading = !1))
    }, t.onAppendOutlayer = function (t, e, i) {
        this.options.outlayer.appended(i)
    }, t.checkLastPage = function (t, e) {
        var i = this.options.checkLastPage;
        if (i) {
            var n, o = this.options.path;
            if ("function" == typeof o)
                if (!this.getPath()) return void this.lastPageReached(t, e);
            if ("string" == typeof i ? n = i : this.isPathSelector && (n = o), n && t.querySelector) t.querySelector(n) || this.lastPageReached(t, e)
        }
    }, t.lastPageReached = function (t, e) {
        this.canLoad = !1, this.dispatchEvent("last", null, [t, e])
    }, t.onPageError = function (t, e) {
        return this.isLoading = !1, this.canLoad = !1, this.dispatchEvent("error", null, [t, e]), t
    }, o.create.prefill = function () {
        if (this.options.prefill) {
            var t = this.options.append;
            if (!t) return void console.error("append option required for prefill. Set as :" + t);
            this.updateMeasurements(), this.updateScroller(), this.isPrefilling = !0, this.on("append", this.prefill), this.once("error", this.stopPrefill), this.once("last", this.stopPrefill), this.prefill()
        }
    }, t.prefill = function () {
        var t = this.getPrefillDistance();
        this.isPrefilling = 0 <= t, this.isPrefilling ? (this.log("prefill"), this.loadNextPage()) : this.stopPrefill()
    }, t.getPrefillDistance = function () {
        return this.options.elementScroll ? this.scroller.clientHeight - this.scroller.scrollHeight : this.windowHeight - this.element.clientHeight
    }, t.stopPrefill = function () {
        console.log("stopping prefill"), this.off("append", this.prefill)
    }, o
}),
function (i, n) {
    "function" == typeof define && define.amd ? define("infinite-scroll/js/scroll-watch", ["./core", "fizzy-ui-utils/utils"], function (t, e) {
        return n(i, t, e)
    }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./core"), require("fizzy-ui-utils")) : n(i, i.InfiniteScroll, i.fizzyUIUtils)
}(window, function (i, t, e) {
    var n = t.prototype;
    return t.defaults.scrollThreshold = 400, t.create.scrollWatch = function () {
        this.pageScrollHandler = this.onPageScroll.bind(this), this.resizeHandler = this.onResize.bind(this);
        var t = this.options.scrollThreshold;
        (t || 0 === t) && this.enableScrollWatch()
    }, t.destroy.scrollWatch = function () {
        this.disableScrollWatch()
    }, n.enableScrollWatch = function () {
        this.isScrollWatching || (this.isScrollWatching = !0, this.updateMeasurements(), this.updateScroller(), this.on("last", this.disableScrollWatch), this.bindScrollWatchEvents(!0))
    }, n.disableScrollWatch = function () {
        this.isScrollWatching && (this.bindScrollWatchEvents(!1), delete this.isScrollWatching)
    }, n.bindScrollWatchEvents = function (t) {
        var e = t ? "addEventListener" : "removeEventListener";
        this.scroller[e]("scroll", this.pageScrollHandler), i[e]("resize", this.resizeHandler)
    }, n.onPageScroll = t.throttle(function () {
        this.getBottomDistance() <= this.options.scrollThreshold && this.dispatchEvent("scrollThreshold")
    }), n.getBottomDistance = function () {
        return this.options.elementScroll ? this.getElementBottomDistance() : this.getWindowBottomDistance()
    }, n.getWindowBottomDistance = function () {
        return this.top + this.element.clientHeight - (i.pageYOffset + this.windowHeight)
    }, n.getElementBottomDistance = function () {
        return this.scroller.scrollHeight - (this.scroller.scrollTop + this.scroller.clientHeight)
    }, n.onResize = function () {
        this.updateMeasurements()
    }, e.debounceMethod(t, "onResize", 150), t
}),
function (i, n) {
    "function" == typeof define && define.amd ? define("infinite-scroll/js/history", ["./core", "fizzy-ui-utils/utils"], function (t, e) {
        return n(i, t, e)
    }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./core"), require("fizzy-ui-utils")) : n(i, i.InfiniteScroll, i.fizzyUIUtils)
}(window, function (n, t, e) {
    var i = t.prototype;
    t.defaults.history = "replace";
    var r = document.createElement("a");
    return t.create.history = function () {
        if (this.options.history) return r.href = this.getAbsolutePath(), (r.origin || r.protocol + "//" + r.host) == location.origin ? void(this.options.append ? this.createHistoryAppend() : this.createHistoryPageLoad()) : void console.error("[InfiniteScroll] cannot set history with different origin: " + r.origin + " on " + location.origin + " . History behavior disabled.")
    }, i.createHistoryAppend = function () {
        this.updateMeasurements(), this.updateScroller(), this.scrollPages = [{
            top: 0,
            path: location.href,
            title: document.title
        }], this.scrollPageIndex = 0, this.scrollHistoryHandler = this.onScrollHistory.bind(this), this.unloadHandler = this.onUnload.bind(this), this.scroller.addEventListener("scroll", this.scrollHistoryHandler), this.on("append", this.onAppendHistory), this.bindHistoryAppendEvents(!0)
    }, i.bindHistoryAppendEvents = function (t) {
        var e = t ? "addEventListener" : "removeEventListener";
        this.scroller[e]("scroll", this.scrollHistoryHandler), n[e]("unload", this.unloadHandler)
    }, i.createHistoryPageLoad = function () {
        this.on("load", this.onPageLoadHistory)
    }, t.destroy.history = i.destroyHistory = function () {
        this.options.history && this.options.append && this.bindHistoryAppendEvents(!1)
    }, i.onAppendHistory = function (t, e, i) {
        var n = i[0],
            o = this.getElementScrollY(n);
        r.href = e, this.scrollPages.push({
            top: o,
            path: r.href,
            title: t.title
        })
    }, i.getElementScrollY = function (t) {
        return this.options.elementScroll ? this.getElementElementScrollY(t) : this.getElementWindowScrollY(t)
    }, i.getElementWindowScrollY = function (t) {
        return t.getBoundingClientRect().top + n.pageYOffset
    }, i.getElementElementScrollY = function (t) {
        return t.offsetTop - this.top
    }, i.onScrollHistory = function () {
        for (var t, e, i = this.getScrollViewY(), n = 0; n < this.scrollPages.length; n++) {
            var o = this.scrollPages[n];
            if (o.top >= i) break;
            t = n, e = o
        }
        t != this.scrollPageIndex && (this.scrollPageIndex = t, this.setHistory(e.title, e.path))
    }, e.debounceMethod(t, "onScrollHistory", 150), i.getScrollViewY = function () {
        return this.options.elementScroll ? this.scroller.scrollTop + this.scroller.clientHeight / 2 : n.pageYOffset + this.windowHeight / 2
    }, i.setHistory = function (t, e) {
        var i = this.options.history;
        i && history[i + "State"] && (history[i + "State"](null, t, e), this.options.historyTitle && (document.title = t), this.dispatchEvent("history", null, [t, e]))
    }, i.onUnload = function () {
        var t = this.scrollPageIndex;
        if (0 !== t) {
            var e = this.scrollPages[t],
                i = n.pageYOffset - e.top + this.top;
            this.destroyHistory(), scrollTo(0, i)
        }
    }, i.onPageLoadHistory = function (t, e) {
        this.setHistory(t.title, e)
    }, t
}),
function (i, n) {
    "function" == typeof define && define.amd ? define("infinite-scroll/js/button", ["./core", "fizzy-ui-utils/utils"], function (t, e) {
        return n(i, t, e)
    }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./core"), require("fizzy-ui-utils")) : n(i, i.InfiniteScroll, i.fizzyUIUtils)
}(window, function (t, e, i) {
    function n(t, e) {
        this.element = t, this.infScroll = e, this.clickHandler = this.onClick.bind(this), this.element.addEventListener("click", this.clickHandler), e.on("request", this.disable.bind(this)), e.on("load", this.enable.bind(this)), e.on("error", this.hide.bind(this)), e.on("last", this.hide.bind(this))
    }
    return e.create.button = function () {
        var t = i.getQueryElement(this.options.button);
        t && (this.button = new n(t, this))
    }, e.destroy.button = function () {
        this.button && this.button.destroy()
    }, n.prototype.onClick = function (t) {
        t.preventDefault(), this.infScroll.loadNextPage()
    }, n.prototype.enable = function () {
        this.element.removeAttribute("disabled")
    }, n.prototype.disable = function () {
        this.element.disabled = "disabled"
    }, n.prototype.hide = function () {
        this.element.style.display = "none"
    }, n.prototype.destroy = function () {
        this.element.removeEventListener("click", this.clickHandler)
    }, e.Button = n, e
}),
function (i, n) {
    "function" == typeof define && define.amd ? define("infinite-scroll/js/status", ["./core", "fizzy-ui-utils/utils"], function (t, e) {
        return n(i, t, e)
    }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./core"), require("fizzy-ui-utils")) : n(i, i.InfiniteScroll, i.fizzyUIUtils)
}(window, function (t, e, i) {
    function n(t) {
        r(t, "none")
    }

    function o(t) {
        r(t, "block")
    }

    function r(t, e) {
        t && (t.style.display = e)
    }
    var s = e.prototype;
    return e.create.status = function () {
        var t = i.getQueryElement(this.options.status);
        t && (this.statusElement = t, this.statusEventElements = {
            request: t.querySelector(".infinite-scroll-request"),
            error: t.querySelector(".infinite-scroll-error"),
            last: t.querySelector(".infinite-scroll-last")
        }, this.on("request", this.showRequestStatus), this.on("error", this.showErrorStatus), this.on("last", this.showLastStatus), this.bindHideStatus("on"))
    }, s.bindHideStatus = function (t) {
        var e = this.options.append ? "append" : "load";
        this[t](e, this.hideAllStatus)
    }, s.showRequestStatus = function () {
        this.showStatus("request")
    }, s.showErrorStatus = function () {
        this.showStatus("error")
    }, s.showLastStatus = function () {
        this.showStatus("last"), this.bindHideStatus("off")
    }, s.showStatus = function (t) {
        o(this.statusElement), this.hideStatusEventElements(), o(this.statusEventElements[t])
    }, s.hideAllStatus = function () {
        n(this.statusElement), this.hideStatusEventElements()
    }, s.hideStatusEventElements = function () {
        for (var t in this.statusEventElements) {
            n(this.statusEventElements[t])
        }
    }, e
}),
function (t, e) {
    "function" == typeof define && define.amd ? define(["infinite-scroll/js/core", "infinite-scroll/js/page-load", "infinite-scroll/js/scroll-watch", "infinite-scroll/js/history", "infinite-scroll/js/button", "infinite-scroll/js/status"], e) : "object" == typeof module && module.exports && (module.exports = e(require("./core"), require("./page-load"), require("./scroll-watch"), require("./history"), require("./button"), require("./status")))
}(window, function (t) {
    return t
}),
function (e, i) {
    "use strict";
    "function" == typeof define && define.amd ? define("imagesloaded/imagesloaded", ["ev-emitter/ev-emitter"], function (t) {
        return i(e, t)
    }) : "object" == typeof module && module.exports ? module.exports = i(e, require("ev-emitter")) : e.imagesLoaded = i(e, e.EvEmitter)
}("undefined" != typeof window ? window : this, function (e, t) {
    function r(t, e) {
        for (var i in e) t[i] = e[i];
        return t
    }

    function s(t, e, i) {
        if (!(this instanceof s)) return new s(t, e, i);
        var n, o = t;
        return "string" == typeof t && (o = document.querySelectorAll(t)), o ? (this.elements = (n = o, Array.isArray(n) ? n : "object" == typeof n && "number" == typeof n.length ? h.call(n) : [n]), this.options = r({}, this.options), "function" == typeof e ? i = e : r(this.options, e), i && this.on("always", i), this.getImages(), l && (this.jqDeferred = new l.Deferred), void setTimeout(this.check.bind(this))) : void a.error("Bad element for imagesLoaded " + (o || t))
    }

    function i(t) {
        this.img = t
    }

    function n(t, e) {
        this.url = t, this.element = e, this.img = new Image
    }
    var l = e.jQuery,
        a = e.console,
        h = Array.prototype.slice;
    (s.prototype = Object.create(t.prototype)).options = {}, s.prototype.getImages = function () {
        this.images = [], this.elements.forEach(this.addElementImages, this)
    }, s.prototype.addElementImages = function (t) {
        "IMG" == t.nodeName && this.addImage(t), !0 === this.options.background && this.addElementBackgroundImages(t);
        var e = t.nodeType;
        if (e && c[e]) {
            for (var i = t.querySelectorAll("img"), n = 0; n < i.length; n++) {
                var o = i[n];
                this.addImage(o)
            }
            if ("string" == typeof this.options.background) {
                var r = t.querySelectorAll(this.options.background);
                for (n = 0; n < r.length; n++) {
                    var s = r[n];
                    this.addElementBackgroundImages(s)
                }
            }
        }
    };
    var c = {
        1: !0,
        9: !0,
        11: !0
    };
    return s.prototype.addElementBackgroundImages = function (t) {
        var e = getComputedStyle(t);
        if (e)
            for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(e.backgroundImage); null !== n;) {
                var o = n && n[2];
                o && this.addBackground(o, t), n = i.exec(e.backgroundImage)
            }
    }, s.prototype.addImage = function (t) {
        var e = new i(t);
        this.images.push(e)
    }, s.prototype.addBackground = function (t, e) {
        var i = new n(t, e);
        this.images.push(i)
    }, s.prototype.check = function () {
        function e(t, e, i) {
            setTimeout(function () {
                n.progress(t, e, i)
            })
        }
        var n = 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()
    }, s.prototype.progress = function (t, e, i) {
        this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount == this.images.length && this.complete(), this.options.debug && a && a.log("progress: " + i, t, e)
    }, s.prototype.complete = function () {
        var t = this.hasAnyBroken ? "fail" : "done";
        if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
            var e = this.hasAnyBroken ? "reject" : "resolve";
            this.jqDeferred[e](this)
        }
    }, (i.prototype = Object.create(t.prototype)).check = function () {
        return this.getIsImageComplete() ? 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))
    }, i.prototype.getIsImageComplete = function () {
        return this.img.complete && this.img.naturalWidth
    }, i.prototype.confirm = function (t, e) {
        this.isLoaded = t, this.emitEvent("progress", [this, this.img, e])
    }, i.prototype.handleEvent = function (t) {
        var e = "on" + t.type;
        this[e] && this[e](t)
    }, i.prototype.onload = function () {
        this.confirm(!0, "onload"), this.unbindEvents()
    }, i.prototype.onerror = function () {
        this.confirm(!1, "onerror"), this.unbindEvents()
    }, i.prototype.unbindEvents = function () {
        this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
    }, (n.prototype = Object.create(i.prototype)).check = function () {
        this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url, this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents())
    }, n.prototype.unbindEvents = function () {
        this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
    }, n.prototype.confirm = function (t, e) {
        this.isLoaded = t, this.emitEvent("progress", [this, this.element, e])
    }, s.makeJQueryPlugin = function (t) {
        (t = t || e.jQuery) && ((l = t).fn.imagesLoaded = function (t, e) {
            return new s(this, t, e).jqDeferred.promise(l(this))
        })
    }, s.makeJQueryPlugin(), s
});
!
function (a) {
    "use strict";
    a.fn.fitVids = function (t) {
        var i = {
            customSelector: null,
            ignore: null
        };
        if (!document.getElementById("fit-vids-style")) {
            var e = document.head || document.getElementsByTagName("head")[0],
                r = document.createElement("div");
            r.innerHTML = '<p>x</p><style id="fit-vids-style">.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>', e.appendChild(r.childNodes[1])
        }
        return t && a.extend(i, t), this.each(function () {
            var t = ['iframe[src*="player.vimeo.com"]', 'iframe[src*="youtube.com"]', 'iframe[src*="youtube-nocookie.com"]', 'iframe[src*="kickstarter.com"][src*="video.html"]', "object", "embed"];
            i.customSelector && t.push(i.customSelector);
            var r = ".fitvidsignore";
            i.ignore && (r = r + ", " + i.ignore);
            var e = a(this).find(t.join(","));
            (e = (e = e.not("object object")).not(r)).each(function () {
                var t = a(this);
                if (!(0 < t.parents(r).length || "embed" === this.tagName.toLowerCase() && t.parent("object").length || t.parent(".fluid-width-video-wrapper").length)) {
                    t.css("height") || t.css("width") || !isNaN(t.attr("height")) && !isNaN(t.attr("width")) || (t.attr("height", 9), t.attr("width", 16));
                    var e = ("object" === this.tagName.toLowerCase() || t.attr("height") && !isNaN(parseInt(t.attr("height"), 10)) ? parseInt(t.attr("height"), 10) : t.height()) / (isNaN(parseInt(t.attr("width"), 10)) ? t.width() : parseInt(t.attr("width"), 10));
                    if (!t.attr("name")) {
                        var i = "fitvid" + a.fn.fitVids._count;
                        t.attr("name", i), a.fn.fitVids._count++
                    }
                    t.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top", 100 * e + "%"), t.removeAttr("height").removeAttr("width")
                }
            })
        })
    }, a.fn.fitVids._count = 0
}(window.jQuery || window.Zepto);
!
function (h, i, n, o) {
    function l(t, e) {
        this.settings = null, this.options = h.extend({}, l.Defaults, e), this.$element = h(t), this._handlers = {}, this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._widths = [], this._invalidated = {}, this._pipe = [], this._drag = {
            time: null,
            target: null,
            pointer: null,
            stage: {
                start: null,
                current: null
            },
            direction: null
        }, this._states = {
            current: {},
            tags: {
                initializing: ["busy"],
                animating: ["busy"],
                dragging: ["interacting"]
            }
        }, h.each(["onResize", "onThrottledResize"], h.proxy(function (t, e) {
            this._handlers[e] = h.proxy(this[e], this)
        }, this)), h.each(l.Plugins, h.proxy(function (t, e) {
            this._plugins[t.charAt(0).toLowerCase() + t.slice(1)] = new e(this)
        }, this)), h.each(l.Workers, h.proxy(function (t, e) {
            this._pipe.push({
                filter: e.filter,
                run: h.proxy(e.run, this)
            })
        }, this)), this.setup(), this.initialize()
    }
    l.Defaults = {
        items: 3,
        loop: !1,
        center: !1,
        rewind: !1,
        mouseDrag: !0,
        touchDrag: !0,
        pullDrag: !0,
        freeDrag: !1,
        margin: 0,
        stagePadding: 0,
        merge: !1,
        mergeFit: !0,
        autoWidth: !1,
        startPosition: 0,
        rtl: !1,
        smartSpeed: 250,
        fluidSpeed: !1,
        dragEndSpeed: !1,
        responsive: {},
        responsiveRefreshRate: 200,
        responsiveBaseElement: i,
        fallbackEasing: "swing",
        info: !1,
        nestedItemSelector: !1,
        itemElement: "div",
        stageElement: "div",
        refreshClass: "owl-refresh",
        loadedClass: "owl-loaded",
        loadingClass: "owl-loading",
        rtlClass: "owl-rtl",
        responsiveClass: "owl-responsive",
        dragClass: "owl-drag",
        itemClass: "owl-item",
        stageClass: "owl-stage",
        stageOuterClass: "owl-stage-outer",
        grabClass: "owl-grab"
    }, l.Width = {
        Default: "default",
        Inner: "inner",
        Outer: "outer"
    }, l.Type = {
        Event: "event",
        State: "state"
    }, l.Plugins = {}, l.Workers = [{
        filter: ["width", "settings"],
        run: function () {
            this._width = this.$element.width()
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function (t) {
            t.current = this._items && this._items[this.relative(this._current)]
        }
    }, {
        filter: ["items", "settings"],
        run: function () {
            this.$stage.children(".cloned").remove()
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function (t) {
            var e = this.settings.margin || "",
                i = !this.settings.autoWidth,
                s = this.settings.rtl,
                n = {
                    width: "auto",
                    "margin-left": s ? e : "",
                    "margin-right": s ? "" : e
                };
            !i && this.$stage.children().css(n), t.css = n
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function (t) {
            var e = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
                i = null,
                s = this._items.length,
                n = !this.settings.autoWidth,
                o = [];
            for (t.items = {
                    merge: !1,
                    width: e
                }; s--;) i = this._mergers[s], i = this.settings.mergeFit && Math.min(i, this.settings.items) || i, t.items.merge = 1 < i || t.items.merge, o[s] = n ? e * i : this._items[s].width();
            this._widths = o
        }
    }, {
        filter: ["items", "settings"],
        run: function () {
            var t = [],
                e = this._items,
                i = this.settings,
                s = Math.max(2 * i.items, 4),
                n = 2 * Math.ceil(e.length / 2),
                o = i.loop && e.length ? i.rewind ? s : Math.max(s, n) : 0,
                r = "",
                a = "";
            for (o /= 2; o--;) t.push(this.normalize(t.length / 2, !0)), r += e[t[t.length - 1]][0].outerHTML, t.push(this.normalize(e.length - 1 - (t.length - 1) / 2, !0)), a = e[t[t.length - 1]][0].outerHTML + a;
            this._clones = t, h(r).addClass("cloned").appendTo(this.$stage), h(a).addClass("cloned").prependTo(this.$stage)
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function () {
            for (var t = this.settings.rtl ? 1 : -1, e = this._clones.length + this._items.length, i = -1, s = 0, n = 0, o = []; ++i < e;) s = o[i - 1] || 0, n = this._widths[this.relative(i)] + this.settings.margin, o.push(s + n * t);
            this._coordinates = o
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function () {
            var t = this.settings.stagePadding,
                e = this._coordinates,
                i = {
                    width: Math.ceil(Math.abs(e[e.length - 1])) + 2 * t,
                    "padding-left": t || "",
                    "padding-right": t || ""
                };
            this.$stage.css(i)
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function (t) {
            var e = this._coordinates.length,
                i = !this.settings.autoWidth,
                s = this.$stage.children();
            if (i && t.items.merge)
                for (; e--;) t.css.width = this._widths[this.relative(e)], s.eq(e).css(t.css);
            else i && (t.css.width = t.items.width, s.css(t.css))
        }
    }, {
        filter: ["items"],
        run: function () {
            this._coordinates.length < 1 && this.$stage.removeAttr("style")
        }
    }, {
        filter: ["width", "items", "settings"],
        run: function (t) {
            t.current = t.current ? this.$stage.children().index(t.current) : 0, t.current = Math.max(this.minimum(), Math.min(this.maximum(), t.current)), this.reset(t.current)
        }
    }, {
        filter: ["position"],
        run: function () {
            this.animate(this.coordinates(this._current))
        }
    }, {
        filter: ["width", "position", "items", "settings"],
        run: function () {
            var t, e, i, s, n = this.settings.rtl ? 1 : -1,
                o = 2 * this.settings.stagePadding,
                r = this.coordinates(this.current()) + o,
                a = r + this.width() * n,
                h = [];
            for (i = 0, s = this._coordinates.length; i < s; i++) t = this._coordinates[i - 1] || 0, e = Math.abs(this._coordinates[i]) + o * n, (this.op(t, "<=", r) && this.op(t, ">", a) || this.op(e, "<", r) && this.op(e, ">", a)) && h.push(i);
            this.$stage.children(".active").removeClass("active"), this.$stage.children(":eq(" + h.join("), :eq(") + ")").addClass("active"), this.settings.center && (this.$stage.children(".center").removeClass("center"), this.$stage.children().eq(this.current()).addClass("center"))
        }
    }], l.prototype.initialize = function () {
        var t, e, i;
        (this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth && !this.is("pre-loading")) && (t = this.$element.find("img"), e = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : o, i = this.$element.children(e).width(), t.length && i <= 0 && this.preloadAutoWidthImages(t));
        this.$element.addClass(this.options.loadingClass), this.$stage = h("<" + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>').wrap('<div class="' + this.settings.stageOuterClass + '"/>'), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this.$element.is(":visible") ? this.refresh() : this.invalidate("width"), this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass), this.registerEventHandlers(), this.leave("initializing"), this.trigger("initialized")
    }, l.prototype.setup = function () {
        var e = this.viewport(),
            t = this.options.responsive,
            i = -1,
            s = null;
        t ? (h.each(t, function (t) {
            t <= e && i < t && (i = Number(t))
        }), "function" == typeof (s = h.extend({}, this.options, t[i])).stagePadding && (s.stagePadding = s.stagePadding()), delete s.responsive, s.responsiveClass && this.$element.attr("class", this.$element.attr("class").replace(new RegExp("(" + this.options.responsiveClass + "-)\\S+\\s", "g"), "$1" + i))) : s = h.extend({}, this.options), this.trigger("change", {
            property: {
                name: "settings",
                value: s
            }
        }), this._breakpoint = i, this.settings = s, this.invalidate("settings"), this.trigger("changed", {
            property: {
                name: "settings",
                value: this.settings
            }
        })
    }, l.prototype.optionsLogic = function () {
        this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)
    }, l.prototype.prepare = function (t) {
        var e = this.trigger("prepare", {
            content: t
        });
        return e.data || (e.data = h("<" + this.settings.itemElement + "/>").addClass(this.options.itemClass).append(t)), this.trigger("prepared", {
            content: e.data
        }), e.data
    }, l.prototype.update = function () {
        for (var t = 0, e = this._pipe.length, i = h.proxy(function (t) {
                return this[t]
            }, this._invalidated), s = {}; t < e;)(this._invalidated.all || 0 < h.grep(this._pipe[t].filter, i).length) && this._pipe[t].run(s), t++;
        this._invalidated = {}, !this.is("valid") && this.enter("valid")
    }, l.prototype.width = function (t) {
        switch (t = t || l.Width.Default) {
            case l.Width.Inner:
            case l.Width.Outer:
                return this._width;
            default:
                return this._width - 2 * this.settings.stagePadding + this.settings.margin
        }
    }, l.prototype.refresh = function () {
        this.enter("refreshing"), this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$element.addClass(this.options.refreshClass), this.update(), this.$element.removeClass(this.options.refreshClass), this.leave("refreshing"), this.trigger("refreshed")
    }, l.prototype.onThrottledResize = function () {
        i.clearTimeout(this.resizeTimer), this.resizeTimer = i.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate)
    }, l.prototype.onResize = function () {
        return !!this._items.length && (this._width !== this.$element.width() && (!!this.$element.is(":visible") && (this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ? (this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized")))))
    }, l.prototype.registerEventHandlers = function () {
        h.support.transition && this.$stage.on(h.support.transition.end + ".owl.core", h.proxy(this.onTransitionEnd, this)), !1 !== this.settings.responsive && this.on(i, "resize", this._handlers.onThrottledResize), this.settings.mouseDrag && (this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", h.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function () {
            return !1
        })), this.settings.touchDrag && (this.$stage.on("touchstart.owl.core", h.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", h.proxy(this.onDragEnd, this)))
    }, l.prototype.onDragStart = function (t) {
        var e = null;
        3 !== t.which && (h.support.transform ? e = {
            x: (e = this.$stage.css("transform").replace(/.*\(|\)| /g, "").split(","))[16 === e.length ? 12 : 4],
            y: e[16 === e.length ? 13 : 5]
        } : (e = this.$stage.position(), e = {
            x: this.settings.rtl ? e.left + this.$stage.width() - this.width() + this.settings.margin : e.left,
            y: e.top
        }), this.is("animating") && (h.support.transform ? this.animate(e.x) : this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown" === t.type), this.speed(0), this._drag.time = (new Date).getTime(), this._drag.target = h(t.target), this._drag.stage.start = e, this._drag.stage.current = e, this._drag.pointer = this.pointer(t), h(n).on("mouseup.owl.core touchend.owl.core", h.proxy(this.onDragEnd, this)), h(n).one("mousemove.owl.core touchmove.owl.core", h.proxy(function (t) {
            var e = this.difference(this._drag.pointer, this.pointer(t));
            h(n).on("mousemove.owl.core touchmove.owl.core", h.proxy(this.onDragMove, this)), Math.abs(e.x) < Math.abs(e.y) && this.is("valid") || (t.preventDefault(), this.enter("dragging"), this.trigger("drag"))
        }, this)))
    }, l.prototype.onDragMove = function (t) {
        var e = null,
            i = null,
            s = null,
            n = this.difference(this._drag.pointer, this.pointer(t)),
            o = this.difference(this._drag.stage.start, n);
        this.is("dragging") && (t.preventDefault(), this.settings.loop ? (e = this.coordinates(this.minimum()), i = this.coordinates(this.maximum() + 1) - e, o.x = ((o.x - e) % i + i) % i + e) : (e = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()), i = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()), s = this.settings.pullDrag ? -1 * n.x / 5 : 0, o.x = Math.max(Math.min(o.x, e + s), i + s)), this._drag.stage.current = o, this.animate(o.x))
    }, l.prototype.onDragEnd = function (t) {
        var e = this.difference(this._drag.pointer, this.pointer(t)),
            i = this._drag.stage.current,
            s = 0 < e.x ^ this.settings.rtl ? "left" : "right";
        h(n).off(".owl.core"), this.$element.removeClass(this.options.grabClass), (0 !== e.x && this.is("dragging") || !this.is("valid")) && (this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(this.closest(i.x, 0 !== e.x ? s : this._drag.direction)), this.invalidate("position"), this.update(), this._drag.direction = s, (3 < Math.abs(e.x) || 300 < (new Date).getTime() - this._drag.time) && this._drag.target.one("click.owl.core", function () {
            return !1
        })), this.is("dragging") && (this.leave("dragging"), this.trigger("dragged"))
    }, l.prototype.closest = function (i, s) {
        var n = -1,
            o = this.width(),
            r = this.coordinates();
        return this.settings.freeDrag || h.each(r, h.proxy(function (t, e) {
            return "left" === s && e - 30 < i && i < e + 30 ? n = t : "right" === s && e - o - 30 < i && i < e - o + 30 ? n = t + 1 : this.op(i, "<", e) && this.op(i, ">", r[t + 1] || e - o) && (n = "left" === s ? t + 1 : t), -1 === n
        }, this)), this.settings.loop || (this.op(i, ">", r[this.minimum()]) ? n = i = this.minimum() : this.op(i, "<", r[this.maximum()]) && (n = i = this.maximum())), n
    }, l.prototype.animate = function (t) {
        var e = 0 < this.speed();
        this.is("animating") && this.onTransitionEnd(), e && (this.enter("animating"), this.trigger("translate")), h.support.transform3d && h.support.transition ? this.$stage.css({
            transform: "translate3d(" + t + "px,0px,0px)",
            transition: this.speed() / 1e3 + "s"
        }) : e ? this.$stage.animate({
            left: t + "px"
        }, this.speed(), this.settings.fallbackEasing, h.proxy(this.onTransitionEnd, this)) : this.$stage.css({
            left: t + "px"
        })
    }, l.prototype.is = function (t) {
        return this._states.current[t] && 0 < this._states.current[t]
    }, l.prototype.current = function (t) {
        if (t === o) return this._current;
        if (0 === this._items.length) return o;
        if (t = this.normalize(t), this._current !== t) {
            var e = this.trigger("change", {
                property: {
                    name: "position",
                    value: t
                }
            });
            e.data !== o && (t = this.normalize(e.data)), this._current = t, this.invalidate("position"), this.trigger("changed", {
                property: {
                    name: "position",
                    value: this._current
                }
            })
        }
        return this._current
    }, l.prototype.invalidate = function (t) {
        return "string" === h.type(t) && (this._invalidated[t] = !0, this.is("valid") && this.leave("valid")), h.map(this._invalidated, function (t, e) {
            return e
        })
    }, l.prototype.reset = function (t) {
        (t = this.normalize(t)) !== o && (this._speed = 0, this._current = t, this.suppress(["translate", "translated"]), this.animate(this.coordinates(t)), this.release(["translate", "translated"]))
    }, l.prototype.normalize = function (t, e) {
        var i = this._items.length,
            s = e ? 0 : this._clones.length;
        return !this.isNumeric(t) || i < 1 ? t = o : (t < 0 || i + s <= t) && (t = ((t - s / 2) % i + i) % i + s / 2), t
    }, l.prototype.relative = function (t) {
        return t -= this._clones.length / 2, this.normalize(t, !0)
    }, l.prototype.maximum = function (t) {
        var e, i, s, n = this.settings,
            o = this._coordinates.length;
        if (n.loop) o = this._clones.length / 2 + this._items.length - 1;
        else if (n.autoWidth || n.merge) {
            for (e = this._items.length, i = this._items[--e].width(), s = this.$element.width(); e-- && !(s < (i += this._items[e].width() + this.settings.margin)););
            o = e + 1
        } else o = n.center ? this._items.length - 1 : this._items.length - n.items;
        return t && (o -= this._clones.length / 2), Math.max(o, 0)
    }, l.prototype.minimum = function (t) {
        return t ? 0 : this._clones.length / 2
    }, l.prototype.items = function (t) {
        return t === o ? this._items.slice() : (t = this.normalize(t, !0), this._items[t])
    }, l.prototype.mergers = function (t) {
        return t === o ? this._mergers.slice() : (t = this.normalize(t, !0), this._mergers[t])
    }, l.prototype.clones = function (i) {
        var e = this._clones.length / 2,
            s = e + this._items.length,
            n = function (t) {
                return t % 2 == 0 ? s + t / 2 : e - (t + 1) / 2
            };
        return i === o ? h.map(this._clones, function (t, e) {
            return n(e)
        }) : h.map(this._clones, function (t, e) {
            return t === i ? n(e) : null
        })
    }, l.prototype.speed = function (t) {
        return t !== o && (this._speed = t), this._speed
    }, l.prototype.coordinates = function (t) {
        var e, i = 1,
            s = t - 1;
        return t === o ? h.map(this._coordinates, h.proxy(function (t, e) {
            return this.coordinates(e)
        }, this)) : (this.settings.center ? (this.settings.rtl && (i = -1, s = t + 1), e = this._coordinates[t], e += (this.width() - e + (this._coordinates[s] || 0)) / 2 * i) : e = this._coordinates[s] || 0, e = Math.ceil(e))
    }, l.prototype.duration = function (t, e, i) {
        return 0 === i ? 0 : Math.min(Math.max(Math.abs(e - t), 1), 6) * Math.abs(i || this.settings.smartSpeed)
    }, l.prototype.to = function (t, e) {
        var i = this.current(),
            s = null,
            n = t - this.relative(i),
            o = (0 < n) - (n < 0),
            r = this._items.length,
            a = this.minimum(),
            h = this.maximum();
        this.settings.loop ? (!this.settings.rewind && Math.abs(n) > r / 2 && (n += -1 * o * r), (s = (((t = i + n) - a) % r + r) % r + a) !== t && s - n <= h && 0 < s - n && (i = s - n, t = s, this.reset(i))) : this.settings.rewind ? t = (t % (h += 1) + h) % h : t = Math.max(a, Math.min(h, t)), this.speed(this.duration(i, t, e)), this.current(t), this.$element.is(":visible") && this.update()
    }, l.prototype.next = function (t) {
        t = t || !1, this.to(this.relative(this.current()) + 1, t)
    }, l.prototype.prev = function (t) {
        t = t || !1, this.to(this.relative(this.current()) - 1, t)
    }, l.prototype.onTransitionEnd = function (t) {
        return (t === o || (t.stopPropagation(), (t.target || t.srcElement || t.originalTarget) === this.$stage.get(0))) && (this.leave("animating"), void this.trigger("translated"))
    }, l.prototype.viewport = function () {
        var t;
        if (this.options.responsiveBaseElement !== i) t = h(this.options.responsiveBaseElement).width();
        else if (i.innerWidth) t = i.innerWidth;
        else {
            if (!n.documentElement || !n.documentElement.clientWidth) throw "Can not detect viewport width.";
            t = n.documentElement.clientWidth
        }
        return t
    }, l.prototype.replace = function (t) {
        this.$stage.empty(), this._items = [], t && (t = t instanceof jQuery ? t : h(t)), this.settings.nestedItemSelector && (t = t.find("." + this.settings.nestedItemSelector)), t.filter(function () {
            return 1 === this.nodeType
        }).each(h.proxy(function (t, e) {
            e = this.prepare(e), this.$stage.append(e), this._items.push(e), this._mergers.push(1 * e.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)
        }, this)), this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items")
    }, l.prototype.add = function (t, e) {
        var i = this.relative(this._current);
        e = e === o ? this._items.length : this.normalize(e, !0), t = t instanceof jQuery ? t : h(t), this.trigger("add", {
            content: t,
            position: e
        }), t = this.prepare(t), 0 === this._items.length || e === this._items.length ? (0 === this._items.length && this.$stage.append(t), 0 !== this._items.length && this._items[e - 1].after(t), this._items.push(t), this._mergers.push(1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)) : (this._items[e].before(t), this._items.splice(e, 0, t), this._mergers.splice(e, 0, 1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)), this._items[i] && this.reset(this._items[i].index()), this.invalidate("items"), this.trigger("added", {
            content: t,
            position: e
        })
    }, l.prototype.remove = function (t) {
        (t = this.normalize(t, !0)) !== o && (this.trigger("remove", {
            content: this._items[t],
            position: t
        }), this._items[t].remove(), this._items.splice(t, 1), this._mergers.splice(t, 1), this.invalidate("items"), this.trigger("removed", {
            content: null,
            position: t
        }))
    }, l.prototype.preloadAutoWidthImages = function (t) {
        t.each(h.proxy(function (t, e) {
            this.enter("pre-loading"), e = h(e), h(new Image).one("load", h.proxy(function (t) {
                e.attr("src", t.target.src), e.css("opacity", 1), this.leave("pre-loading"), !this.is("pre-loading") && !this.is("initializing") && this.refresh()
            }, this)).attr("src", e.attr("src") || e.attr("data-src") || e.attr("data-src-retina"))
        }, this))
    }, l.prototype.destroy = function () {
        for (var t in this.$element.off(".owl.core"), this.$stage.off(".owl.core"), h(n).off(".owl.core"), !1 !== this.settings.responsive && (i.clearTimeout(this.resizeTimer), this.off(i, "resize", this._handlers.onThrottledResize)), this._plugins) this._plugins[t].destroy();
        this.$stage.children(".cloned").remove(), this.$stage.unwrap(), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class", this.$element.attr("class").replace(new RegExp(this.options.responsiveClass + "-\\S+\\s", "g"), "")).removeData("owl.carousel")
    }, l.prototype.op = function (t, e, i) {
        var s = this.settings.rtl;
        switch (e) {
            case "<":
                return s ? i < t : t < i;
            case ">":
                return s ? t < i : i < t;
            case ">=":
                return s ? t <= i : i <= t;
            case "<=":
                return s ? i <= t : t <= i
        }
    }, l.prototype.on = function (t, e, i, s) {
        t.addEventListener ? t.addEventListener(e, i, s) : t.attachEvent && t.attachEvent("on" + e, i)
    }, l.prototype.off = function (t, e, i, s) {
        t.removeEventListener ? t.removeEventListener(e, i, s) : t.detachEvent && t.detachEvent("on" + e, i)
    }, l.prototype.trigger = function (t, e, i, s, n) {
        var o = {
                item: {
                    count: this._items.length,
                    index: this.current()
                }
            },
            r = h.camelCase(h.grep(["on", t, i], function (t) {
                return t
            }).join("-").toLowerCase()),
            a = h.Event([t, "owl", i || "carousel"].join(".").toLowerCase(), h.extend({
                relatedTarget: this
            }, o, e));
        return this._supress[t] || (h.each(this._plugins, function (t, e) {
            e.onTrigger && e.onTrigger(a)
        }), this.register({
            type: l.Type.Event,
            name: t
        }), this.$element.trigger(a), this.settings && "function" == typeof this.settings[r] && this.settings[r].call(this, a)), a
    }, l.prototype.enter = function (t) {
        h.each([t].concat(this._states.tags[t] || []), h.proxy(function (t, e) {
            this._states.current[e] === o && (this._states.current[e] = 0), this._states.current[e]++
        }, this))
    }, l.prototype.leave = function (t) {
        h.each([t].concat(this._states.tags[t] || []), h.proxy(function (t, e) {
            this._states.current[e]--
        }, this))
    }, l.prototype.register = function (i) {
        if (i.type === l.Type.Event) {
            if (h.event.special[i.name] || (h.event.special[i.name] = {}), !h.event.special[i.name].owl) {
                var e = h.event.special[i.name]._default;
                h.event.special[i.name]._default = function (t) {
                    return !e || !e.apply || t.namespace && -1 !== t.namespace.indexOf("owl") ? t.namespace && -1 < t.namespace.indexOf("owl") : e.apply(this, arguments)
                }, h.event.special[i.name].owl = !0
            }
        } else i.type === l.Type.State && (this._states.tags[i.name] ? this._states.tags[i.name] = this._states.tags[i.name].concat(i.tags) : this._states.tags[i.name] = i.tags, this._states.tags[i.name] = h.grep(this._states.tags[i.name], h.proxy(function (t, e) {
            return h.inArray(t, this._states.tags[i.name]) === e
        }, this)))
    }, l.prototype.suppress = function (t) {
        h.each(t, h.proxy(function (t, e) {
            this._supress[e] = !0
        }, this))
    }, l.prototype.release = function (t) {
        h.each(t, h.proxy(function (t, e) {
            delete this._supress[e]
        }, this))
    }, l.prototype.pointer = function (t) {
        var e = {
            x: null,
            y: null
        };
        return (t = (t = t.originalEvent || t || i.event).touches && t.touches.length ? t.touches[0] : t.changedTouches && t.changedTouches.length ? t.changedTouches[0] : t).pageX ? (e.x = t.pageX, e.y = t.pageY) : (e.x = t.clientX, e.y = t.clientY), e
    }, l.prototype.isNumeric = function (t) {
        return !isNaN(parseFloat(t))
    }, l.prototype.difference = function (t, e) {
        return {
            x: t.x - e.x,
            y: t.y - e.y
        }
    }, h.fn.owlCarousel = function (e) {
        var s = Array.prototype.slice.call(arguments, 1);
        return this.each(function () {
            var t = h(this),
                i = t.data("owl.carousel");
            i || (i = new l(this, "object" == typeof e && e), t.data("owl.carousel", i), h.each(["next", "prev", "to", "destroy", "refresh", "replace", "add", "remove"], function (t, e) {
                i.register({
                    type: l.Type.Event,
                    name: e
                }), i.$element.on(e + ".owl.carousel.core", h.proxy(function (t) {
                    t.namespace && t.relatedTarget !== this && (this.suppress([e]), i[e].apply(this, [].slice.call(arguments, 1)), this.release([e]))
                }, i))
            })), "string" == typeof e && "_" !== e.charAt(0) && i[e].apply(i, s)
        })
    }, h.fn.owlCarousel.Constructor = l
}(window.Zepto || window.jQuery, window, document),
function (e, i, t, s) {
    var n = function (t) {
        this._core = t, this._interval = null, this._visible = null, this._handlers = {
            "initialized.owl.carousel": e.proxy(function (t) {
                t.namespace && this._core.settings.autoRefresh && this.watch()
            }, this)
        }, this._core.options = e.extend({}, n.Defaults, this._core.options), this._core.$element.on(this._handlers)
    };
    n.Defaults = {
        autoRefresh: !0,
        autoRefreshInterval: 500
    }, n.prototype.watch = function () {
        this._interval || (this._visible = this._core.$element.is(":visible"), this._interval = i.setInterval(e.proxy(this.refresh, this), this._core.settings.autoRefreshInterval))
    }, n.prototype.refresh = function () {
        this._core.$element.is(":visible") !== this._visible && (this._visible = !this._visible, this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible && this._core.invalidate("width") && this._core.refresh())
    }, n.prototype.destroy = function () {
        var t, e;
        for (t in i.clearInterval(this._interval), this._handlers) this._core.$element.off(t, this._handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, e.fn.owlCarousel.Constructor.Plugins.AutoRefresh = n
}(window.Zepto || window.jQuery, window, document),
function (a, o, t, e) {
    var i = function (t) {
        this._core = t, this._loaded = [], this._handlers = {
            "initialized.owl.carousel change.owl.carousel resized.owl.carousel": a.proxy(function (t) {
                if (t.namespace && this._core.settings && this._core.settings.lazyLoad && (t.property && "position" == t.property.name || "initialized" == t.type))
                    for (var e = this._core.settings, i = e.center && Math.ceil(e.items / 2) || e.items, s = e.center && -1 * i || 0, n = (t.property && void 0 !== t.property.value ? t.property.value : this._core.current()) + s, o = this._core.clones().length, r = a.proxy(function (t, e) {
                            this.load(e)
                        }, this); s++ < i;) this.load(o / 2 + this._core.relative(n)), o && a.each(this._core.clones(this._core.relative(n)), r), n++
            }, this)
        }, this._core.options = a.extend({}, i.Defaults, this._core.options), this._core.$element.on(this._handlers)
    };
    i.Defaults = {
        lazyLoad: !1
    }, i.prototype.load = function (t) {
        var e = this._core.$stage.children().eq(t),
            i = e && e.find(".owl-lazy");
        !i || -1 < a.inArray(e.get(0), this._loaded) || (i.each(a.proxy(function (t, e) {
            var i, s = a(e),
                n = 1 < o.devicePixelRatio && s.attr("data-src-retina") || s.attr("data-src");
            this._core.trigger("load", {
                element: s,
                url: n
            }, "lazy"), s.is("img") ? s.one("load.owl.lazy", a.proxy(function () {
                s.css("opacity", 1), this._core.trigger("loaded", {
                    element: s,
                    url: n
                }, "lazy")
            }, this)).attr("src", n) : ((i = new Image).onload = a.proxy(function () {
                s.css({
                    "background-image": "url(" + n + ")",
                    opacity: "1"
                }), this._core.trigger("loaded", {
                    element: s,
                    url: n
                }, "lazy")
            }, this), i.src = n)
        }, this)), this._loaded.push(e.get(0)))
    }, i.prototype.destroy = function () {
        var t, e;
        for (t in this.handlers) this._core.$element.off(t, this.handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, a.fn.owlCarousel.Constructor.Plugins.Lazy = i
}(window.Zepto || window.jQuery, window, document),
function (o, t, e, i) {
    var s = function (t) {
        this._core = t, this._handlers = {
            "initialized.owl.carousel refreshed.owl.carousel": o.proxy(function (t) {
                t.namespace && this._core.settings.autoHeight && this.update()
            }, this),
            "changed.owl.carousel": o.proxy(function (t) {
                t.namespace && this._core.settings.autoHeight && "position" == t.property.name && this.update()
            }, this),
            "loaded.owl.lazy": o.proxy(function (t) {
                t.namespace && this._core.settings.autoHeight && t.element.closest("." + this._core.settings.itemClass).index() === this._core.current() && this.update()
            }, this)
        }, this._core.options = o.extend({}, s.Defaults, this._core.options), this._core.$element.on(this._handlers)
    };
    s.Defaults = {
        autoHeight: !1,
        autoHeightClass: "owl-height"
    }, s.prototype.update = function () {
        var t, e = this._core._current,
            i = e + this._core.settings.items,
            s = this._core.$stage.children().toArray().slice(e, i),
            n = [];
        o.each(s, function (t, e) {
            n.push(o(e).height())
        }), t = Math.max.apply(null, n), this._core.$stage.parent().height(t).addClass(this._core.settings.autoHeightClass)
    }, s.prototype.destroy = function () {
        var t, e;
        for (t in this._handlers) this._core.$element.off(t, this._handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, o.fn.owlCarousel.Constructor.Plugins.AutoHeight = s
}(window.Zepto || window.jQuery, window, document),
function (c, t, e, i) {
    var s = function (t) {
        this._core = t, this._videos = {}, this._playing = null, this._handlers = {
            "initialized.owl.carousel": c.proxy(function (t) {
                t.namespace && this._core.register({
                    type: "state",
                    name: "playing",
                    tags: ["interacting"]
                })
            }, this),
            "resize.owl.carousel": c.proxy(function (t) {
                t.namespace && this._core.settings.video && this.isInFullScreen() && t.preventDefault()
            }, this),
            "refreshed.owl.carousel": c.proxy(function (t) {
                t.namespace && this._core.is("resizing") && this._core.$stage.find(".cloned .owl-video-frame").remove()
            }, this),
            "changed.owl.carousel": c.proxy(function (t) {
                t.namespace && "position" === t.property.name && this._playing && this.stop()
            }, this),
            "prepared.owl.carousel": c.proxy(function (t) {
                if (t.namespace) {
                    var e = c(t.content).find(".owl-video");
                    e.length && (e.css("display", "none"), this.fetch(e, c(t.content)))
                }
            }, this)
        }, this._core.options = c.extend({}, s.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", c.proxy(function (t) {
            this.play(t)
        }, this))
    };
    s.Defaults = {
        video: !1,
        videoHeight: !1,
        videoWidth: !1
    }, s.prototype.fetch = function (t, e) {
        var i = t.attr("data-vimeo-id") ? "vimeo" : t.attr("data-vzaar-id") ? "vzaar" : "youtube",
            s = t.attr("data-vimeo-id") || t.attr("data-youtube-id") || t.attr("data-vzaar-id"),
            n = t.attr("data-width") || this._core.settings.videoWidth,
            o = t.attr("data-height") || this._core.settings.videoHeight,
            r = t.attr("href");
        if (!r) throw new Error("Missing video URL.");
        if (-1 < (s = r.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/))[3].indexOf("youtu")) i = "youtube";
        else if (-1 < s[3].indexOf("vimeo")) i = "vimeo";
        else {
            if (!(-1 < s[3].indexOf("vzaar"))) throw new Error("Video URL not supported.");
            i = "vzaar"
        }
        s = s[6], this._videos[r] = {
            type: i,
            id: s,
            width: n,
            height: o
        }, e.attr("data-video", r), this.thumbnail(t, this._videos[r])
    }, s.prototype.thumbnail = function (e, t) {
        var i, s, n = t.width && t.height ? 'style="width:' + t.width + "px;height:" + t.height + 'px;"' : "",
            o = e.find("img"),
            r = "src",
            a = "",
            h = this._core.settings,
            l = function (t) {
                '<div class="owl-video-play-icon"></div>',
                i = h.lazyLoad ? '<div class="owl-video-tn ' + a + '" ' + r + '="' + t + '"></div>' : '<div class="owl-video-tn" style="opacity:1;background-image:url(' + t + ')"></div>',
                e.after(i),
                e.after('<div class="owl-video-play-icon"></div>')
            };
        return e.wrap('<div class="owl-video-wrapper"' + n + "></div>"), this._core.settings.lazyLoad && (r = "data-src", a = "owl-lazy"), o.length ? (l(o.attr(r)), o.remove(), !1) : void("youtube" === t.type ? (s = "//img.youtube.com/vi/" + t.id + "/hqdefault.jpg", l(s)) : "vimeo" === t.type ? c.ajax({
            type: "GET",
            url: "//vimeo.com/api/v2/video/" + t.id + ".json",
            jsonp: "callback",
            dataType: "jsonp",
            success: function (t) {
                s = t[0].thumbnail_large, l(s)
            }
        }) : "vzaar" === t.type && c.ajax({
            type: "GET",
            url: "//vzaar.com/api/videos/" + t.id + ".json",
            jsonp: "callback",
            dataType: "jsonp",
            success: function (t) {
                s = t.framegrab_url, l(s)
            }
        }))
    }, s.prototype.stop = function () {
        this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null, this._core.leave("playing"), this._core.trigger("stopped", null, "video")
    }, s.prototype.play = function (t) {
        var e, i = c(t.target).closest("." + this._core.settings.itemClass),
            s = this._videos[i.attr("data-video")],
            n = s.width || "100%",
            o = s.height || this._core.$stage.height();
        this._playing || (this._core.enter("playing"), this._core.trigger("play", null, "video"), i = this._core.items(this._core.relative(i.index())), this._core.reset(i.index()), "youtube" === s.type ? e = '<iframe width="' + n + '" height="' + o + '" src="//www.youtube.com/embed/' + s.id + "?autoplay=1&v=" + s.id + '" frameborder="0" allowfullscreen></iframe>' : "vimeo" === s.type ? e = '<iframe src="//player.vimeo.com/video/' + s.id + '?autoplay=1" width="' + n + '" height="' + o + '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>' : "vzaar" === s.type && (e = '<iframe frameborder="0"height="' + o + '"width="' + n + '" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/' + s.id + '/player?autoplay=true"></iframe>'), c('<div class="owl-video-frame">' + e + "</div>").insertAfter(i.find(".owl-video")), this._playing = i.addClass("owl-video-playing"))
    }, s.prototype.isInFullScreen = function () {
        var t = e.fullscreenElement || e.mozFullScreenElement || e.webkitFullscreenElement;
        return t && c(t).parent().hasClass("owl-video-frame")
    }, s.prototype.destroy = function () {
        var t, e;
        for (t in this._core.$element.off("click.owl.video"), this._handlers) this._core.$element.off(t, this._handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, c.fn.owlCarousel.Constructor.Plugins.Video = s
}(window.Zepto || window.jQuery, window, document),
function (r, t, e, i) {
    var s = function (t) {
        this.core = t, this.core.options = r.extend({}, s.Defaults, this.core.options), this.swapping = !0, this.previous = void 0, this.next = void 0, this.handlers = {
            "change.owl.carousel": r.proxy(function (t) {
                t.namespace && "position" == t.property.name && (this.previous = this.core.current(), this.next = t.property.value)
            }, this),
            "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": r.proxy(function (t) {
                t.namespace && (this.swapping = "translated" == t.type)
            }, this),
            "translate.owl.carousel": r.proxy(function (t) {
                t.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap()
            }, this)
        }, this.core.$element.on(this.handlers)
    };
    s.Defaults = {
        animateOut: !1,
        animateIn: !1
    }, s.prototype.swap = function () {
        if (1 === this.core.settings.items && r.support.animation && r.support.transition) {
            this.core.speed(0);
            var t, e = r.proxy(this.clear, this),
                i = this.core.$stage.children().eq(this.previous),
                s = this.core.$stage.children().eq(this.next),
                n = this.core.settings.animateIn,
                o = this.core.settings.animateOut;
            this.core.current() !== this.previous && (o && (t = this.core.coordinates(this.previous) - this.core.coordinates(this.next), i.one(r.support.animation.end, e).css({
                left: t + "px"
            }).addClass("animated owl-animated-out").addClass(o)), n && s.one(r.support.animation.end, e).addClass("animated owl-animated-in").addClass(n))
        }
    }, s.prototype.clear = function (t) {
        r(t.target).css({
            left: ""
        }).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.onTransitionEnd()
    }, s.prototype.destroy = function () {
        var t, e;
        for (t in this.handlers) this.core.$element.off(t, this.handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, r.fn.owlCarousel.Constructor.Plugins.Animate = s
}(window.Zepto || window.jQuery, window, document),
function (i, s, n, t) {
    var e = function (t) {
        this._core = t, this._timeout = null, this._paused = !1, this._handlers = {
            "changed.owl.carousel": i.proxy(function (t) {
                t.namespace && "settings" === t.property.name ? this._core.settings.autoplay ? this.play() : this.stop() : t.namespace && "position" === t.property.name && this._core.settings.autoplay && this._setAutoPlayInterval()
            }, this),
            "initialized.owl.carousel": i.proxy(function (t) {
                t.namespace && this._core.settings.autoplay && this.play()
            }, this),
            "play.owl.autoplay": i.proxy(function (t, e, i) {
                t.namespace && this.play(e, i)
            }, this),
            "stop.owl.autoplay": i.proxy(function (t) {
                t.namespace && this.stop()
            }, this),
            "mouseover.owl.autoplay": i.proxy(function () {
                this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause()
            }, this),
            "mouseleave.owl.autoplay": i.proxy(function () {
                this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.play()
            }, this),
            "touchstart.owl.core": i.proxy(function () {
                this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause()
            }, this),
            "touchend.owl.core": i.proxy(function () {
                this._core.settings.autoplayHoverPause && this.play()
            }, this)
        }, this._core.$element.on(this._handlers), this._core.options = i.extend({}, e.Defaults, this._core.options)
    };
    e.Defaults = {
        autoplay: !1,
        autoplayTimeout: 5e3,
        autoplayHoverPause: !1,
        autoplaySpeed: !1
    }, e.prototype.play = function (t, e) {
        this._paused = !1, this._core.is("rotating") || (this._core.enter("rotating"), this._setAutoPlayInterval())
    }, e.prototype._getNextTimeout = function (t, e) {
        return this._timeout && s.clearTimeout(this._timeout), s.setTimeout(i.proxy(function () {
            this._paused || this._core.is("busy") || this._core.is("interacting") || n.hidden || this._core.next(e || this._core.settings.autoplaySpeed)
        }, this), t || this._core.settings.autoplayTimeout)
    }, e.prototype._setAutoPlayInterval = function () {
        this._timeout = this._getNextTimeout()
    }, e.prototype.stop = function () {
        this._core.is("rotating") && (s.clearTimeout(this._timeout), this._core.leave("rotating"))
    }, e.prototype.pause = function () {
        this._core.is("rotating") && (this._paused = !0)
    }, e.prototype.destroy = function () {
        var t, e;
        for (t in this.stop(), this._handlers) this._core.$element.off(t, this._handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, i.fn.owlCarousel.Constructor.Plugins.autoplay = e
}(window.Zepto || window.jQuery, window, document),
function (o, t, e, i) {
    "use strict";
    var s = function (t) {
        this._core = t, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = {
            next: this._core.next,
            prev: this._core.prev,
            to: this._core.to
        }, this._handlers = {
            "prepared.owl.carousel": o.proxy(function (t) {
                t.namespace && this._core.settings.dotsData && this._templates.push('<div class="' + this._core.settings.dotClass + '">' + o(t.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot") + "</div>")
            }, this),
            "added.owl.carousel": o.proxy(function (t) {
                t.namespace && this._core.settings.dotsData && this._templates.splice(t.position, 0, this._templates.pop())
            }, this),
            "remove.owl.carousel": o.proxy(function (t) {
                t.namespace && this._core.settings.dotsData && this._templates.splice(t.position, 1)
            }, this),
            "changed.owl.carousel": o.proxy(function (t) {
                t.namespace && "position" == t.property.name && this.draw()
            }, this),
            "initialized.owl.carousel": o.proxy(function (t) {
                t.namespace && !this._initialized && (this._core.trigger("initialize", null, "navigation"), this.initialize(), this.update(), this.draw(), this._initialized = !0, this._core.trigger("initialized", null, "navigation"))
            }, this),
            "refreshed.owl.carousel": o.proxy(function (t) {
                t.namespace && this._initialized && (this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation"))
            }, this)
        }, this._core.options = o.extend({}, s.Defaults, this._core.options), this.$element.on(this._handlers)
    };
    s.Defaults = {
        nav: !1,
        navText: ["prev", "next"],
        navSpeed: !1,
        navElement: "div",
        navContainer: !1,
        navContainerClass: "owl-nav",
        navClass: ["owl-prev", "owl-next"],
        slideBy: 1,
        dotClass: "owl-dot",
        dotsClass: "owl-dots",
        dots: !0,
        dotsEach: !1,
        dotsData: !1,
        dotsSpeed: !1,
        dotsContainer: !1
    }, s.prototype.initialize = function () {
        var t, i = this._core.settings;
        for (t in this._controls.$relative = (i.navContainer ? o(i.navContainer) : o("<div>").addClass(i.navContainerClass).appendTo(this.$element)).addClass("disabled"), this._controls.$previous = o("<" + i.navElement + ">").addClass(i.navClass[0]).html(i.navText[0]).prependTo(this._controls.$relative).on("click", o.proxy(function (t) {
                this.prev(i.navSpeed)
            }, this)), this._controls.$next = o("<" + i.navElement + ">").addClass(i.navClass[1]).html(i.navText[1]).appendTo(this._controls.$relative).on("click", o.proxy(function (t) {
                this.next(i.navSpeed)
            }, this)), i.dotsData || (this._templates = [o("<div>").addClass(i.dotClass).append(o("<span>")).prop("outerHTML")]), this._controls.$absolute = (i.dotsContainer ? o(i.dotsContainer) : o("<div>").addClass(i.dotsClass).appendTo(this.$element)).addClass("disabled"), this._controls.$absolute.on("click", "div", o.proxy(function (t) {
                var e = o(t.target).parent().is(this._controls.$absolute) ? o(t.target).index() : o(t.target).parent().index();
                t.preventDefault(), this.to(e, i.dotsSpeed)
            }, this)), this._overrides) this._core[t] = o.proxy(this[t], this)
    }, s.prototype.destroy = function () {
        var t, e, i, s;
        for (t in this._handlers) this.$element.off(t, this._handlers[t]);
        for (e in this._controls) this._controls[e].remove();
        for (s in this.overides) this._core[s] = this._overrides[s];
        for (i in Object.getOwnPropertyNames(this)) "function" != typeof this[i] && (this[i] = null)
    }, s.prototype.update = function () {
        var t, e, i = this._core.clones().length / 2,
            s = i + this._core.items().length,
            n = this._core.maximum(!0),
            o = this._core.settings,
            r = o.center || o.autoWidth || o.dotsData ? 1 : o.dotsEach || o.items;
        if ("page" !== o.slideBy && (o.slideBy = Math.min(o.slideBy, o.items)), o.dots || "page" == o.slideBy)
            for (this._pages = [], t = i, e = 0; t < s; t++) {
                if (r <= e || 0 === e) {
                    if (this._pages.push({
                            start: Math.min(n, t - i),
                            end: t - i + r - 1
                        }), Math.min(n, t - i) === n) break;
                    e = 0, 0
                }
                e += this._core.mergers(this._core.relative(t))
            }
    }, s.prototype.draw = function () {
        var t, e = this._core.settings,
            i = this._core.items().length <= e.items,
            s = this._core.relative(this._core.current()),
            n = e.loop || e.rewind;
        this._controls.$relative.toggleClass("disabled", !e.nav || i), e.nav && (this._controls.$previous.toggleClass("disabled", !n && s <= this._core.minimum(!0)), this._controls.$next.toggleClass("disabled", !n && s >= this._core.maximum(!0))), this._controls.$absolute.toggleClass("disabled", !e.dots || i), e.dots && (t = this._pages.length - this._controls.$absolute.children().length, e.dotsData && 0 !== t ? this._controls.$absolute.html(this._templates.join("")) : 0 < t ? this._controls.$absolute.append(new Array(t + 1).join(this._templates[0])) : t < 0 && this._controls.$absolute.children().slice(t).remove(), this._controls.$absolute.find(".active").removeClass("active"), this._controls.$absolute.children().eq(o.inArray(this.current(), this._pages)).addClass("active"))
    }, s.prototype.onTrigger = function (t) {
        var e = this._core.settings;
        t.page = {
            index: o.inArray(this.current(), this._pages),
            count: this._pages.length,
            size: e && (e.center || e.autoWidth || e.dotsData ? 1 : e.dotsEach || e.items)
        }
    }, s.prototype.current = function () {
        var i = this._core.relative(this._core.current());
        return o.grep(this._pages, o.proxy(function (t, e) {
            return t.start <= i && t.end >= i
        }, this)).pop()
    }, s.prototype.getPosition = function (t) {
        var e, i, s = this._core.settings;
        return "page" == s.slideBy ? (e = o.inArray(this.current(), this._pages), i = this._pages.length, t ? ++e : --e, e = this._pages[(e % i + i) % i].start) : (e = this._core.relative(this._core.current()), i = this._core.items().length, t ? e += s.slideBy : e -= s.slideBy), e
    }, s.prototype.next = function (t) {
        o.proxy(this._overrides.to, this._core)(this.getPosition(!0), t)
    }, s.prototype.prev = function (t) {
        o.proxy(this._overrides.to, this._core)(this.getPosition(!1), t)
    }, s.prototype.to = function (t, e, i) {
        var s;
        !i && this._pages.length ? (s = this._pages.length, o.proxy(this._overrides.to, this._core)(this._pages[(t % s + s) % s].start, e)) : o.proxy(this._overrides.to, this._core)(t, e)
    }, o.fn.owlCarousel.Constructor.Plugins.Navigation = s
}(window.Zepto || window.jQuery, window, document),
function (s, n, t, e) {
    "use strict";
    var i = function (t) {
        this._core = t, this._hashes = {}, this.$element = this._core.$element, this._handlers = {
            "initialized.owl.carousel": s.proxy(function (t) {
                t.namespace && "URLHash" === this._core.settings.startPosition && s(n).trigger("hashchange.owl.navigation")
            }, this),
            "prepared.owl.carousel": s.proxy(function (t) {
                if (t.namespace) {
                    var e = s(t.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");
                    if (!e) return;
                    this._hashes[e] = t.content
                }
            }, this),
            "changed.owl.carousel": s.proxy(function (t) {
                if (t.namespace && "position" === t.property.name) {
                    var i = this._core.items(this._core.relative(this._core.current())),
                        e = s.map(this._hashes, function (t, e) {
                            return t === i ? e : null
                        }).join();
                    if (!e || n.location.hash.slice(1) === e) return;
                    n.location.hash = e
                }
            }, this)
        }, this._core.options = s.extend({}, i.Defaults, this._core.options), this.$element.on(this._handlers), s(n).on("hashchange.owl.navigation", s.proxy(function (t) {
            var e = n.location.hash.substring(1),
                i = this._core.$stage.children(),
                s = this._hashes[e] && i.index(this._hashes[e]);
            void 0 !== s && s !== this._core.current() && this._core.to(this._core.relative(s), !1, !0)
        }, this))
    };
    i.Defaults = {
        URLhashListener: !1
    }, i.prototype.destroy = function () {
        var t, e;
        for (t in s(n).off("hashchange.owl.navigation"), this._handlers) this._core.$element.off(t, this._handlers[t]);
        for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
    }, s.fn.owlCarousel.Constructor.Plugins.Hash = i
}(window.Zepto || window.jQuery, window, document),
function (n, t, e, o) {
    function i(t, i) {
        var s = !1,
            e = t.charAt(0).toUpperCase() + t.slice(1);
        return n.each((t + " " + a.join(e + " ") + e).split(" "), function (t, e) {
            return r[e] !== o ? (s = !i || e, !1) : void 0
        }), s
    }

    function s(t) {
        return i(t, !0)
    }
    var r = n("<support>").get(0).style,
        a = "Webkit Moz O ms".split(" "),
        h = {
            transition: {
                end: {
                    WebkitTransition: "webkitTransitionEnd",
                    MozTransition: "transitionend",
                    OTransition: "oTransitionEnd",
                    transition: "transitionend"
                }
            },
            animation: {
                end: {
                    WebkitAnimation: "webkitAnimationEnd",
                    MozAnimation: "animationend",
                    OAnimation: "oAnimationEnd",
                    animation: "animationend"
                }
            }
        },
        l = function () {
            return !!i("transform")
        },
        c = function () {
            return !!i("perspective")
        },
        p = function () {
            return !!i("animation")
        };
    (function () {
        return !!i("transition")
    })() && (n.support.transition = new String(s("transition")), n.support.transition.end = h.transition.end[n.support.transition]), p() && (n.support.animation = new String(s("animation")), n.support.animation.end = h.animation.end[n.support.animation]), l() && (n.support.transform = new String(s("transform")), n.support.transform3d = c())
}(window.Zepto || window.jQuery, window, document);
!
function (o) {
    var n = {};

    function i(e) {
        if (n[e]) return n[e].exports;
        var t = n[e] = {
            i: e,
            l: !1,
            exports: {}
        };
        return o[e].call(t.exports, t, t.exports, i), t.l = !0, t.exports
    }
    i.m = o, i.c = n, i.d = function (e, t, o) {
        i.o(e, t) || Object.defineProperty(e, t, {
            configurable: !1,
            enumerable: !0,
            get: o
        })
    }, i.n = function (e) {
        var t = e && e.__esModule ?
            function () {
                return e.
                default
            } : function () {
                return e
            };
        return i.d(t, "a", t), t
    }, i.o = function (e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, i.p = "", i(i.s = 11)
}([function (o, e, t) {
    "use strict";
    (function (e) {
        var t;
        t = "undefined" != typeof window ? window : void 0 !== e ? e : "undefined" != typeof self ? self : {}, o.exports = t
    }).call(e, t(2))
}, function (e, t, o) {
    "use strict";
    e.exports = function (e) {
        "complete" === document.readyState || "interactive" === document.readyState ? e.call() : document.attachEvent ? document.attachEvent("onreadystatechange", function () {
            "interactive" === document.readyState && e.call()
        }) : document.addEventListener && document.addEventListener("DOMContentLoaded", e)
    }
}, function (e, t, o) {
    "use strict";
    var n, i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
        function (e) {
            return typeof e
        } : function (e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
        };
    n = function () {
        return this
    }();
    try {
        n = n || Function("return this")() || (0, eval)("this")
    } catch (e) {
        "object" === ("undefined" == typeof window ? "undefined" : i(window)) && (n = window)
    }
    e.exports = n
}, , , , , , , , , function (e, t, o) {
    e.exports = o(12)
}, function (e, t, o) {
    "use strict";
    var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
        function (e) {
            return typeof e
        } : function (e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
        },
        i = l(o(1)),
        a = o(0),
        r = l(o(13));

    function l(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    var s = a.window.jarallax;
    if (a.window.jarallax = r.default, a.window.jarallax.noConflict = function () {
            return a.window.jarallax = s, this
        }, void 0 !== a.jQuery) {
        var c = function () {
            var e = arguments || [];
            Array.prototype.unshift.call(e, this);
            var t = r.
            default.apply(a.window, e);
            return "object" !== (void 0 === t ? "undefined" : n(t)) ? t :
                this
        };
        c.constructor = r.
        default.constructor;
        var u = a.jQuery.fn.jarallax;
        a.jQuery.fn.jarallax = c, a.jQuery.fn.jarallax.noConflict = function () {
            return a.jQuery.fn.jarallax = u, this
        }
    }(0, i.default)(function () {
        (0, r.default)(document.querySelectorAll("[data-jarallax]"))
    })
}, function (e, $, j) {
    "use strict";
    (function (e) {
        Object.defineProperty($, "__esModule", {
            value: !0
        });
        var d = function (e, t) {
                if (Array.isArray(e)) return e;
                if (Symbol.iterator in Object(e)) return function (e, t) {
                    var o = [],
                        n = !0,
                        i = !1,
                        a = void 0;
                    try {
                        for (var r, l = e[Symbol.iterator](); !(n = (r = l.next()).done) && (o.push(r.value), !t || o.length !== t); n = !0);
                    } catch (e) {
                        i = !0, a = e
                    } finally {
                        try {
                            !n && l.
                            return && l.
                            return()
                        } finally {
                            if (i) throw a
                        }
                    }
                    return o
                }(e, t);
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            },
            t = function () {
                function n(e, t) {
                    for (var o = 0; o < t.length; o++) {
                        var n = t[o];
                        n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
                    }
                }
                return function (e, t, o) {
                    return t && n(e.prototype, t), o && n(e, o), e
                }
            }(),
            p = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
            function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            },
            o = a(j(1)),
            n = a(j(14)),
            i = j(0);

        function a(e) {
            return e && e.__esModule ? e : {
                default: e
            }
        }
        var r = function () {
                for (var e = "transform WebkitTransform MozTransform".split(" "), t = document.createElement("div"), o = 0; o < e.length; o++)
                    if (t && void 0 !== t.style[e[o]]) return e[o];
                return !1
            }(),
            b = void 0,
            v = void 0,
            l = void 0,
            s = !1,
            c = !1;

        function u(e) {
            b = i.window.innerWidth || document.documentElement.clientWidth, v = i.window.innerHeight || document.documentElement.clientHeight, "object" !== (void 0 === e ? "undefined" : p(e)) || "load" !== e.type && "dom-loaded" !== e.type || (s = !0)
        }
        u(), i.window.addEventListener("resize", u), i.window.addEventListener("orientationchange", u), i.window.addEventListener("load", u), (0, o.default)(function () {
            u({
                type: "dom-loaded"
            })
        });
        var m = [],
            f = !1;

        function y() {
            if (m.length) {
                l = void 0 !== i.window.pageYOffset ? i.window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
                var t = s || !f || f.width !== b || f.height !== v,
                    o = c || t || !f || f.y !== l;
                c = s = !1, (t || o) && (m.forEach(function (e) {
                    t && e.onResize(), o && e.onScroll()
                }), f = {
                    width: b,
                    height: v,
                    y: l
                }), (0, n.default)(y)
            }
        }
        var g = !!e.ResizeObserver && new e.ResizeObserver(function (e) {
                e && e.length && (0, n.default)(function () {
                    e.forEach(function (e) {
                        e.target && e.target.jarallax && (s || e.target.jarallax.onResize(), c = !0)
                    })
                })
            }),
            h = 0,
            x = function () {
                function u(e, t) {
                    !
                    function (e, t) {
                        if (!(e instanceof u)) throw new TypeError("Cannot call a class as a function")
                    }(this);
                    var o = this;
                    o.instanceID = h++, o.$item = e, o.defaults = {
                        type: "scroll",
                        speed: .5,
                        imgSrc: null,
                        imgElement: ".jarallax-img",
                        imgSize: "cover",
                        imgPosition: "50% 50%",
                        imgRepeat: "no-repeat",
                        keepImg: !1,
                        elementInViewport: null,
                        zIndex: -100,
                        disableParallax: !1,
                        disableVideo: !1,
                        automaticResize: !0,
                        videoSrc: null,
                        videoStartTime: 0,
                        videoEndTime: 0,
                        videoVolume: 0,
                        videoPlayOnlyVisible: !0,
                        onScroll: null,
                        onInit: null,
                        onDestroy: null,
                        onCoverImage: null
                    };
                    var n = o.$item.getAttribute("data-jarallax"),
                        i = JSON.parse(n || "{}");
                    n && console.warn("Detected usage of deprecated data-jarallax JSON options, you should use pure data-attribute options. See info here - https://github.com/nk-o/jarallax/issues/53");
                    var a = o.$item.dataset || {},
                        r = {};
                    if (Object.keys(a).forEach(function (e) {
                            var t = e.substr(0, 1).toLowerCase() + e.substr(1);
                            t && void 0 !== o.defaults[t] && (r[t] = a[e])
                        }), o.options = o.extend({}, o.defaults, i, r, t), o.pureOptions = o.extend({}, o.options), Object.keys(o.options).forEach(function (e) {
                            "true" === o.options[e] ? o.options[e] = !0 : "false" === o.options[e] && (o.options[e] = !1)
                        }), o.options.speed = Math.min(2, Math.max(-1, parseFloat(o.options.speed))), (o.options.noAndroid || o.options.noIos) && (console.warn("Detected usage of deprecated noAndroid or noIos options, you should use disableParallax option. See info here - https://github.com/nk-o/jarallax/#disable-on-mobile-devices"), o.options.disableParallax || (o.options.noIos && o.options.noAndroid ? o.options.disableParallax = /iPad|iPhone|iPod|Android/ : o.options.noIos ? o.options.disableParallax = /iPad|iPhone|iPod/ : o.options.noAndroid && (o.options.disableParallax = /Android/))), "string" == typeof o.options.disableParallax && (o.options.disableParallax = new RegExp(o.options.disableParallax)), o.options.disableParallax instanceof RegExp) {
                        var l = o.options.disableParallax;
                        o.options.disableParallax = function () {
                            return l.test(navigator.userAgent)
                        }
                    }
                    if ("function" != typeof o.options.disableParallax && (o.options.disableParallax = function () {
                            return !1
                        }), "string" == typeof o.options.disableVideo && (o.options.disableVideo = new RegExp(o.options.disableVideo)), o.options.disableVideo instanceof RegExp) {
                        var s = o.options.disableVideo;
                        o.options.disableVideo = function () {
                            return s.test(navigator.userAgent)
                        }
                    }
                    "function" != typeof o.options.disableVideo && (o.options.disableVideo = function () {
                        return !1
                    });
                    var c = o.options.elementInViewport;
                    c && "object" === (void 0 === c ? "undefined" : p(c)) && void 0 !== c.length && (c = d(c, 1)[0]), c instanceof Element || (c = null), o.options.elementInViewport = c, o.image = {
                        src: o.options.imgSrc || null,
                        $container: null,
                        useImgTag: !1,
                        position: /iPad|iPhone|iPod|Android/.test(navigator.userAgent) ? "absolute" : "fixed"
                    }, o.initImg() && o.canInitParallax() && o.init()
                }
                return t(u, [{
                    key: "css",
                    value: function (t, o) {
                        return "string" == typeof o ? i.window.getComputedStyle(t).getPropertyValue(o) : (o.transform && r && (o[r] = o.transform), Object.keys(o).forEach(function (e) {
                            t.style[e] = o[e]
                        }), t)
                    }
                }, {
                    key: "extend",
                    value: function (o) {
                        var n = arguments;
                        return o = o || {}, Object.keys(arguments).forEach(function (t) {
                            n[t] && Object.keys(n[t]).forEach(function (e) {
                                o[e] = n[t][e]
                            })
                        }), o
                    }
                }, {
                    key: "getWindowData",
                    value: function () {
                        return {
                            width: b,
                            height: v,
                            y: l
                        }
                    }
                }, {
                    key: "initImg",
                    value: function () {
                        var e = this,
                            t = e.options.imgElement;
                        return t && "string" == typeof t && (t = e.$item.querySelector(t)), t instanceof Element || (t = null), t && (e.options.keepImg ? e.image.$item = t.cloneNode(!0) : (e.image.$item = t, e.image.$itemParent = t.parentNode), e.image.useImgTag = !0), !(!e.image.$item && (null === e.image.src && (e.image.src = e.css(e.$item, "background-image").replace(/^url\(['"]?/g, "").replace(/['"]?\)$/g, "")), !e.image.src || "none" === e.image.src))
                    }
                }, {
                    key: "canInitParallax",
                    value: function () {
                        return r && !this.options.disableParallax()
                    }
                }, {
                    key: "init",
                    value: function () {
                        var e = this,
                            t = {
                                position: "absolute",
                                top: 0,
                                left: 0,
                                width: "100%",
                                height: "100%",
                                overflow: "hidden",
                                pointerEvents: "none"
                            },
                            o = {};
                        if (!e.options.keepImg) {
                            var n = e.$item.getAttribute("style");
                            if (n && e.$item.setAttribute("data-jarallax-original-styles", n), e.image.useImgTag) {
                                var i = e.image.$item.getAttribute("style");
                                i && e.image.$item.setAttribute("data-jarallax-original-styles", i)
                            }
                        }
                        if ("static" === e.css(e.$item, "position") && e.css(e.$item, {
                                position: "relative"
                            }), "auto" === e.css(e.$item, "z-index") && e.css(e.$item, {
                                zIndex: 0
                            }), e.image.$container = document.createElement("div"), e.css(e.image.$container, t), e.css(e.image.$container, {
                                "z-index": e.options.zIndex
                            }), e.image.$container.setAttribute("id", "jarallax-container-" + e.instanceID), e.$item.appendChild(e.image.$container), e.image.useImgTag ? o = e.extend({
                                "object-fit": e.options.imgSize,
                                "object-position": e.options.imgPosition,
                                "font-family": "object-fit: " + e.options.imgSize + "; object-position: " + e.options.imgPosition + ";",
                                "max-width": "none"
                            }, t, o) : (e.image.$item = document.createElement("div"), e.image.src && (o = e.extend({
                                "background-position": e.options.imgPosition,
                                "background-size": e.options.imgSize,
                                "background-repeat": e.options.imgRepeat,
                                "background-image": 'url("' + e.image.src + '")'
                            }, t, o))), "opacity" !== e.options.type && "scale" !== e.options.type && "scale-opacity" !== e.options.type && 1 !== e.options.speed || (e.image.position = "absolute"), "fixed" === e.image.position)
                            for (var a = 0, r = e.$item; null !== r && r !== document && 0 === a;) {
                                var l = e.css(r, "-webkit-transform") || e.css(r, "-moz-transform") || e.css(r, "transform");
                                l && "none" !== l && (a = 1, e.image.position = "absolute"), r = r.parentNode
                            }
                        o.position = e.image.position, e.css(e.image.$item, o), e.image.$container.appendChild(e.image.$item), e.coverImage(), e.clipContainer(), e.onScroll(!0), e.options.automaticResize && g && g.observe(e.$item), e.options.onInit && e.options.onInit.call(e), "none" !== e.css(e.$item, "background-image") && e.css(e.$item, {
                            "background-image": "none"
                        }), e.addToParallaxList()
                    }
                }, {
                    key: "addToParallaxList",
                    value: function () {
                        m.push(this), 1 === m.length && y()
                    }
                }, {
                    key: "removeFromParallaxList",
                    value: function () {
                        var o = this;
                        m.forEach(function (e, t) {
                            e.instanceID === o.instanceID && m.splice(t, 1)
                        })
                    }
                }, {
                    key: "destroy",
                    value: function () {
                        var e = this;
                        e.removeFromParallaxList();
                        var t = e.$item.getAttribute("data-jarallax-original-styles");
                        if (e.$item.removeAttribute("data-jarallax-original-styles"), t ? e.$item.setAttribute("style", t) : e.$item.removeAttribute("style"), e.image.useImgTag) {
                            var o = e.image.$item.getAttribute("data-jarallax-original-styles");
                            e.image.$item.removeAttribute("data-jarallax-original-styles"), o ? e.image.$item.setAttribute("style", t) : e.image.$item.removeAttribute("style"), e.image.$itemParent && e.image.$itemParent.appendChild(e.image.$item)
                        }
                        e.$clipStyles && e.$clipStyles.parentNode.removeChild(e.$clipStyles), e.image.$container && e.image.$container.parentNode.removeChild(e.image.$container), e.options.onDestroy && e.options.onDestroy.call(e), delete e.$item.jarallax
                    }
                }, {
                    key: "clipContainer",
                    value: function () {
                        if ("fixed" === this.image.position) {
                            var e = this,
                                t = e.image.$container.getBoundingClientRect(),
                                o = t.width,
                                n = t.height;
                            e.$clipStyles || (e.$clipStyles = document.createElement("style"), e.$clipStyles.setAttribute("type", "text/css"), e.$clipStyles.setAttribute("id", "jarallax-clip-" + e.instanceID), (document.head || document.getElementsByTagName("head")[0]).appendChild(e.$clipStyles));
                            var i = "#jarallax-container-" + e.instanceID + " {\n           clip: rect(0 " + o + "px " + n + "px 0);\n           clip: rect(0, " + o + "px, " + n + "px, 0);\n        }";
                            e.$clipStyles.styleSheet ? e.$clipStyles.styleSheet.cssText = i : e.$clipStyles.innerHTML = i
                        }
                    }
                }, {
                    key: "coverImage",
                    value: function () {
                        var e, t = this,
                            o = t.image.$container.getBoundingClientRect(),
                            n = o.height,
                            i = t.options.speed,
                            a = "scroll" === t.options.type || "scroll-opacity" === t.options.type,
                            r = 0,
                            l = n;
                        return a && (r = i < 0 ? i * Math.max(n, v) : i * (n + v), 1 < i ? l = Math.abs(r - v) : i < 0 ? l = r / i + Math.abs(r) : l += Math.abs(v - n) * (1 - i), r /= 2), t.parallaxScrollDistance = r, e = a ? (v - l) / 2 : (n - l) / 2, t.css(t.image.$item, {
                            height: l + "px",
                            marginTop: e + "px",
                            left: "fixed" === t.image.position ? o.left + "px" : "0",
                            width: o.width + "px"
                        }), t.options.onCoverImage && t.options.onCoverImage.call(t), {
                            image: {
                                height: l,
                                marginTop: e
                            },
                            container: o
                        }
                    }
                }, {
                    key: "isVisible",
                    value: function () {
                        return this.isElementInViewport || !1
                    }
                }, {
                    key: "onScroll",
                    value: function (e) {
                        var t = this,
                            o = t.$item.getBoundingClientRect(),
                            n = o.top,
                            i = o.height,
                            a = {},
                            r = o;
                        if (t.options.elementInViewport && (r = t.options.elementInViewport.getBoundingClientRect()), t.isElementInViewport = 0 <= r.bottom && 0 <= r.right && r.top <= v && r.left <= b, e || t.isElementInViewport) {
                            var l = Math.max(0, n),
                                s = Math.max(0, i + n),
                                c = Math.max(0, -n),
                                u = Math.max(0, n + i - v),
                                d = Math.max(0, i - (n + i - v)),
                                p = Math.max(0, -n + v - i),
                                m = 1 - 2 * (v - n) / (v + i),
                                f = 1;
                            if (i < v ? f = 1 - (c || u) / i : s <= v ? f = s / v : d <= v && (f = d / v), "opacity" !== t.options.type && "scale-opacity" !== t.options.type && "scroll-opacity" !== t.options.type || (a.transform = "translate3d(0,0,0)", a.opacity = f), "scale" === t.options.type || "scale-opacity" === t.options.type) {
                                var y = 1;
                                t.options.speed < 0 ? y -= t.options.speed * f : y += t.options.speed * (1 - f), a.transform = "scale(" + y + ") translate3d(0,0,0)"
                            }
                            if ("scroll" === t.options.type || "scroll-opacity" === t.options.type) {
                                var g = t.parallaxScrollDistance * m;
                                "absolute" === t.image.position && (g -= n), a.transform = "translate3d(0," + g + "px,0)"
                            }
                            t.css(t.image.$item, a), t.options.onScroll && t.options.onScroll.call(t, {
                                section: o,
                                beforeTop: l,
                                beforeTopEnd: s,
                                afterTop: c,
                                beforeBottom: u,
                                beforeBottomEnd: d,
                                afterBottom: p,
                                visiblePercent: f,
                                fromViewportCenter: m
                            })
                        }
                    }
                }, {
                    key: "onResize",
                    value: function () {
                        this.coverImage(), this.clipContainer()
                    }
                }]), u
            }(),
            w = function (e) {
                ("object" === ("undefined" == typeof HTMLElement ? "undefined" : p(HTMLElement)) ? e instanceof HTMLElement : e && "object" === (void 0 === e ? "undefined" : p(e)) && null !== e && 1 === e.nodeType && "string" == typeof e.nodeName) && (e = [e]);
                for (var t = arguments[1], o = Array.prototype.slice.call(arguments, 2), n = e.length, i = 0, a = void 0; i < n; i++)
                    if ("object" === (void 0 === t ? "undefined" : p(t)) || void 0 === t ? e[i].jarallax || (e[i].jarallax = new x(e[i], t)) : e[i].jarallax && (a = e[i].jarallax[t].apply(e[i].jarallax, o)), void 0 !== a) return a;
                return e
            };
        w.constructor = x, $.
        default = w
    }).call($, j(2))
}, function (e, t, o) {
    "use strict";
    var n = o(0),
        i = n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame ||
        function (e) {
            var t = +new Date,
                o = Math.max(0, 16 - (t - a)),
                n = setTimeout(e, o);
            return a = t, n
        },
        a = +new Date,
        r = n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || clearTimeout;
    Function.prototype.bind && (i = i.bind(n), r = r.bind(n)), (e.exports = i).cancel = r
}]);
!
function (e) {
    if ("function" == typeof define && define.amd) define(e);
    else if ("object" == typeof exports) module.exports = e();
    else {
        var n = window.Cookies,
            o = window.Cookies = e();
        o.noConflict = function () {
            return window.Cookies = n, o
        }
    }
}(function () {
    function u() {
        for (var e = 0, n = {}; e < arguments.length; e++) {
            var o = arguments[e];
            for (var t in o) n[t] = o[t]
        }
        return n
    }
    return function e(f) {
        function l(e, n, o) {
            var t;
            if (1 < arguments.length) {
                if ("number" == typeof (o = u({
                        path: "/"
                    }, l.defaults, o)).expires) {
                    var i = new Date;
                    i.setMilliseconds(i.getMilliseconds() + 864e5 * o.expires), o.expires = i
                }
                try {
                    t = JSON.stringify(n), /^[\{\[]/.test(t) && (n = t)
                } catch (e) {}
                return n = f.write ? f.write(n, e) : encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), e = (e = (e = encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)).replace(/[\(\)]/g, escape), document.cookie = [e, "=", n, o.expires && "; expires=" + o.expires.toUTCString(), o.path && "; path=" + o.path, o.domain && "; domain=" + o.domain, o.secure ? "; secure" : ""].join("")
            }
            e || (t = {});
            for (var r = document.cookie ? document.cookie.split("; ") : [], c = /(%[0-9A-Z]{2})+/g, s = 0; s < r.length; s++) {
                var a = r[s].split("="),
                    p = a[0].replace(c, decodeURIComponent),
                    d = a.slice(1).join("=");
                '"' === d.charAt(0) && (d = d.slice(1, -1));
                try {
                    if (d = f.read ? f.read(d, p) : f(d, p) || d.replace(c, decodeURIComponent), this.json) try {
                        d = JSON.parse(d)
                    } catch (e) {}
                    if (e === p) {
                        t = d;
                        break
                    }
                    e || (t[p] = d)
                } catch (e) {}
            }
            return t
        }
        return l.get = l.set = l, l.getJSON = function () {
            return l.apply({
                json: !0
            }, [].slice.call(arguments))
        }, l.defaults = {}, l.remove = function (e, n) {
            l(e, "", u(n, {
                expires: -1
            }))
        }, l.withConverter = e, l
    }(function () {})
});
!
function (t, e) {
    "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.ClipboardJS = e() : t.ClipboardJS = e()
}(this, function () {
    return function (n) {
        function o(t) {
            if (r[t]) return r[t].exports;
            var e = r[t] = {
                i: t,
                l: !1,
                exports: {}
            };
            return n[t].call(e.exports, e, e.exports, o), e.l = !0, e.exports
        }
        var r = {};
        return o.m = n, o.c = r, o.i = function (t) {
            return t
        }, o.d = function (t, e, n) {
            o.o(t, e) || Object.defineProperty(t, e, {
                configurable: !1,
                enumerable: !0,
                get: n
            })
        }, o.n = function (t) {
            var e = t && t.__esModule ?
                function () {
                    return t.
                    default
                } : function () {
                    return t
                };
            return o.d(e, "a", e), e
        }, o.o = function (t, e) {
            return Object.prototype.hasOwnProperty.call(t, e)
        }, o.p = "", o(o.s = 3)
    }([function (t, e, n) {
        var o, r, i;
        r = [t, n(7)], void 0 !== (i = "function" == typeof (o = function (t, e) {
            "use strict";
            var n, o = (n = e) && n.__esModule ? n : {
                    default: n
                },
                r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
                function (t) {
                    return typeof t
                } : function (t) {
                    return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                },
                i = function () {
                    function o(t, e) {
                        for (var n = 0; n < e.length; n++) {
                            var o = e[n];
                            o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o)
                        }
                    }
                    return function (t, e, n) {
                        return e && o(t.prototype, e), n && o(t, n), t
                    }
                }(),
                a = function () {
                    function e(t) {
                        (function (t, e) {
                            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                        })(this, e), this.resolveOptions(t), this.initSelection()
                    }
                    return i(e, [{
                        key: "resolveOptions",
                        value: function () {
                            var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
                            this.action = t.action, this.container = t.container, this.emitter = t.emitter, this.target = t.target, this.text = t.text, this.trigger = t.trigger, this.selectedText = ""
                        }
                    }, {
                        key: "initSelection",
                        value: function () {
                            this.text ? this.selectFake() : this.target && this.selectTarget()
                        }
                    }, {
                        key: "selectFake",
                        value: function () {
                            var t = this,
                                e = "rtl" == document.documentElement.getAttribute("dir");
                            this.removeFake(), this.fakeHandlerCallback = function () {
                                return t.removeFake()
                            }, this.fakeHandler = this.container.addEventListener("click", this.fakeHandlerCallback) || !0, this.fakeElem = document.createElement("textarea"), this.fakeElem.style.fontSize = "12pt", this.fakeElem.style.border = "0", this.fakeElem.style.padding = "0", this.fakeElem.style.margin = "0", this.fakeElem.style.position = "absolute", this.fakeElem.style[e ? "right" : "left"] = "-9999px";
                            var n = window.pageYOffset || document.documentElement.scrollTop;
                            this.fakeElem.style.top = n + "px", this.fakeElem.setAttribute("readonly", ""), this.fakeElem.value = this.text, this.container.appendChild(this.fakeElem), this.selectedText = (0, o.default)(this.fakeElem), this.copyText()
                        }
                    }, {
                        key: "removeFake",
                        value: function () {
                            this.fakeHandler && (this.container.removeEventListener("click", this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (this.container.removeChild(this.fakeElem), this.fakeElem = null)
                        }
                    }, {
                        key: "selectTarget",
                        value: function () {
                            this.selectedText = (0, o.default)(this.target), this.copyText()
                        }
                    }, {
                        key: "copyText",
                        value: function () {
                            var e = void 0;
                            try {
                                e = document.execCommand(this.action)
                            } catch (t) {
                                e = !1
                            }
                            this.handleResult(e)
                        }
                    }, {
                        key: "handleResult",
                        value: function (t) {
                            this.emitter.emit(t ? "success" : "error", {
                                action: this.action,
                                text: this.selectedText,
                                trigger: this.trigger,
                                clearSelection: this.clearSelection.bind(this)
                            })
                        }
                    }, {
                        key: "clearSelection",
                        value: function () {
                            this.trigger && this.trigger.focus(), window.getSelection().removeAllRanges()
                        }
                    }, {
                        key: "destroy",
                        value: function () {
                            this.removeFake()
                        }
                    }, {
                        key: "action",
                        set: function () {
                            var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "copy";
                            if (this._action = t, "copy" !== this._action && "cut" !== this._action) throw new Error('Invalid "action" value, use either "copy" or "cut"')
                        },
                        get: function () {
                            return this._action
                        }
                    }, {
                        key: "target",
                        set: function (t) {
                            if (void 0 !== t) {
                                if (!t || "object" !== (void 0 === t ? "undefined" : r(t)) || 1 !== t.nodeType) throw new Error('Invalid "target" value, use a valid Element');
                                if ("copy" === this.action && t.hasAttribute("disabled")) throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
                                if ("cut" === this.action && (t.hasAttribute("readonly") || t.hasAttribute("disabled"))) throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
                                this._target = t
                            }
                        },
                        get: function () {
                            return this._target
                        }
                    }]), e
                }();
            t.exports = a
        }) ? o.apply(e, r) : o) && (t.exports = i)
    }, function (t, e, n) {
        var d = n(6),
            h = n(5);
        t.exports = function (t, e, n) {
            if (!t && !e && !n) throw new Error("Missing required arguments");
            if (!d.string(e)) throw new TypeError("Second argument must be a String");
            if (!d.fn(n)) throw new TypeError("Third argument must be a Function");
            if (d.node(t)) return r = e, i = n, (o = t).addEventListener(r, i), {
                destroy: function () {
                    o.removeEventListener(r, i)
                }
            };
            var o, r, i, a, c, u, l, s, f;
            if (d.nodeList(t)) return a = t, c = e, u = n, Array.prototype.forEach.call(a, function (t) {
                t.addEventListener(c, u)
            }), {
                destroy: function () {
                    Array.prototype.forEach.call(a, function (t) {
                        t.removeEventListener(c, u)
                    })
                }
            };
            if (d.string(t)) return l = t, s = e, f = n, h(document.body, l, s, f);
            throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")
        }
    }, function (t, e) {
        function n() {}
        n.prototype = {
            on: function (t, e, n) {
                var o = this.e || (this.e = {});
                return (o[t] || (o[t] = [])).push({
                    fn: e,
                    ctx: n
                }), this
            },
            once: function (t, e, n) {
                function o() {
                    r.off(t, o), e.apply(n, arguments)
                }
                var r = this;
                return o._ = e, this.on(t, o, n)
            },
            emit: function (t) {
                for (var e = [].slice.call(arguments, 1), n = ((this.e || (this.e = {}))[t] || []).slice(), o = 0, r = n.length; o < r; o++) n[o].fn.apply(n[o].ctx, e);
                return this
            },
            off: function (t, e) {
                var n = this.e || (this.e = {}),
                    o = n[t],
                    r = [];
                if (o && e)
                    for (var i = 0, a = o.length; i < a; i++) o[i].fn !== e && o[i].fn._ !== e && r.push(o[i]);
                return r.length ? n[t] = r : delete n[t], this
            }
        }, t.exports = n
    }, function (t, e, n) {
        var o, r, i;
        r = [t, n(0), n(2), n(1)], void 0 !== (i = "function" == typeof (o = function (t, e, n, o) {
            "use strict";

            function r(t) {
                return t && t.__esModule ? t : {
                    default: t
                }
            }

            function i(t, e) {
                var n = "data-clipboard-" + t;
                if (e.hasAttribute(n)) return e.getAttribute(n)
            }
            var a = r(e),
                c = r(n),
                u = r(o),
                l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
                function (t) {
                    return typeof t
                } : function (t) {
                    return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                },
                s = function () {
                    function o(t, e) {
                        for (var n = 0; n < e.length; n++) {
                            var o = e[n];
                            o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o)
                        }
                    }
                    return function (t, e, n) {
                        return e && o(t.prototype, e), n && o(t, n), t
                    }
                }(),
                f = function (t) {
                    function o(t, e) {
                        !
                        function (t, e) {
                            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                        }(this, o);
                        var n = function (t, e) {
                            if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                            return !e || "object" != typeof e && "function" != typeof e ? t : e
                        }(this, (o.__proto__ || Object.getPrototypeOf(o)).call(this));
                        return n.resolveOptions(e), n.listenClick(t), n
                    }
                    return function (t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }(o, t), s(o, [{
                        key: "resolveOptions",
                        value: function () {
                            var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
                            this.action = "function" == typeof t.action ? t.action : this.defaultAction, this.target = "function" == typeof t.target ? t.target : this.defaultTarget, this.text = "function" == typeof t.text ? t.text : this.defaultText, this.container = "object" === l(t.container) ? t.container : document.body
                        }
                    }, {
                        key: "listenClick",
                        value: function (t) {
                            var e = this;
                            this.listener = (0, u.default)(t, "click", function (t) {
                                return e.onClick(t)
                            })
                        }
                    }, {
                        key: "onClick",
                        value: function (t) {
                            var e = t.delegateTarget || t.currentTarget;
                            this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new a.
                            default({
                                action: this.action(e),
                                target: this.target(e),
                                text: this.text(e),
                                container: this.container,
                                trigger: e,
                                emitter: this
                            })
                        }
                    }, {
                        key: "defaultAction",
                        value: function (t) {
                            return i("action", t)
                        }
                    }, {
                        key: "defaultTarget",
                        value: function (t) {
                            var e = i("target", t);
                            if (e) return document.querySelector(e)
                        }
                    }, {
                        key: "defaultText",
                        value: function (t) {
                            return i("text", t)
                        }
                    }, {
                        key: "destroy",
                        value: function () {
                            this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null)
                        }
                    }], [{
                        key: "isSupported",
                        value: function () {
                            var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"],
                                e = "string" == typeof t ? [t] : t,
                                n = !!document.queryCommandSupported;
                            return e.forEach(function (t) {
                                n = n && !!document.queryCommandSupported(t)
                            }), n
                        }
                    }]), o
                }(c.default);
            t.exports = f
        }) ? o.apply(e, r) : o) && (t.exports = i)
    }, function (t, e) {
        var n = 9;
        if ("undefined" != typeof Element && !Element.prototype.matches) {
            var o = Element.prototype;
            o.matches = o.matchesSelector || o.mozMatchesSelector || o.msMatchesSelector || o.oMatchesSelector || o.webkitMatchesSelector
        }
        t.exports = function (t, e) {
            for (; t && t.nodeType !== n;) {
                if ("function" == typeof t.matches && t.matches(e)) return t;
                t = t.parentNode
            }
        }
    }, function (t, e, n) {
        function i(t, e, n, o, r) {
            var i = function (e, n, t, o) {
                return function (t) {
                    t.delegateTarget = a(t.target, n), t.delegateTarget && o.call(e, t)
                }
            }.apply(this, arguments);
            return t.addEventListener(n, i, r), {
                destroy: function () {
                    t.removeEventListener(n, i, r)
                }
            }
        }
        var a = n(4);
        t.exports = function (t, e, n, o, r) {
            return "function" == typeof t.addEventListener ? i.apply(null, arguments) : "function" == typeof n ? i.bind(null, document).apply(null, arguments) : ("string" == typeof t && (t = document.querySelectorAll(t)), Array.prototype.map.call(t, function (t) {
                return i(t, e, n, o, r)
            }))
        }
    }, function (t, n) {
        n.node = function (t) {
            return void 0 !== t && t instanceof HTMLElement && 1 === t.nodeType
        }, n.nodeList = function (t) {
            var e = Object.prototype.toString.call(t);
            return void 0 !== t && ("[object NodeList]" === e || "[object HTMLCollection]" === e) && "length" in t && (0 === t.length || n.node(t[0]))
        }, n.string = function (t) {
            return "string" == typeof t || t instanceof String
        }, n.fn = function (t) {
            return "[object Function]" === Object.prototype.toString.call(t)
        }
    }, function (t, e) {
        t.exports = function (t) {
            var e;
            if ("SELECT" === t.nodeName) t.focus(), e = t.value;
            else if ("INPUT" === t.nodeName || "TEXTAREA" === t.nodeName) {
                var n = t.hasAttribute("readonly");
                n || t.setAttribute("readonly", ""), t.select(), t.setSelectionRange(0, t.value.length), n || t.removeAttribute("readonly"), e = t.value
            } else {
                t.hasAttribute("contenteditable") && t.focus();
                var o = window.getSelection(),
                    r = document.createRange();
                r.selectNodeContents(t), o.removeAllRanges(), o.addRange(r), e = o.toString()
            }
            return e
        }
    }])
});
var body = jQuery("body"),
    st = 0,
    navText = ['<i class="iconfont icon-zuo1"></i>', '<i class="iconfont icon-zuo"></i>'];

function navbar() {
    "use strict";
    st = jQuery(window).scrollTop();
    var e = jQuery(".navbar-sticky_transparent.with-hero, .navbar-sticky_transparent.with-featured-wrapper");
    80 < st ? e.addClass("navbar-translucent") : e.removeClass("navbar-translucent")
}

function hero() {
    "use strict";
    body.hasClass("with-hero") && (body.hasClass("navbar-regular") ? jQuery(".hero-full .hero").height(jQuery(window).height() - jQuery(".site-header").height() - jQuery("#wpadminbar").height()) : jQuery(".hero-full .hero").height(jQuery(window).height() - parseInt(body.css("padding-top")) - jQuery("#wpadminbar").height()), jQuery(".hero-gallery .hero").length && jQuery(".hero-gallery .hero").imagesLoaded({
        background: ".slider-item"
    }, function () {
        jQuery(".hero-slider").owlCarousel({
            animateOut: "fadeOut",
            dots: !1,
            items: 1,
            mouseDrag: !1,
            nav: !0,
            navText: navText,
            onInitialized: function (e) {
                jQuery(".hero-slider").find(".owl-item:first-child").addClass("finished")
            },
            onTranslated: function (e) {
                jQuery(".hero-slider").find(".owl-item").removeClass("finished"), jQuery(".hero-slider").find(".owl-item:nth-child(" + (e.item.index + 1) + ")").addClass("finished")
            },
            touchDrag: !1
        })
    }))
}

function heroContent() {
    "use strict";
    st = jQuery(window).scrollTop();
    var e = jQuery(".hero-content");
    st <= 200 ? e.each(function (e, t) {
        t.style.setProperty("--opacity", (200 - st) / 200), t.style.setProperty("--y", st / 20 + "px")
    }) : e.each(function (e, t) {
        t.style.setProperty("--opacity", 0), t.style.setProperty("--y", "10px")
    })
}

function featuredPosts() {
    "use strict";
    jQuery(".featured-posts.v1").owlCarousel({
        dots: 1,
        items: 1,
        nav: !0,
        navSpeed: 500,
        autoplay: true,
        navText: navText
    })
}

function categoryBoxes() {
    "use strict";
    jQuery(".category-boxes").owlCarousel({
        dots: !1,
        margin: 30,
        nav: !0,
        navSpeed: 500,
        navText: navText,
        responsive: {
            0: {
                items: 1
            },
            768: {
                items: 2
            },
            992: {
                items: 3
            }
        }
    })
}

function offCanvas() {
    "use strict";
    var t = jQuery(".hamburger"),
        a = jQuery(".off-canvas"),
        e = a.find(".close");
    jQuery(".main-menu .nav-list").slicknav({
        label: "",
        prependTo: ".mobile-menu"
    }), jQuery(".site-content").find(".widget-area").clone().appendTo(a), t.on("click", function () {
        body.addClass("canvas-open")
    }), e.on("click", function () {
        body.removeClass("canvas-open")
    }), jQuery(document).keyup(function (e) {
        27 == e.keyCode && body.hasClass("canvas-open") && body.removeClass("canvas-open")
    }), jQuery(document).mouseup(function (e) {
        a.is(e.target) || 0 !== a.has(e.target).length || t.is(e.target) || 0 !== t.has(e.target).length || !body.hasClass("canvas-open") || body.removeClass("canvas-open")
    })
}

function megaMenu() {
    "use strict";
    var e = {
        dots: !1,
        items: 5,
        margin: 20,
        nav: !0,
        navSpeed: 500,
        navText: navText,
        stagePadding: 20
    };
    jQuery(".site-header").children(".container").length && (e.items = 4), jQuery(".menu-posts").not(".owl-loaded").owlCarousel(e)
}

function instagramSlider() {
    "use strict";
    jQuery(".instagram-slider").find(".instagram-pics").not(".owl-loaded").addClass("owl-carousel").owlCarousel({
        dots: !1,
        margin: 20,
        nav: !0,
        navSpeed: 500,
        navText: navText,
        responsive: {
            0: {
                items: 1
            },
            576: {
                items: 2
            },
            768: {
                items: 3
            },
            992: {
                items: 4
            },
            1200: {
                items: 5
            }
        },
        stagePadding: 20
    })
}

function gallery() {
    "use strict";
    jQuery(".entry-gallery").not(".owl-loaded").owlCarousel({
        autoHeight: !0,
        dots: !1,
        items: 1,
        nav: !0,
        navSpeed: 500,
        navText: navText
    })
}

function explore() {
    "use strict";
    jQuery(".explore-posts").not(".owl-loaded").owlCarousel({
        dots: !1,
        margin: 20,
        nav: !0,
        navSpeed: 500,
        navText: navText,
        responsive: {
            0: {
                items: 1
            },
            768: {
                items: 2
            },
            992: {
                items: 3
            },
            1200: {
                items: 4
            }
        }
    })
}

function picks() {
    "use strict";
    jQuery(".picked-posts").not(".owl-loaded").owlCarousel({
        autoplay: !0,
        autoplayHoverPause: !0,
        autoplaySpeed: 500,
        autoplayTimeout: 3e3,
        items: 1,
        loop: !0
    })
}

function fitVids() {
    "use strict";
    body.fitVids()
}

function search() {
    "use strict";
    var t = jQuery(".main-search"),
        e = t.find(".search-field");
    jQuery(".search-open").on("click", function () {
        body.addClass("search-open"), e.focus()
    }), jQuery(document).keyup(function (e) {
        27 == e.keyCode && body.hasClass("search-open") && body.removeClass("search-open")
    }), jQuery(".search-close").on("click", function () {
        body.hasClass("search-open") && body.removeClass("search-open")
    }), jQuery(document).mouseup(function (e) {
        !t.is(e.target) && 0 === t.has(e.target).length && body.hasClass("search-open") && body.removeClass("search-open")
    })
}

function stickySidebar() {
    "use strict";
    var e = 30;
    (body.hasClass("navbar-sticky_transparent") || body.hasClass("navbar-sticky")) && (e += 70), jQuery("#wpadminbar").length && (e += 32), jQuery(".site-content > .row > .col-lg-3").theiaStickySidebar({
        additionalMarginTop: e,
        additionalMarginBottom: 30
    })
}

function bookmark() {
    "use strict";
    jQuery(".site-content").on("click", ".bookmark", function (e) {
        e.preventDefault(), popup(jQuery(this).attr("data-url"))
    })
}

function share() {
    "use strict";
    var t, a = jQuery(".modal"),
        b = jQuery(".dialog"),
        n = jQuery(".dimmer"),
        i = a.find(".modal-thumbnail").find("img"),
        o = a.find(".modal-title"),
        r = a.find(".weibo_share"),
        s = a.find(".qq_share"),
        w = b.find(".weixin_share"),
        c = a.find(".modal-permalink"),
        y = a.find("button"),
        h = y.find(".iconfont");
    jQuery(".site-content").on("click", ".share", function (e) {
        e.preventDefault(), t = jQuery(this), i.removeClass("lazyloaded").addClass("lazyload").attr("data-src", t.attr("data-thumbnail")), o.text(t.attr("data-title")), r.attr("href", "https://service.weibo.com/share/share.php?url=" + encodeURIComponent(t.attr("data-url"))), w.attr("src", "https://static.yumus.cn/img/wxpay.png"), s.attr("href", "https://connect.qq.com/widget/shareqq/index.html?url=" + encodeURIComponent(t.attr("data-url")) + "&amp;title=" + escape(t.attr("data-title"))), c.val(t.attr("data-url")), y.attr("data-clipboard-text", t.attr("data-url")), h.removeClass("icon-duihao").addClass("icon-fuzhi"), a.fadeIn("fast"), n.fadeIn("fast")
    }), y.on("click", function (e) {
        e.preventDefault(), new ClipboardJS(".modal button"), h.removeClass("icon-fuzhi").addClass("icon-duihao")
    }), n.on("click", function () {
        a.fadeOut(0), n.fadeOut(0)
    })
}

function layout() {
    "use strict";
    var e = jQuery(".posts-wrapper"),
        n = jQuery(".infinite-scroll-button"),
        t = {
            append: ".posts-wrapper > *",
            debug: !1,
            hideNav: ".posts-navigation",
            history: !1,
            path: ".posts-navigation .nav-previous a",
            prefill: !0,
            status: ".infinite-scroll-status"
        };
    body.hasClass("with-masonry") && ((e = e.masonry({
        columnWidth: ".grid-sizer",
        hiddenStyle: {
            opacity: 0,
            transform: "translateY(20px)"
        },
        initLayout: !1,
        itemSelector: ".grid-item",
        percentPosition: !0,
        visibleStyle: {
            opacity: 1,
            transform: "translateY(0)"
        }
    })).on("layoutComplete", function (e, t) {
        jQuery(this).addClass("initialized")
    }), e.masonry(), t.outlayer = e.data("masonry")), body.hasClass("pagination-infinite_button") && (t.button = ".infinite-scroll-button", t.prefill = !1, t.scrollThreshold = !1, e.on("request.infiniteScroll", function (e, t) {
        n.text(site_url.infinite_loading)
    }), e.on("load.infiniteScroll", function (e, t, a) {
        n.text(site_url.infinite_load)
    })), (body.hasClass("pagination-infinite_button") || body.hasClass("pagination-infinite_scroll")) && body.hasClass("paged-next") && (e.infiniteScroll(t), body.hasClass("layout-one") && e.on("append.infiniteScroll", function (e, t, a, n) {
        gallery(), fitVids()
    }))
}

function popup(e, t, a, n) {
    "use strict";
    t = t || "", a = a || 500, n = n || 300;
    var i = null != window.screenLeft ? window.screenLeft : screen.left,
        o = null != window.screenTop ? window.screenTop : screen.top,
        r = (window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width) / 2 - a / 2 + i,
        s = (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height) / 2 - n / 2 + o,
        l = window.open(e, t, "scrollbars=yes, width=" + a + ", height=" + n + ", top=" + s + ", left=" + r);
    window.focus && l.focus()
}
window.lazySizesConfig = window.lazySizesConfig || {}, window.lazySizesConfig.loadHidden = !1, jQuery(function () {
    "use strict";
    hero(), featuredPosts(), categoryBoxes(), offCanvas(), megaMenu(), instagramSlider(), gallery(), explore(), picks(), fitVids(), search(), stickySidebar(), bookmark(), share(), layout()
}), document.addEventListener("lazyloaded", function (e) {
    (jQuery(e.target).parents(".hero").length || jQuery(e.target).hasClass("hero") || jQuery(e.target).hasClass("featured-wrapper")) && jQuery(e.target).jarallax({
        disableParallax: /iPad|iPhone|iPod|Android/,
        disableVideo: /iPad|iPhone|iPod|Android/,
        speed: .1
    }), jQuery(e.target).parents(".entry-gallery").length && jQuery(e.target).parents(".entry-gallery").trigger("refresh.owl.carousel")
}), jQuery(window).on("load", function () {
    body.hasClass("with-masonry") && jQuery(".posts-wrapper").masonry("layout")
}), jQuery(window).on("scroll", function () {
    "use strict";
    body.hasClass("navbar-sticky_transparent") && window.requestAnimationFrame(navbar), window.requestAnimationFrame(heroContent)
});
jQuery(document).ready(function ($) {
    $('#tooltip-s-weixin').on('click', function () {
        $('.f-weixin-dropdown').toggleClass('is-visible');
    });
    $('#tooltip-f-weixin').on('click', function () {
        $('.f-weixin-dropdown').toggleClass('is-visible');
    });
    $(".close-weixin").on('click', function () {
        $(".f-weixin-dropdown").removeClass('is-visible');
    });
    $('#tooltip-s-weixin2').on('click', function () {
        $('.f-weixin-dropdown').toggleClass('is-visible');
    });
    $('#tooltip-f-weixin2').on('click', function () {
        $('.f-weixin-dropdown').toggleClass('is-visible');
    });
});
(function ($) {
    $.fn.miPopup = function () {
        this.bind('click touchstart', function (event) {
            var html = $('<div class="dialog_overlay"></div>');
            var selector = $(this).data('selector');
            var close_icon = $(selector).find('.btn-close');
            $(selector).addClass('open').find('.btn-close').on('click touchstart', function (event) {
                event.preventDefault();
                $(html).remove();
                $(selector).removeClass('open');
                $(selector).addClass('close');
                $('body').removeClass('modal-open');
                setTimeout(function () {
                    $(selector).removeClass('close');
                }, 200);
                close_icon.unbind();
            });
            $('body').addClass('modal-open');
            $('body').append(html);
            $('body').on("keyup", function (e) {
                if (e.keyCode === 27) close_icon.click();
            });
        });
    };
    $('[data-module="miPopup"]').miPopup();
})(jQuery);
jQuery(function () {
    setInterval(function () {
        jQuery('.js-animated-circles').toggleClass('animated');
    }, 4000);
    jQuery('#lc-girl-block-en_2').on({
        'mouseover': function () {
            jQuery(this).find('.js-livechat-hint').removeClass('hide_hint').addClass('show_hint');
        },
        'mouseleave': function () {
            jQuery(this).find('.js-livechat-hint').removeClass('show_hint').addClass('hide_hint');
        }
    })
});

//返回顶部
!
function (o) {
    "use strict";
    o.fn.toTop = function (t) {
        var i = this,
            e = o(window),
            s = o("html, body"),
            n = o.extend({
                autohide: !0,
                offset: 420,
                speed: 500,
                position: !0,
                right: 75,
                bottom: 150
            }, t);
        i.css({
            cursor: "pointer"
        }), n.autohide && i.css("display", "none"), n.position && i.css({
            position: "fixed",
            right: n.right,
            bottom: n.bottom
        }), i.click(function () {
            s.animate({
                scrollTop: 0
            }, n.speed)
        }), e.scroll(function () {
            var o = e.scrollTop();
            n.autohide && (o > n.offset ? i.fadeIn(n.speed) : i.fadeOut(n.speed))
        })
    }
}(jQuery);
jQuery(function () {
    jQuery('#goTopBtn').toTop();
}); /*fancybox*/
$(function () {
    jQuery(".gallery a").attr("data-fancybox", "images");
    //jQuery('a[data-fancybox="images"]').fancybox();
});


jQuery.fn.putCursorAtEnd = function () {
    return this.each(function () {
        // If this function exists...
        if (this.setSelectionRange) {
            // ... then use it (Doesn't work in IE)
            // Double the length because Opera is inconsistent about whether a carriage return is one character or two. Sigh.
            var len = $(this).val().length * 2;
            this.setSelectionRange(len, len);
        } else {
            // ... otherwise replace the contents with itself
            // (Doesn't work in Google Chrome)
            $(this).val($(this).val());
        }
    });
};