/*! modernizr 3.3.1 (Custom Build) | MIT * * http://modernizr.com/download/?-flexbox-flexboxlegacy-flexboxtweener-touchevents-mq-prefixed-setclasses !*/ ! function(e, n, t) { function r(e, n) { return typeof e === n } function o() { var e, n, t, o, i, s, a; for (var f in g) if (g.hasOwnProperty(f)) { if (e = [], n = g[f], n.name && (e.push(n.name.toLowerCase()), n.options && n.options.aliases && n.options.aliases.length)) for (t = 0; t < n.options.aliases.length; t++) e.push(n.options.aliases[t].toLowerCase()); for (o = r(n.fn, "function") ? n.fn() : n.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), C.push((o ? "" : "no-") + a.join("-")) } } function i(e) { var n = _.className, t = Modernizr._config.classPrefix || ""; if (w && (n = n.baseVal), Modernizr._config.enableJSClass) { var r = new RegExp("(^|\\s)" + t + "no-js(\\s|$)"); n = n.replace(r, "$1" + t + "js$2") } Modernizr._config.enableClasses && (n += " " + t + e.join(" " + t), w ? _.className.baseVal = n : _.className = n) } function s() { return "function" != typeof n.createElement ? n.createElement(arguments[0]) : w ? n.createElementNS.call(n, "http://www.w3.org/2000/svg", arguments[0]) : n.createElement.apply(n, arguments) } function a() { var e = n.body; return e || (e = s(w ? "svg" : "body"), e.fake = !0), e } function f(e, t, r, o) { var i, f, l, u, c = "modernizr", d = s("div"), p = a(); if (parseInt(r, 10)) for (; r--;) l = s("div"), l.id = o ? o[r] : c + (r + 1), d.appendChild(l); return i = s("style"), i.type = "text/css", i.id = "s" + c, (p.fake ? p : d).appendChild(i), p.appendChild(d), i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(n.createTextNode(e)), d.id = c, p.fake && (p.style.background = "", p.style.overflow = "hidden", u = _.style.overflow, _.style.overflow = "hidden", _.appendChild(p)), f = t(d, e), p.fake ? (p.parentNode.removeChild(p), _.style.overflow = u, _.offsetHeight) : d.parentNode.removeChild(d), !!f } function l(e, n) { return !!~("" + e).indexOf(n) } function u(e) { return e.replace(/([A-Z])/g, function(e, n) { return "-" + n.toLowerCase() }).replace(/^ms-/, "-ms-") } function c(n, r) { var o = n.length; if ("CSS" in e && "supports" in e.CSS) { for (; o--;) if (e.CSS.supports(u(n[o]), r)) return !0; return !1 } if ("CSSSupportsRule" in e) { for (var i = []; o--;) i.push("(" + u(n[o]) + ":" + r + ")"); return i = i.join(" or "), f("@supports (" + i + ") { #modernizr { position: absolute; } }", function(e) { return "absolute" == getComputedStyle(e, null).position }) } return t } function d(e) { return e.replace(/([a-z])-([a-z])/g, function(e, n, t) { return n + t.toUpperCase() }).replace(/^-/, "") } function p(e, n, o, i) { function a() { u && (delete E.style, delete E.modElem) } if (i = r(i, "undefined") ? !1 : i, !r(o, "undefined")) { var f = c(e, o); if (!r(f, "undefined")) return f } for (var u, p, m, v, h, y = ["modernizr", "tspan"]; !E.style;) u = !0, E.modElem = s(y.shift()), E.style = E.modElem.style; for (m = e.length, p = 0; m > p; p++) if (v = e[p], h = E.style[v], l(v, "-") && (v = d(v)), E.style[v] !== t) { if (i || r(o, "undefined")) return a(), "pfx" == n ? v : !0; try { E.style[v] = o } catch (g) {} if (E.style[v] != h) return a(), "pfx" == n ? v : !0 } return a(), !1 } function m(e, n) { return function() { return e.apply(n, arguments) } } function v(e, n, t) { var o; for (var i in e) if (e[i] in n) return t === !1 ? e[i] : (o = n[e[i]], r(o, "function") ? m(o, t || n) : o); return !1 } function h(e, n, t, o, i) { var s = e.charAt(0).toUpperCase() + e.slice(1), a = (e + " " + T.join(s + " ") + s).split(" "); return r(n, "string") || r(n, "undefined") ? p(a, n, o, i) : (a = (e + " " + P.join(s + " ") + s).split(" "), v(a, n, t)) } function y(e, n, r) { return h(e, t, t, n, r) } var g = [], x = { _version: "3.3.1", _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function(e, n) { var t = this; setTimeout(function() { n(t[e]) }, 0) }, addTest: function(e, n, t) { g.push({ name: e, fn: n, options: t }) }, addAsyncTest: function(e) { g.push({ name: null, fn: e }) } }, Modernizr = function() {}; Modernizr.prototype = x, Modernizr = new Modernizr; var C = [], _ = n.documentElement, w = "svg" === _.nodeName.toLowerCase(), S = function() { var n = e.matchMedia || e.msMatchMedia; return n ? function(e) { var t = n(e); return t && t.matches || !1 } : function(n) { var t = !1; return f("@media " + n + " { #modernizr { position: absolute; } }", function(n) { t = "absolute" == (e.getComputedStyle ? e.getComputedStyle(n, null) : n.currentStyle).position }), t } }(); x.mq = S; var b = "Moz O ms Webkit", T = x._config.usePrefixes ? b.split(" ") : []; x._cssomPrefixes = T; var z = { elem: s("modernizr") }; Modernizr._q.push(function() { delete z.elem }); var E = { style: z.elem.style }; Modernizr._q.unshift(function() { delete E.style }); var P = x._config.usePrefixes ? b.toLowerCase().split(" ") : []; x._domPrefixes = P, x.testAllProps = h; var j = function(n) { var r, o = N.length, i = e.CSSRule; if ("undefined" == typeof i) return t; if (!n) return !1; if (n = n.replace(/^@/, ""), r = n.replace(/-/g, "_").toUpperCase() + "_RULE", r in i) return "@" + n; for (var s = 0; o > s; s++) { var a = N[s], f = a.toUpperCase() + "_" + r; if (f in i) return "@-" + a.toLowerCase() + "-" + n } return !1 }; x.atRule = j; var N = (x.prefixed = function(e, n, t) { return 0 === e.indexOf("@") ? j(e) : (-1 != e.indexOf("-") && (e = d(e)), n ? h(e, n, t) : h(e, "pfx")) }, x._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : []); x._prefixes = N; var k = x.testStyles = f; Modernizr.addTest("touchevents", function() { var t; if ("ontouchstart" in e || e.DocumentTouch && n instanceof DocumentTouch) t = !0; else { var r = ["@media (", N.join("touch-enabled),("), "heartz", ")", "{#modernizr{top:9px;position:absolute}}"].join(""); k(r, function(e) { t = 9 === e.offsetTop }) } return t }), x.testAllProps = y, Modernizr.addTest("flexbox", y("flexBasis", "1px", !0)), Modernizr.addTest("flexboxlegacy", y("boxDirection", "reverse", !0)), Modernizr.addTest("flexboxtweener", y("flexAlign", "end", !0)), o(), i(C), delete x.addTest, delete x.addAsyncTest; for (var A = 0; A < Modernizr._q.length; A++) Modernizr._q[A](); e.Modernizr = Modernizr }(window, document);