/*! modernizr 3.6.0 (Custom Build) | MIT *
 * https://modernizr.com/download/?-cssanimations-csscolumns-customelements-flexbox-history-picture-pointerevents-postmessage-sizes-srcset-webgl-websockets-webworkers-addtest-domprefixes-hasevent-mq-prefixedcssvalue-prefixes-setclasses-testallprops-testprop-teststyles !*/
!(function (e, t, n) {
    function r(e, t) {
        return typeof e === t;
    }
    function o() {
        var e, t, n, o, i, s, a;
        for (var l in C)
            if (C.hasOwnProperty(l)) {
                if (((e = []), (t = C[l]), t.name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length))) for (n = 0; n < t.options.aliases.length; n++) e.push(t.options.aliases[n].toLowerCase());
                for (o = r(t.fn, "function") ? t.fn() : t.fn, i = 0; i < e.length; i++)
                    (s = e[i]),
                        (a = s.split(".")),
                        1 === a.length ? (Modernizr[a[0]] = o) : (!Modernizr[a[0]] || Modernizr[a[0]] instanceof Boolean || (Modernizr[a[0]] = new Boolean(Modernizr[a[0]])), (Modernizr[a[0]][a[1]] = o)),
                        w.push((o ? "" : "no-") + a.join("-"));
            }
    }
    function i(e) {
        var t = S.className,
            n = Modernizr._config.classPrefix || "";
        if ((x && (t = t.baseVal), Modernizr._config.enableJSClass)) {
            var r = new RegExp("(^|\\s)" + n + "no-js(\\s|$)");
            t = t.replace(r, "$1" + n + "js$2");
        }
        Modernizr._config.enableClasses && ((t += " " + n + e.join(" " + n)), x ? (S.className.baseVal = t) : (S.className = t));
    }
    function s(e, t) {
        if ("object" == typeof e) for (var n in e) P(e, n) && s(n, e[n]);
        else {
            e = e.toLowerCase();
            var r = e.split("."),
                o = Modernizr[r[0]];
            if ((2 == r.length && (o = o[r[1]]), "undefined" != typeof o)) return Modernizr;
            (t = "function" == typeof t ? t() : t),
                1 == r.length ? (Modernizr[r[0]] = t) : (!Modernizr[r[0]] || Modernizr[r[0]] instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])), (Modernizr[r[0]][r[1]] = t)),
                i([(t && 0 != t ? "" : "no-") + r.join("-")]),
                Modernizr._trigger(e, t);
        }
        return Modernizr;
    }
    function a() {
        return "function" != typeof t.createElement ? t.createElement(arguments[0]) : x ? t.createElementNS.call(t, "http://www.w3.org/2000/svg", arguments[0]) : t.createElement.apply(t, arguments);
    }
    function l() {
        var e = t.body;
        return e || ((e = a(x ? "svg" : "body")), (e.fake = !0)), e;
    }
    function u(e, n, r, o) {
        var i,
            s,
            u,
            f,
            d = "modernizr",
            c = a("div"),
            p = l();
        if (parseInt(r, 10)) for (; r--; ) (u = a("div")), (u.id = o ? o[r] : d + (r + 1)), c.appendChild(u);
        return (
            (i = a("style")),
            (i.type = "text/css"),
            (i.id = "s" + d),
            (p.fake ? p : c).appendChild(i),
            p.appendChild(c),
            i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(t.createTextNode(e)),
            (c.id = d),
            p.fake && ((p.style.background = ""), (p.style.overflow = "hidden"), (f = S.style.overflow), (S.style.overflow = "hidden"), S.appendChild(p)),
            (s = n(c, e)),
            p.fake ? (p.parentNode.removeChild(p), (S.style.overflow = f), S.offsetHeight) : c.parentNode.removeChild(c),
            !!s
        );
    }
    function f(e, t) {
        return !!~("" + e).indexOf(t);
    }
    function d(e) {
        return e
            .replace(/([A-Z])/g, function (e, t) {
                return "-" + t.toLowerCase();
            })
            .replace(/^ms-/, "-ms-");
    }
    function c(t, n, r) {
        var o;
        if ("getComputedStyle" in e) {
            o = getComputedStyle.call(e, t, n);
            var i = e.console;
            if (null !== o) r && (o = o.getPropertyValue(r));
            else if (i) {
                var s = i.error ? "error" : "log";
                i[s].call(i, "getComputedStyle returning null, its possible modernizr test results are inaccurate");
            }
        } else o = !n && t.currentStyle && t.currentStyle[r];
        return o;
    }
    function p(t, r) {
        var o = t.length;
        if ("CSS" in e && "supports" in e.CSS) {
            for (; o--; ) if (e.CSS.supports(d(t[o]), r)) return !0;
            return !1;
        }
        if ("CSSSupportsRule" in e) {
            for (var i = []; o--; ) i.push("(" + d(t[o]) + ":" + r + ")");
            return (
                (i = i.join(" or ")),
                u("@supports (" + i + ") { #modernizr { position: absolute; } }", function (e) {
                    return "absolute" == c(e, null, "position");
                })
            );
        }
        return n;
    }
    function m(e) {
        return e
            .replace(/([a-z])-([a-z])/g, function (e, t, n) {
                return t + n.toUpperCase();
            })
            .replace(/^-/, "");
    }
    function h(e, t, o, i) {
        function s() {
            u && (delete N.style, delete N.modElem);
        }
        if (((i = r(i, "undefined") ? !1 : i), !r(o, "undefined"))) {
            var l = p(e, o);
            if (!r(l, "undefined")) return l;
        }
        for (var u, d, c, h, v, A = ["modernizr", "tspan", "samp"]; !N.style && A.length; ) (u = !0), (N.modElem = a(A.shift())), (N.style = N.modElem.style);
        for (c = e.length, d = 0; c > d; d++)
            if (((h = e[d]), (v = N.style[h]), f(h, "-") && (h = m(h)), N.style[h] !== n)) {
                if (i || r(o, "undefined")) return s(), "pfx" == t ? h : !0;
                try {
                    N.style[h] = o;
                } catch (g) {}
                if (N.style[h] != v) return s(), "pfx" == t ? h : !0;
            }
        return s(), !1;
    }
    function v(e, t) {
        return function () {
            return e.apply(t, arguments);
        };
    }
    function A(e, t, n) {
        var o;
        for (var i in e) if (e[i] in t) return n === !1 ? e[i] : ((o = t[e[i]]), r(o, "function") ? v(o, n || t) : o);
        return !1;
    }
    function g(e, t, n, o, i) {
        var s = e.charAt(0).toUpperCase() + e.slice(1),
            a = (e + " " + O.join(s + " ") + s).split(" ");
        return r(t, "string") || r(t, "undefined") ? h(a, t, o, i) : ((a = (e + " " + T.join(s + " ") + s).split(" ")), A(a, t, n));
    }
    function y(e, t, r) {
        return g(e, n, n, t, r);
    }
    var C = [],
        b = {
            _version: "3.6.0",
            _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 },
            _q: [],
            on: function (e, t) {
                var n = this;
                setTimeout(function () {
                    t(n[e]);
                }, 0);
            },
            addTest: function (e, t, n) {
                C.push({ name: e, fn: t, options: n });
            },
            addAsyncTest: function (e) {
                C.push({ name: null, fn: e });
            },
        },
        Modernizr = function () {};
    (Modernizr.prototype = b), (Modernizr = new Modernizr());
    var w = [],
        S = t.documentElement,
        x = "svg" === S.nodeName.toLowerCase(),
        _ = "Moz O ms Webkit",
        T = b._config.usePrefixes ? _.toLowerCase().split(" ") : [];
    b._domPrefixes = T;
    var E = b._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : ["", ""];
    b._prefixes = E;
    var P;
    !(function () {
        var e = {}.hasOwnProperty;
        P =
            r(e, "undefined") || r(e.call, "undefined")
                ? function (e, t) {
                      return t in e && r(e.constructor.prototype[t], "undefined");
                  }
                : function (t, n) {
                      return e.call(t, n);
                  };
    })(),
        (b._l = {}),
        (b.on = function (e, t) {
            this._l[e] || (this._l[e] = []),
                this._l[e].push(t),
                Modernizr.hasOwnProperty(e) &&
                    setTimeout(function () {
                        Modernizr._trigger(e, Modernizr[e]);
                    }, 0);
        }),
        (b._trigger = function (e, t) {
            if (this._l[e]) {
                var n = this._l[e];
                setTimeout(function () {
                    var e, r;
                    for (e = 0; e < n.length; e++) (r = n[e])(t);
                }, 0),
                    delete this._l[e];
            }
        }),
        Modernizr._q.push(function () {
            b.addTest = s;
        });
    var k = (function () {
        function e(e, t) {
            var o;
            return e
                ? ((t && "string" != typeof t) || (t = a(t || "div")),
                  (e = "on" + e),
                  (o = e in t),
                  !o && r && (t.setAttribute || (t = a("div")), t.setAttribute(e, ""), (o = "function" == typeof t[e]), t[e] !== n && (t[e] = n), t.removeAttribute(e)),
                  o)
                : !1;
        }
        var r = !("onblur" in t.documentElement);
        return e;
    })();
    b.hasEvent = k;
    var z = (function () {
        var t = e.matchMedia || e.msMatchMedia;
        return t
            ? function (e) {
                  var n = t(e);
                  return (n && n.matches) || !1;
              }
            : function (t) {
                  var n = !1;
                  return (
                      u("@media " + t + " { #modernizr { position: absolute; } }", function (t) {
                          n = "absolute" == (e.getComputedStyle ? e.getComputedStyle(t, null) : t.currentStyle).position;
                      }),
                      n
                  );
              };
    })();
    b.mq = z;
    var B = function (e, t) {
        var n = !1,
            r = a("div"),
            o = r.style;
        if (e in o) {
            var i = T.length;
            for (o[e] = t, n = o[e]; i-- && !n; ) (o[e] = "-" + T[i] + "-" + t), (n = o[e]);
        }
        return "" === n && (n = !1), n;
    };
    b.prefixedCSSValue = B;
    var O = b._config.usePrefixes ? _.split(" ") : [];
    b._cssomPrefixes = O;
    var L = { elem: a("modernizr") };
    Modernizr._q.push(function () {
        delete L.elem;
    });
    var N = { style: L.elem.style };
    Modernizr._q.unshift(function () {
        delete N.style;
    }),
        (b.testAllProps = g),
        (b.testAllProps = y);
    (b.testProp = function (e, t, r) {
        return h([e], n, t, r);
    }),
        (b.testStyles = u);
    Modernizr.addTest("customelements", "customElements" in e),
        Modernizr.addTest("history", function () {
            var t = navigator.userAgent;
            return (-1 === t.indexOf("Android 2.") && -1 === t.indexOf("Android 4.0")) || -1 === t.indexOf("Mobile Safari") || -1 !== t.indexOf("Chrome") || -1 !== t.indexOf("Windows Phone") || "file:" === location.protocol
                ? e.history && "pushState" in e.history
                : !1;
        }),
        Modernizr.addTest("pointerevents", function () {
            var e = !1,
                t = T.length;
            for (e = Modernizr.hasEvent("pointerdown"); t-- && !e; ) k(T[t] + "pointerdown") && (e = !0);
            return e;
        }),
        Modernizr.addTest("postmessage", "postMessage" in e),
        Modernizr.addTest("webgl", function () {
            var t = a("canvas"),
                n = "probablySupportsContext" in t ? "probablySupportsContext" : "supportsContext";
            return n in t ? t[n]("webgl") || t[n]("experimental-webgl") : "WebGLRenderingContext" in e;
        });
    var R = !1;
    try {
        R = "WebSocket" in e && 2 === e.WebSocket.CLOSING;
    } catch (j) {}
    Modernizr.addTest("websockets", R),
        Modernizr.addTest("cssanimations", y("animationName", "a", !0)),
        (function () {
            Modernizr.addTest("csscolumns", function () {
                var e = !1,
                    t = y("columnCount");
                try {
                    (e = !!t), e && (e = new Boolean(e));
                } catch (n) {}
                return e;
            });
            for (var e, t, n = ["Width", "Span", "Fill", "Gap", "Rule", "RuleColor", "RuleStyle", "RuleWidth", "BreakBefore", "BreakAfter", "BreakInside"], r = 0; r < n.length; r++)
                (e = n[r].toLowerCase()), (t = y("column" + n[r])), ("breakbefore" === e || "breakafter" === e || "breakinside" == e) && (t = t || y(n[r])), Modernizr.addTest("csscolumns." + e, t);
        })(),
        Modernizr.addTest("flexbox", y("flexBasis", "1px", !0)),
        Modernizr.addTest("picture", "HTMLPictureElement" in e),
        Modernizr.addAsyncTest(function () {
            var e,
                t,
                n,
                r = a("img"),
                o = "sizes" in r;
            !o && "srcset" in r
                ? ((t = "data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw=="),
                  (e = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),
                  (n = function () {
                      s("sizes", 2 == r.width);
                  }),
                  (r.onload = n),
                  (r.onerror = n),
                  r.setAttribute("sizes", "9px"),
                  (r.srcset = e + " 1w," + t + " 8w"),
                  (r.src = e))
                : s("sizes", o);
        }),
        Modernizr.addTest("srcset", "srcset" in a("img")),
        Modernizr.addTest("webworkers", "Worker" in e),
        o(),
        i(w),
        delete b.addTest,
        delete b.addAsyncTest;
    for (var M = 0; M < Modernizr._q.length; M++) Modernizr._q[M]();
    e.Modernizr = Modernizr;
})(window, document);
