// Modernizr v1.7  www.modernizr.com
window.Modernizr = function(a, b, c) {
    function G() {
        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",e && (l.value = m,l.style.cssText = "position:absolute;visibility:hidden;",/^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)) : /^(search|tel)$/.test(f) || (/^(url|email)$/.test(f) ? e = l.checkValidity && l.checkValidity() === !1 : /^color$/.test(f) ? (g.appendChild(l),g.offsetWidth,e = l.value != m,g.removeChild(l)) : 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 F(a, b) {
        var c = a.charAt(0).toUpperCase() + a.substr(1),d = (a + " " + p.join(c + " ") + c).split(" ");
        return!!E(d, b)
    }

    function E(a, b) {
        for (var d in a)if (k[a[d]] !== c && (!b || b(a[d], j)))return!0
    }

    function D(a, b) {
        return("" + a).indexOf(b) !== -1
    }

    function C(a, b) {
        return typeof a === b
    }

    function B(a, b) {
        return A(o.join(a + ";") + (b || ""))
    }

    function A(a) {
        k.cssText = a
    }

    var d = "1.7",e = {},f = !0,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 = Object.prototype.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) {
        var c = b.createElement("style"),d = b.createElement("div"),e;
        c.textContent = a + "{#modernizr{height:3px}}",h.appendChild(c),d.id = "modernizr",g.appendChild(d),e = d.offsetHeight === 3,c.parentNode.removeChild(c),d.parentNode.removeChild(d);
        return!!e
    },x = function() {
        function d(d, e) {
            e = e || b.createElement(a[d] || "div");
            var f = (d = "on" + d)in e;
            f || (e.setAttribute || (e = b.createElement("div")),e.setAttribute && e.removeAttribute && (e.setAttribute(d, ""),f = C(e[d], "function"),C(e[d], c) || (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
    }(),y = ({}).hasOwnProperty,z;
    C(y, c) || C(y.call, c) ? z = function(a, b) {
        return b in a && C(a.constructor.prototype[b], c)
    } : z = function(a, b) {
        return y.call(a, b)
    },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 && C(b.createElement("canvas").getContext("2d").fillText, "function")
    },r.webgl = function() {
        return!!a.WebGLRenderingContext
    },r.touch = function() {
        return"ontouchstart"in a || w("@media (" + o.join("touch-enabled),(") + "modernizr)")
    },r.geolocation = function() {
        return!!navigator.geolocation
    },r.postmessage = function() {
        return!!a.postMessage
    },r.websqldatabase = function() {
        var b = !!a.openDatabase;
        return b
    },r.indexedDB = function() {
        for (var b = -1,c = p.length; ++b < c;) {
            var d = p[b].toLowerCase();
            if (a[d + "_indexedDB"] || a[d + "IndexedDB"])return!0
        }
        return!1
    },r.hashchange = function() {
        return x("hashchange", a) && (b.documentMode === c || b.documentMode > 7)
    },r.history = function() {
        return !!(a.history && history.pushState)
    },r.draganddrop = function() {
        return x("dragstart") && x("drop")
    },r.websockets = function() {
        return"WebSocket"in a
    },r.rgba = function() {
        A("background-color:rgba(150,255,150,.5)");
        return D(k.backgroundColor, "rgba")
    },r.hsla = function() {
        A("background-color:hsla(120,40%,100%,.5)");
        return D(k.backgroundColor, "rgba") || D(k.backgroundColor, "hsla")
    },r.multiplebgs = function() {
        A("background:url(//:),url(//:),red url(//:)");
        return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)
    },r.backgroundsize = function() {
        return F("backgroundSize")
    },r.borderimage = function() {
        return F("borderImage")
    },r.borderradius = function() {
        return F("borderRadius", "", function(a) {
            return D(a, "orderRadius")
        })
    },r.boxshadow = function() {
        return F("boxShadow")
    },r.textshadow = function() {
        return b.createElement("div").style.textShadow === ""
    },r.opacity = function() {
        B("opacity:.55");
        return/^0.55$/.test(k.opacity)
    },r.cssanimations = function() {
        return F("animationName")
    },r.csscolumns = function() {
        return F("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);";
        A((a + o.join(b + a) + o.join(c + a)).slice(0, -a.length));
        return D(k.backgroundImage, "gradient")
    },r.cssreflections = function() {
        return F("boxReflect")
    },r.csstransforms = function() {
        return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])
    },r.csstransforms3d = function() {
        var a = !!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);
        a && "webkitPerspective"in g.style && (a = w("@media (" + o.join("transform-3d),(") + "modernizr)"));
        return a
    },r.csstransitions = function() {
        return F("transitionProperty")
    },r.fontface = function() {
        var a,c,d = h || g,e = b.createElement("style"),f = b.implementation || {hasFeature:function() {
            return!1
        }};
        e.type = "text/css",d.insertBefore(e, d.firstChild),a = e.sheet || e.styleSheet;
        var i = f.hasFeature("CSS2", "") ? function(b) {
            if (!a || !b)return!1;
            var c = !1;
            try {
                a.insertRule(b, 0),c = /src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length - 1)
            } catch(d) {
            }
            return c
        } : function(b) {
            if (!a || !b)return!1;
            a.cssText = b;
            return a.cssText.length !== 0 && /src/i.test(a.cssText) && a.cssText.replace(/\r+|\n+/g, "").indexOf(b.split(" ")[0]) === 0
        };
        c = i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);
        return c
    },r.video = function() {
        var a = b.createElement("video"),c = !!a.canPlayType;
        if (c) {
            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"')
        }
        return c
    },r.audio = function() {
        var a = b.createElement("audio"),c = !!a.canPlayType;
        c && (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;"));
        return c
    },r.localstorage = function() {
        try {
            return!!localStorage.getItem
        } catch(a) {
            return!1
        }
    },r.sessionstorage = function() {
        try {
            return!!sessionStorage.getItem
        } catch(a) {
            return!1
        }
    },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 H in r)z(r, H) && (v = H.toLowerCase(),e[v] = r[H](),u.push((e[v] ? "" : "no-") + v));
    e.input || G(),e.crosswindowmessaging = e.postmessage,e.historymanagement = e.history,e.addTest = function(a, b) {
        a = a.toLowerCase();
        if (!e[a]) {
            b = !!b(),g.className += " " + (b ? "" : "no-") + a,e[a] = b;
            return e
        }
    },A(""),j = l = null,f && a.attachEvent && function() {
        var a = b.createElement("div");
        a.innerHTML = "<elem></elem>";
        return a.childNodes.length !== 1
    }() && function(a, b) {
        function p(a, b) {
            var c = -1,d = a.length,e,f = [];
            while (++c < d)e = a[c],(b = e.media || b) != "screen" && f.push(p(e.imports, b), e.cssText);
            return f.join("")
        }

        function o(a) {
            var b = -1;
            while (++b < e)a.createElement(d[b])
        }

        var c = "abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",d = c.split("|"),e = d.length,f = new RegExp("(^|\\s)(" + c + ")", "gi"),g = new RegExp("<(/*)(" + c + ")", "gi"),h = new RegExp("(^|[^\\n]*?\\s)(" + c + ")([^\\n]*)({[\\n\\w\\W]*?})", "gi"),i = b.createDocumentFragment(),j = b.documentElement,k = j.firstChild,l = b.createElement("body"),m = b.createElement("style"),n;
        o(b),o(i),k.insertBefore(m, k.firstChild),m.media = "print",a.attachEvent("onbeforeprint", function() {
            var a = -1,c = p(b.styleSheets, "all"),k = [],o;
            n = n || b.body;
            while ((o = h.exec(c)) != null)k.push((o[1] + o[2] + o[3]).replace(f, "$1.iepp_$2") + o[4]);
            m.styleSheet.cssText = k.join("\n");
            while (++a < e) {
                var q = b.getElementsByTagName(d[a]),r = q.length,s = -1;
                while (++s < r)q[s].className.indexOf("iepp_") < 0 && (q[s].className += " iepp_" + d[a])
            }
            i.appendChild(n),j.appendChild(l),l.className = n.className,l.innerHTML = n.innerHTML.replace(g, "<$1font")
        }),a.attachEvent("onafterprint", function() {
            l.innerHTML = "",j.removeChild(l),j.appendChild(n),m.styleSheet.cssText = ""
        })
    }(a, b),e._enableHTML5 = f,e._version = d,g.className = g.className.replace(/\bno-js\b/, "") + " js " + u.join(" ");
    return e
}(this, this.document)
