window.Modernizr = function (a, b, c) { function I() { e["input"] = function (a) { for (var b = 0, c = a.length; b < c; b++) { t[a[b]] = !!(a[b] in l) } return t } ("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")); e["inputtypes"] = function (a) { for (var d = 0, e, f, h, i = a.length; d < i; d++) { l.setAttribute("type", f = a[d]); e = l.type !== "text"; if (e) { l.value = m; l.style.cssText = "position:absolute;visibility:hidden;"; if (/^range$/.test(f) && l.style.WebkitAppearance !== c) { g.appendChild(l); h = b.defaultView; e = h.getComputedStyle && h.getComputedStyle(l, null).WebkitAppearance !== "textfield" && l.offsetHeight !== 0; g.removeChild(l) } else if (/^(search|tel)$/.test(f)) { } else if (/^(url|email)$/.test(f)) { e = l.checkValidity && l.checkValidity() === false } else if (/^color$/.test(f)) { g.appendChild(l); g.offsetWidth; e = l.value != m; g.removeChild(l) } else { e = l.value != m } } s[a[d]] = !!e } return s } ("search tel url email datetime date month week time datetime-local number range color".split(" ")) } function G(a, b) { var c = a.charAt(0).toUpperCase() + a.substr(1), d = (a + " " + p.join(c + " ") + c).split(" "); return F(d, b) } function F(a, b) { for (var d in a) { if (k[a[d]] !== c) { return b == "pfx" ? a[d] : true } } return false } function E(a, b) { return !! ~("" + a).indexOf(b) } function D(a, b) { return typeof a === b } function C(a, b) { return B(o.join(a + ";") + (b || "")) } function B(a) { k.cssText = a } var d = "2.1pre", e = {}, f = true, g = b.documentElement, h = b.head || b.getElementsByTagName("head")[0], i = "modernizr", j = b.createElement(i), k = j.style, l = b.createElement("input"), m = ":)", n = {}.toString, o = " -webkit- -moz- -o- -ms- -khtml- ".split(" "), p = "Webkit Moz O ms Khtml".split(" "), q = { svg: "http://www.w3.org/2000/svg" }, r = {}, s = {}, t = {}, u = [], v, w = function (a, c, d, e) { var f, h, j, k = b.createElement("div"), l = b.body, m = l ? l : b.createElement("body"); if (parseInt(d, 10)) { while (d--) { j = b.createElement("div"); j.id = e ? e[d] : i + (d + 1); k.appendChild(j) } } f = ["&#173;", "<style>", a, "</style>"].join(""); k.id = i; m.innerHTML += f; m.appendChild(k); g.appendChild(m); h = c(k, a); !l ? m.parentNode.removeChild(m) : k.parentNode.removeChild(k); return !!h }, x = function (b) { if (a.matchMedia) { return matchMedia(b).matches } var c; w("@media " + b + " { #" + i + " { position: absolute; } }", function (b) { c = (a.getComputedStyle ? getComputedStyle(b, null) : b.currentStyle)["position"] == "absolute" }); return c }, y = function () { function d(d, e) { e = e || b.createElement(a[d] || "div"); d = "on" + d; var f = d in e; if (!f) { if (!e.setAttribute) { e = b.createElement("div") } if (e.setAttribute && e.removeAttribute) { e.setAttribute(d, ""); f = D(e[d], "function"); if (!D(e[d], "undefined")) { e[d] = c } e.removeAttribute(d) } } e = null; return f } var a = { select: "input", change: "input", submit: "form", reset: "form", error: "img", load: "img", abort: "img" }; return d } (); var z = {}.hasOwnProperty, A; if (!D(z, "undefined") && !D(z.call, "undefined")) { A = function (a, b) { return z.call(a, b) } } else { A = function (a, b) { return b in a && D(a.constructor.prototype[b], "undefined") } } var H = function (c, d) { var f = c.join(""), g = d.length; w(f, function (c, d) { var f = b.styleSheets[b.styleSheets.length - 1], h = f ? f.cssRules && f.cssRules[0] ? f.cssRules[0].cssText : f.cssText || "" : "", i = c.childNodes, j = {}; while (g--) { j[i[g].id] = i[g] } e["touch"] = "ontouchstart" in a || (j["touch"] && j["touch"].offsetTop) === 9; e["csstransforms3d"] = (j["csstransforms3d"] && j["csstransforms3d"].offsetLeft) === 9; e["generatedcontent"] = (j["generatedcontent"] && j["generatedcontent"].offsetHeight) >= 1; e["fontface"] = /src/i.test(h) && h.indexOf(d.split(" ")[0]) === 0 }, g, d) } (['@font-face {font-family:"font";src:url("https://")}', ["@media (", o.join("touch-enabled),("), i, ")", "{#touch{top:9px;position:absolute}}"].join(""), ["@media (", o.join("transform-3d),("), i, ")", "{#csstransforms3d{left:9px;position:absolute}}"].join(""), ['#generatedcontent:after{content:"', m, '";visibility:hidden}'].join("")], ["fontface", "touch", "csstransforms3d", "generatedcontent"]); r["flexbox"] = function () { function c(a, b, c, d) { a.style.cssText = o.join(b + ":" + c + ";") + (d || "") } function a(a, b, c, d) { b += ":"; a.style.cssText = (b + o.join(c + ";" + b)).slice(0, -b.length) + (d || "") } var d = b.createElement("div"), e = b.createElement("div"); a(d, "display", "box", "width:42px;padding:0;"); c(e, "box-flex", "1", "width:10px;"); d.appendChild(e); g.appendChild(d); var f = e.offsetWidth === 42; d.removeChild(e); g.removeChild(d); return f }; r["canvas"] = function () { var a = b.createElement("canvas"); return !!(a.getContext && a.getContext("2d")) }; r["canvastext"] = function () { return !!(e["canvas"] && D(b.createElement("canvas").getContext("2d").fillText, "function")) }; r["webgl"] = function () { try { var d = b.createElement("canvas"), e; e = !!(a.WebGLRenderingContext && (d.getContext("experimental-webgl") || d.getContext("webgl"))); d = c } catch (f) { e = false } return e }; r["touch"] = function () { return e["touch"] }; r["geolocation"] = function () { return !!navigator.geolocation }; r["postmessage"] = function () { return !!a.postMessage }; r["websqldatabase"] = function () { return !!a.openDatabase }; r["indexedDB"] = function () { for (var b = -1, c = p.length; ++b < c; ) { if (a[p[b].toLowerCase() + "IndexedDB"]) { return true } } return !!a.indexedDB }; r["hashchange"] = function () { return y("hashchange", a) && (b.documentMode === c || b.documentMode > 7) }; r["history"] = function () { return !!(a.history && history.pushState) }; r["draganddrop"] = function () { var a = b.createElement("div"); return "draggable" in a || "ondragstart" in a && "ondrop" in a }; r["websockets"] = function () { for (var b = -1, c = p.length; ++b < c; ) { if (a[p[b] + "WebSocket"]) { return true } } return "WebSocket" in a }; r["rgba"] = function () { B("background-color:rgba(150,255,150,.5)"); return E(k.backgroundColor, "rgba") }; r["hsla"] = function () { B("background-color:hsla(120,40%,100%,.5)"); return E(k.backgroundColor, "rgba") || E(k.backgroundColor, "hsla") }; r["multiplebgs"] = function () { B("background:url(https://),url(https://),red url(https://)"); return /(url\s*\(.*?){3}/.test(k.background) }; r["backgroundsize"] = function () { return G("backgroundSize") }; r["borderimage"] = function () { return G("borderImage") }; r["borderradius"] = function () { return G("borderRadius") }; r["boxshadow"] = function () { return G("boxShadow") }; r["textshadow"] = function () { return b.createElement("div").style.textShadow === "" }; r["opacity"] = function () { C("opacity:.55"); return /^0.55$/.test(k.opacity) }; r["cssanimations"] = function () { return G("animationName") }; r["csscolumns"] = function () { return G("columnCount") }; r["cssgradients"] = function () { var a = "background-image:", b = "gradient(linear,left top,right bottom,from(#9f9),to(white));", c = "linear-gradient(left top,#9f9, white);"; B((a + o.join(b + a) + o.join(c + a)).slice(0, -a.length)); return E(k.backgroundImage, "gradient") }; r["cssreflections"] = function () { return G("boxReflect") }; r["csstransforms"] = function () { return !!F(["transformProperty", "WebkitTransform", "MozTransform", "OTransform", "msTransform"]) }; r["csstransforms3d"] = function () { var a = !!F(["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"]); if (a && "webkitPerspective" in g.style) { a = e["csstransforms3d"] } return a }; r["csstransitions"] = function () { return G("transitionProperty") }; r["fontface"] = function () { return e["fontface"] }; r["generatedcontent"] = function () { return e["generatedcontent"] }; r["video"] = function () { var a = b.createElement("video"), c = false; try { if (c = !!a.canPlayType) { c = new Boolean(c); c.ogg = a.canPlayType('video/ogg; codecs="theora"'); var d = 'video/mp4; codecs="avc1.42E01E'; c.h264 = a.canPlayType(d + '"') || a.canPlayType(d + ', mp4a.40.2"'); c.webm = a.canPlayType('video/webm; codecs="vp8, vorbis"') } } catch (e) { } return c }; r["audio"] = function () { var a = b.createElement("audio"), c = false; try { if (c = !!a.canPlayType) { c = new Boolean(c); c.ogg = a.canPlayType('audio/ogg; codecs="vorbis"'); c.mp3 = a.canPlayType("audio/mpeg;"); c.wav = a.canPlayType('audio/wav; codecs="1"'); c.m4a = a.canPlayType("audio/x-m4a;") || a.canPlayType("audio/aac;") } } catch (d) { } return c }; r["localstorage"] = function () { try { localStorage.setItem(i, i); localStorage.removeItem(i); return true } catch (a) { return false } }; r["sessionstorage"] = function () { try { return !!sessionStorage.getItem } catch (a) { return false } }; r["webworkers"] = function () { return !!a.Worker }; r["applicationcache"] = function () { return !!a.applicationCache }; r["svg"] = function () { return !!b.createElementNS && !!b.createElementNS(q.svg, "svg").createSVGRect }; r["inlinesvg"] = function () { var a = b.createElement("div"); a.innerHTML = "<svg/>"; return (a.firstChild && a.firstChild.namespaceURI) == q.svg }; r["smil"] = function () { return !!b.createElementNS && /SVG/.test(n.call(b.createElementNS(q.svg, "animate"))) }; r["svgclippaths"] = function () { return !!b.createElementNS && /SVG/.test(n.call(b.createElementNS(q.svg, "clipPath"))) }; for (var J in r) { if (A(r, J)) { v = J.toLowerCase(); e[v] = r[J](); u.push((e[v] ? "" : "no-") + v) } } e.input || I(); e.addTest = function (a, b) { if (typeof a == "object") { for (var d in a) { if (A(a, d)) { e.addTest(d, a[d]) } } } else { a = a.toLowerCase(); if (e[a] !== c) { return } b = typeof b == "boolean" ? b : !!b(); g.className += " " + (b ? "" : "no-") + a; e[a] = b } return e }; B(""); j = l = null; if (a.attachEvent && function () { var a = b.createElement("div"); a.innerHTML = "<elem></elem>"; return a.childNodes.length !== 1 } ()) { (function (a, b) { function s(a) { var b = -1; while (++b < g) { a.createElement(f[b]) } } a.iepp = a.iepp || {}; var d = a.iepp, e = d.html5elements || "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|subline|summary|time|video", f = e.split("|"), g = f.length, h = new RegExp("(^|\\s)(" + e + ")", "gi"), i = new RegExp("<(/*)(" + e + ")", "gi"), j = /^\s*[\{\}]\s*$/, k = new RegExp("(^|[^\\n]*?\\s)(" + e + ")([^\\n]*)({[\\n\\w\\W]*?})", "gi"), l = b.createDocumentFragment(), m = b.documentElement, n = b.getElementsByTagName("script")[0].parentNode, o = b.createElement("body"), p = b.createElement("style"), q = /print|all/, r; d.getCSS = function (a, b) { try { if (a + "" === c) { return "" } } catch (e) { return "" } var f = -1, g = a.length, h, i = []; while (++f < g) { h = a[f]; if (h.disabled) { continue } b = h.media || b; if (q.test(b)) { i.push(d.getCSS(h.imports, b), h.cssText) } b = "all" } return i.join("") }; d.parseCSS = function (a) { var b = [], c; while ((c = k.exec(a)) != null) { b.push(((j.exec(c[1]) ? "\n" : c[1]) + c[2] + c[3]).replace(h, "$1.iepp-$2") + c[4]) } return b.join("\n") }; d.writeHTML = function () { var a = -1; r = r || b.body; while (++a < g) { var c = b.getElementsByTagName(f[a]), d = c.length, e = -1; while (++e < d) { if (c[e].className.indexOf("iepp-") < 0) { c[e].className += " iepp-" + f[a] } } } l.appendChild(r); m.appendChild(o); o.className = r.className; o.id = r.id; o.innerHTML = r.innerHTML.replace(i, "<$1font") }; d._beforePrint = function () { if (d.disablePP) { return } p.styleSheet.cssText = d.parseCSS(d.getCSS(b.styleSheets, "all")); d.writeHTML() }; d.restoreHTML = function () { if (d.disablePP) { return } o.swapNode(r) }; d._afterPrint = function () { d.restoreHTML(); p.styleSheet.cssText = "" }; s(b); s(l); if (d.disablePP) { return } n.insertBefore(p, n.firstChild); p.media = "print"; p.className = "iepp-printshim"; a.attachEvent("onbeforeprint", d._beforePrint); a.attachEvent("onafterprint", d._afterPrint) })(a, b) } e._version = d; e._prefixes = o; e._domPrefixes = p; e.mq = x; e.hasEvent = y; e.testProp = function (a) { return F([a]) }; e.testAllProps = G; e.testStyles = w; e.prefixed = function (a) { return G(a, "pfx") }; g.className = g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + u.join(" ") : ""); return e } (this, this.document)
