/* 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))
}
;