/* modernizr 2.8.3 (custom build) | mit & bsd * build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load */ ;window.modernizr = function(a, b, c) { function c(a) { j.csstext = a } function d(a, b) { return c(n.join(a + ";") + (b || "")) } function e(a, b) { return typeof a === b } function f(a, b) { return !!~("" + a).indexof(b) } function g(a, b) { for (var d in a) { var e = a[d]; if (!f(e, "-") && j[e] !== c) return b == "pfx" ? e : !0 } return !1 } function h(a, b, d) { for (var e in a) { var f = b[a[e]]; if (f !== c) return d === !1 ? a[e] : e(f, "function") ? f.bind(d || b) : f } return !1 } function i(a, b, c) { var d = a.charat(0).touppercase() + a.slice(1) , e = (a + " " + p.join(d + " ") + d).split(" "); return e(b, "string") || e(b, "undefined") ? g(e, b) : (e = (a + " " + q.join(d + " ") + d).split(" "), h(e, b, c)) } function j() { e.input = function(c) { for (var d = 0, e = c.length; d < e; d++) u[c[d]] = c[d]in k; return u.list && (u.list = !!b.createelement("datalist") && !!a.htmldatalistelement), u }("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++) k.setattribute("type", f = a[d]), e = k.type !== "text", e && (k.value = l, k.style.csstext = "position:absolute;visibility:hidden;", /^range$/.test(f) && k.style.webkitappearance !== c ? (g.appendchild(k), h = b.defaultview, e = h.getcomputedstyle && h.getcomputedstyle(k, null).webkitappearance !== "textfield" && k.offsetheight !== 0, g.removechild(k)) : /^(search|tel)$/.test(f) || (/^(url|email)$/.test(f) ? e = k.checkvalidity && k.checkvalidity() === !1 : e = k.value != l)), t[a[d]] = !!e; return t }("search tel url email datetime date month week time datetime-local number range color".split(" ")) } var d = "2.8.3", e = {}, f = !0, g = b.documentelement, h = "modernizr", i = b.createelement(h), j = i.style, k = b.createelement("input"), l = ":)", m = {}.tostring, n = " -webkit- -moz- -o- -ms- ".split(" "), o = "webkit moz o ms", p = o.split(" "), q = o.tolowercase().split(" "), r = { svg: "http://www.w3.org/2000/svg" }, s = {}, t = {}, u = {}, v = [], w = v.slice, x, y = function(a, c, d, e) { var f, i, j, k, l = b.createelement("div"), m = b.body, n = m || b.createelement("body"); if (parseint(d, 10)) while (d--) j = b.createelement("div"), j.id = e ? e[d] : h + (d + 1), l.appendchild(j); return f = ["­", '"].join(""), l.id = h, (m ? l : n).innerhtml += f, n.appendchild(l), m || (n.style.background = "", n.style.overflow = "hidden", k = g.style.overflow, g.style.overflow = "hidden", g.appendchild(n)), i = c(l, a), m ? l.parentnode.removechild(l) : (n.parentnode.removechild(n), g.style.overflow = k), !!i }, z = function() { function d(d, e) { e = e || b.createelement(a[d] || "div"), d = "on" + d; var f = d in e; return f || (e.setattribute || (e = b.createelement("div")), e.setattribute && e.removeattribute && (e.setattribute(d, ""), f = e(e[d], "function"), e(e[d], "undefined") || (e[d] = c), e.removeattribute(d))), e = null, f } var a = { select: "input", change: "input", submit: "form", reset: "form", error: "img", load: "img", abort: "img" }; return d }(), a = {}.hasownproperty, b; !e(a, "undefined") && !e(a.call, "undefined") ? b = function(a, b) { return a.call(a, b) } : b = function(a, b) { return b in a && e(a.constructor.prototype[b], "undefined") } , function.prototype.bind || (function.prototype.bind = function(b) { var c = this; if (typeof c != "function") throw new typeerror; var d = w.call(arguments, 1) , e = function() { if (this instanceof e) { var a = function() {}; a.prototype = c.prototype; var f = new a , g = c.apply(f, d.concat(w.call(arguments))); return object(g) === g ? g : f } return c.apply(b, d.concat(w.call(arguments))) }; return e } ), s.flexbox = function() { return i("flexwrap") } , s.flexboxlegacy = function() { return i("boxdirection") } , s.canvas = function() { var a = b.createelement("canvas"); return !!a.getcontext && !!a.getcontext("2d") } , s.canvastext = function() { return !!e.canvas && !!e(b.createelement("canvas").getcontext("2d").filltext, "function") } , s.webgl = function() { return !!a.webglrenderingcontext } , s.touch = function() { var c; return "ontouchstart"in a || a.documenttouch && b instanceof documenttouch ? c = !0 : y(["@media (", n.join("touch-enabled),("), h, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), function(a) { c = a.offsettop === 9 }), c } , s.geolocation = function() { return "geolocation"in navigator } , s.postmessage = function() { return !!a.postmessage } , s.websqldatabase = function() { return !!a.opendatabase } , s.indexeddb = function() { return !!i("indexeddb", a) } , s.hashchange = function() { return z("hashchange", a) && (b.documentmode === c || b.documentmode > 7) } , s.history = function() { return !!a.history && !!history.pushstate } , s.draganddrop = function() { var a = b.createelement("div"); return "draggable"in a || "ondragstart"in a && "ondrop"in a } , s.websockets = function() { return "websocket"in a || "mozwebsocket"in a } , s.rgba = function() { return c("background-color:rgba(150,255,150,.5)"), f(j.backgroundcolor, "rgba") } , s.hsla = function() { return c("background-color:hsla(120,40%,100%,.5)"), f(j.backgroundcolor, "rgba") || f(j.backgroundcolor, "hsla") } , s.multiplebgs = function() { return c("background:url(https://),url(https://),red url(https://)"), /(url\s*\(.*?){3}/.test(j.background) } , s.backgroundsize = function() { return i("backgroundsize") } , s.borderimage = function() { return i("borderimage") } , s.borderradius = function() { return i("borderradius") } , s.boxshadow = function() { return i("boxshadow") } , s.textshadow = function() { return b.createelement("div").style.textshadow === "" } , s.opacity = function() { return d("opacity:.55"), /^0.55$/.test(j.opacity) } , s.cssanimations = function() { return i("animationname") } , s.csscolumns = function() { return i("columncount") } , s.cssgradients = function() { var a = "background-image:" , b = "gradient(linear,left top,right bottom,from(#9f9),to(white));" , c = "linear-gradient(left top,#9f9, white);"; return c((a + "-webkit- ".split(" ").join(b + a) + n.join(c + a)).slice(0, -a.length)), f(j.backgroundimage, "gradient") } , s.cssreflections = function() { return i("boxreflect") } , s.csstransforms = function() { return !!i("transform") } , s.csstransforms3d = function() { var a = !!i("perspective"); return a && "webkitperspective"in g.style && y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", function(b, c) { a = b.offsetleft === 9 && b.offsetheight === 3 }), a } , s.csstransitions = function() { return i("transition") } , s.fontface = function() { var a; return y('@font-face {font-family:"font";src:url("https://")}', function(c, d) { var e = b.getelementbyid("smodernizr") , f = e.sheet || e.stylesheet , g = f ? f.cssrules && f.cssrules[0] ? f.cssrules[0].csstext : f.csstext || "" : ""; a = /src/i.test(g) && g.indexof(d.split(" ")[0]) === 0 }), a } , s.generatedcontent = function() { var a; return y(["#", h, "{font:0/0 a}#", h, ':after{content:"', l, '";visibility:hidden;font:3px/1 a}'].join(""), function(b) { a = b.offsetheight >= 3 }), a } , s.video = function() { var a = b.createelement("video") , c = !1; try { if (c = !!a.canplaytype) c = new boolean(c), c.ogg = a.canplaytype('video/ogg; codecs="theora"').replace(/^no$/, ""), c.h264 = a.canplaytype('video/mp4; codecs="avc1.42e01e"').replace(/^no$/, ""), c.webm = a.canplaytype('video/webm; codecs="vp8, vorbis"').replace(/^no$/, "") } catch (d) {} return c } , s.audio = function() { var a = b.createelement("audio") , c = !1; try { if (c = !!a.canplaytype) c = new boolean(c), c.ogg = a.canplaytype('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), c.mp3 = a.canplaytype("audio/mpeg;").replace(/^no$/, ""), c.wav = a.canplaytype('audio/wav; codecs="1"').replace(/^no$/, ""), c.m4a = (a.canplaytype("audio/x-m4a;") || a.canplaytype("audio/aac;")).replace(/^no$/, "") } catch (d) {} return c } , s.localstorage = function() { try { return localstorage.setitem(h, h), localstorage.removeitem(h), !0 } catch (a) { return !1 } } , s.sessionstorage = function() { try { return sessionstorage.setitem(h, h), sessionstorage.removeitem(h), !0 } catch (a) { return !1 } } , s.webworkers = function() { return !!a.worker } , s.applicationcache = function() { return !!a.applicationcache } , s.svg = function() { return !!b.createelementns && !!b.createelementns(r.svg, "svg").createsvgrect } , s.inlinesvg = function() { var a = b.createelement("div"); return a.innerhtml = "", (a.firstchild && a.firstchild.namespaceuri) == r.svg } , s.smil = function() { return !!b.createelementns && /svganimate/.test(m.call(b.createelementns(r.svg, "animate"))) } , s.svgclippaths = function() { return !!b.createelementns && /svgclippath/.test(m.call(b.createelementns(r.svg, "clippath"))) } ; for (var k in s) b(s, k) && (x = k.tolowercase(), e[x] = s[k](), v.push((e[x] ? "" : "no-") + x)); return e.input || j(), e.addtest = function(a, b) { if (typeof a == "object") for (var d in a) b(a, d) && e.addtest(d, a[d]); else { a = a.tolowercase(); if (e[a] !== c) return e; b = typeof b == "function" ? b() : b, typeof f != "undefined" && f && (g.classname += " " + (b ? "" : "no-") + a), e[a] = b } return e } , c(""), i = k = null, function(a, b) { function l(a, b) { var c = a.createelement("p") , d = a.getelementsbytagname("head")[0] || a.documentelement; return c.innerhtml = "x", d.insertbefore(c.lastchild, d.firstchild) } function m() { var a = s.elements; return typeof a == "string" ? a.split(" ") : a } function n(a) { var b = j[a[h]]; return b || (b = {}, i++, a[h] = i, j[i] = b), b } function o(a, c, d) { c || (c = b); if (k) return c.createelement(a); d || (d = n(c)); var g; return d.cache[a] ? g = d.cache[a].clonenode() : f.test(a) ? g = (d.cache[a] = d.createelem(a)).clonenode() : g = d.createelem(a), g.canhavechildren && !e.test(a) && !g.tagurn ? d.frag.appendchild(g) : g } function p(a, c) { a || (a = b); if (k) return a.createdocumentfragment(); c = c || n(a); var d = c.frag.clonenode() , e = 0 , f = m() , g = f.length; for (; e < g; e++) d.createelement(f[e]); return d } function q(a, b) { b.cache || (b.cache = {}, b.createelem = a.createelement, b.createfrag = a.createdocumentfragment, b.frag = b.createfrag()), a.createelement = function(c) { return s.shivmethods ? o(c, a, b) : b.createelem(c) } , a.createdocumentfragment = function("h,f", "return function(){var n=f.clonenode(),c=n.createelement;h.shivmethods&&(" + m().join().replace(/[\w\-]+/g, function(a) { return b.createelem(a), b.frag.createelement(a), 'c("' + a + '")' }) + ");return n}")(s, b.frag) } function r(a) { a || (a = b); var c = n(a); return s.shivcss && !g && !c.hascss && (c.hascss = !!l(a, "article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#ff0;color:#000}template{display:none}")), k || q(a, c), a } var c = "3.7.0", d = a.html5 || {}, e = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, f = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, g, h = "_html5shiv", i = 0, j = {}, k; (function() { try { var a = b.createelement("a"); a.innerhtml = "", g = "hidden"in a, k = a.childnodes.length == 1 || function() { b.createelement("a"); var a = b.createdocumentfragment(); return typeof a.clonenode == "undefined" || typeof a.createdocumentfragment == "undefined" || typeof a.createelement == "undefined" }() } catch (c) { g = !0, k = !0 } } )(); var s = { elements: d.elements || "abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video", version: c, shivcss: d.shivcss !== !1, supportsunknownelements: k, shivmethods: d.shivmethods !== !1, type: "default", shivdocument: r, createelement: o, createdocumentfragment: p }; a.html5 = s, r(b) }(this, b), e._version = d, e._prefixes = n, e._domprefixes = q, e._cssomprefixes = p, e.hasevent = z, e.testprop = function(a) { return g([a]) } , e.testallprops = i, e.teststyles = y, e.prefixed = function(a, b, c) { return b ? i(a, b, c) : i(a, "pfx") } , g.classname = g.classname.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + v.join(" ") : ""), e }(this, this.document), function(a, b, c) { function d(a) { return "[object function]" == o.call(a) } function e(a) { return "string" == typeof a } function f() {} function g(a) { return !a || "loaded" == a || "complete" == a || "uninitialized" == a } function h() { var a = p.shift(); q = 1, a ? a.t ? m(function() { ("c" == a.t ? b.injectcss : b.injectjs)(a.s, 0, a.a, a.x, a.e, 1) }, 0) : (a(), h()) : q = 0 } function i(a, c, d, e, f, i, j) { function k(b) { if (!o && g(l.readystate) && (u.r = o = 1, !q && h(), l.onload = l.onreadystatechange = null, b)) { "img" != a && m(function() { t.removechild(l) }, 50); for (var d in y[c]) y[c].hasownproperty(d) && y[c][d].onload() } } var j = j || b.errortimeout , l = b.createelement(a) , o = 0 , r = 0 , u = { t: d, s: c, e: f, a: i, x: j }; 1 === y[c] && (r = 1, y[c] = []), "object" == a ? l.data = c : (l.src = c, l.type = a), l.width = l.height = "0", l.onerror = l.onload = l.onreadystatechange = function() { k.call(this, r) } , p.splice(e, 0, u), "img" != a && (r || 2 === y[c] ? (t.insertbefore(l, s ? null : n), m(k, j)) : y[c].push(l)) } function j(a, b, c, d, f) { return q = 0, b = b || "j", e(a) ? i("c" == b ? v : u, a, b, this.i++, c, d, f) : (p.splice(this.i++, 0, a), 1 == p.length && h()), this } function k() { var a = b; return a.loader = { load: j, i: 0 }, a } var l = b.documentelement, m = a.settimeout, n = b.getelementsbytagname("script")[0], o = {}.tostring, p = [], q = 0, r = "mozappearance"in l.style, s = r && !!b.createrange().comparenode, t = s ? l : n.parentnode, l = a.opera && "[object opera]" == o.call(a.opera), l = !!b.attachevent && !l, u = r ? "object" : l ? "script" : "img", v = l ? "script" : u, w = array.isarray || function(a) { return "[object array]" == o.call(a) } , x = [], y = {}, z = { timeout: function(a, b) { return b.length && (a.timeout = b[0]), a } }, a, b; b = function(a) { function b(a) { var a = a.split("!"), b = x.length, c = a.pop(), d = a.length, c = { url: c, origurl: c, prefixes: a }, e, f, g; for (f = 0; f < d; f++) g = a[f].split("="), (e = z[g.shift()]) && (c = e(c, g)); for (f = 0; f < b; f++) c = x[f](c); return c } function g(a, e, f, g, h) { var i = b(a) , j = i.autocallback; i.url.split(".").pop().split("?").shift(), i.bypass || (e && (e = d(e) ? e : e[a] || e[g] || e[a.split("/").pop().split("?")[0]]), i.instead ? i.instead(a, e, f, g, h) : (y[i.url] ? i.noexec = !0 : y[i.url] = 1, f.load(i.url, i.forcecss || !i.forcejs && "css" == i.url.split(".").pop().split("?").shift() ? "c" : c, i.noexec, i.attrs, i.timeout), (d(e) || d(j)) && f.load(function() { k(), e && e(i.origurl, h, g), j && j(i.origurl, h, g), y[i.url] = 2 }))) } function h(a, b) { function c(a, c) { if (a) { if (e(a)) c || (j = function() { var a = [].slice.call(arguments); k.apply(this, a), l() } ), g(a, j, b, 0, h); else if (object(a) === a) for (n in m = function() { var b = 0, c; for (c in a) a.hasownproperty(c) && b++; return b }(), a) a.hasownproperty(n) && (!c && !--m && (d(j) ? j = function() { var a = [].slice.call(arguments); k.apply(this, a), l() } : j[n] = function(a) { return function() { var b = [].slice.call(arguments); a && a.apply(this, b), l() } }(k[n])), g(a[n], j, b, n, h)) } else !c && l() } var h = !!a.test, i = a.load || a.both, j = a.callback || f, k = j, l = a.complete || f, m, n; c(h ? a.yep : a.nope, !!i), i && c(i) } var i, j, l = this.yepnope.loader; if (e(a)) g(a, 0, l, 0); else if (w(a)) for (i = 0; i < a.length; i++) j = a[i], e(j) ? g(j, 0, l, 0) : w(j) ? b(j) : object(j) === j && h(j, l); else object(a) === a && h(a, l) } , b.addprefix = function(a, b) { z[a] = b } , b.addfilter = function(a) { x.push(a) } , b.errortimeout = 1e4, null == b.readystate && b.addeventlistener && (b.readystate = "loading", b.addeventlistener("domcontentloaded", a = function() { b.removeeventlistener("domcontentloaded", a, 0), b.readystate = "complete" } , 0)), a.yepnope = k(), a.yepnope.executestack = h, a.yepnope.injectjs = function(a, c, d, e, i, j) { var k = b.createelement("script"), l, o, e = e || b.errortimeout; k.src = a; for (o in d) k.setattribute(o, d[o]); c = j ? h : c || f, k.onreadystatechange = k.onload = function() { !l && g(k.readystate) && (l = 1, c(), k.onload = k.onreadystatechange = null) } , m(function() { l || (l = 1, c(1)) }, e), i ? k.onload() : n.parentnode.insertbefore(k, n) } , a.yepnope.injectcss = function(a, c, d, e, g, i) { var e = b.createelement("link"), j, c = i ? h : c || f; e.href = a, e.rel = "stylesheet", e.type = "text/css"; for (j in d) e.setattribute(j, d[j]); g || (n.parentnode.insertbefore(e, n), m(c, 0)) } }(this, document), modernizr.load = function() { yepnope.apply(window, [].slice.call(arguments, 0)) } ;