/*! * Modernizr v2.8.3 * www.modernizr.com * * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton * Available under the BSD and MIT licenses: www.modernizr.com/license/ */window.Modernizr=function(e,t,n){var g,b,x,R="2.8.3",o={},_=!0,c=t.documentElement,a="modernizr",M=t.createElement(a),d=M.style,r=t.createElement("input"),j=":)",T={}.toString,v=" -webkit- -moz- -o- -ms- ".split(" "),F="Webkit Moz O ms",S=F.split(" "),A=F.toLowerCase().split(" "),f={svg:"http://www.w3.org/2000/svg"},s={},k={},p={},w=[],O=w.slice,h=function(e,n,s,o){var d,u,h,m,r=t.createElement("div"),l=t.body,i=l||t.createElement("body");if(parseInt(s,10))for(;s--;)d=t.createElement("div"),d.id=o?o[s]:a+(s+1),r.appendChild(d);return m=["­",'"].join(""),r.id=a,(l?r:i).innerHTML+=m,i.appendChild(r),l||(i.style.background="",i.style.overflow="hidden",h=c.style.overflow,c.style.overflow="hidden",c.appendChild(i)),u=n(r,e),l?r.parentNode.removeChild(r):(i.parentNode.removeChild(i),c.style.overflow=h),!!u},z=function(t){var s,n=e.matchMedia||e.msMatchMedia;return n?n(t)&&n(t).matches||!1:(h("@media "+t+" { #"+a+" { position: absolute; } }",function(t){s=(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position=="absolute"}),s)},E=function(){var e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};function s(s,o){o=o||t.createElement(e[s]||"div"),s="on"+s;var i=s in o;return i||(o.setAttribute||(o=t.createElement("div")),o.setAttribute&&o.removeAttribute&&(o.setAttribute(s,""),i=l(o[s],"function"),l(o[s],"undefined")||(o[s]=n),o.removeAttribute(s))),o=null,i}return s}(),y={}.hasOwnProperty;!l(y,"undefined")&&!l(y.call,"undefined")?g=function(e,t){return y.call(e,t)}:g=function(e,t){return t in e&&l(e.constructor.prototype[t],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(t){if(n=this,typeof n!="function")throw new TypeError;var n,s=O.call(arguments,1),o=function(){if(this instanceof o){var e,i,a=function(){};return a.prototype=n.prototype,i=new a,e=n.apply(i,s.concat(O.call(arguments))),Object(e)===e?e:i}return n.apply(t,s.concat(O.call(arguments)))};return o});function u(e){d.cssText=e}function N(e,t){return u(v.join(e+";")+(t||""))}function l(e,t){return typeof e===t}function m(e,t){return!!~(""+e).indexOf(t)}function C(e,t){for(o in e){var o,s=e[o];if(!m(s,"-")&&d[s]!==n)return t!="pfx"||s}return!1}function D(e,t,s){for(i in e){var i,o=t[e[i]];if(o!==n)return s===!1?e[i]:l(o,"function")?o.bind(s||t):o}return!1}function i(e,t,n){var s=e.charAt(0).toUpperCase()+e.slice(1),o=(e+" "+S.join(s+" ")+s).split(" ");return l(t,"string")||l(t,"undefined")?C(o,t):(o=(e+" "+A.join(s+" ")+s).split(" "),D(o,t,n))}s.flexbox=function(){return i("flexWrap")},s.flexboxlegacy=function(){return i("boxDirection")},s.canvas=function(){var e=t.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))},s.canvastext=function(){return!!(o.canvas&&l(t.createElement("canvas").getContext("2d").fillText,"function"))},s.webgl=function(){return!!e.WebGLRenderingContext},s.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:h(["@media (",v.join("touch-enabled),("),a,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=e.offsetTop===9}),n},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!e.postMessage},s.websqldatabase=function(){return!!e.openDatabase},s.indexedDB=function(){return!!i("indexedDB",e)},s.hashchange=function(){return E("hashchange",e)&&(t.documentMode===n||t.documentMode>7)},s.history=function(){return!!(e.history&&history.pushState)},s.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},s.websockets=function(){return"WebSocket"in e||"MozWebSocket"in e},s.rgba=function(){return u("background-color:rgba(150,255,150,.5)"),m(d.backgroundColor,"rgba")},s.hsla=function(){return u("background-color:hsla(120,40%,100%,.5)"),m(d.backgroundColor,"rgba")||m(d.backgroundColor,"hsla")},s.multiplebgs=function(){return u("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(d.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 t.createElement("div").style.textShadow===""},s.opacity=function(){return N("opacity:.55"),/^0.55$/.test(d.opacity)},s.cssanimations=function(){return i("animationName")},s.csscolumns=function(){return i("columnCount")},s.cssgradients=function(){var e="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",n="linear-gradient(left top,#9f9, white);";return u((e+"-webkit- ".split(" ").join(t+e)+v.join(n+e)).slice(0,-e.length)),m(d.backgroundImage,"gradient")},s.cssreflections=function(){return i("boxReflect")},s.csstransforms=function(){return!!i("transform")},s.csstransforms3d=function(){var e=!!i("perspective");return e&&"webkitPerspective"in c.style&&h("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){e=t.offsetLeft===9&&t.offsetHeight===3}),e},s.csstransitions=function(){return i("transition")},s.fontface=function(){var e;return h('@font-face {font-family:"font";src:url("https://")}',function(n,s){var i=t.getElementById("smodernizr"),o=i.sheet||i.styleSheet,a=o?o.cssRules&&o.cssRules[0]?o.cssRules[0].cssText:o.cssText||"":"";e=/src/i.test(a)&&a.indexOf(s.split(" ")[0])===0}),e},s.generatedcontent=function(){var e;return h(["#",a,"{font:0/0 a}#",a,':after{content:"',j,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){e=t.offsetHeight>=3}),e},s.video=function(){var n=t.createElement("video"),e=!1;try{(e=!!n.canPlayType)&&(e=new Boolean(e),e.ogg=n.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),e.h264=n.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),e.webm=n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch{}return e},s.audio=function(){var n=t.createElement("audio"),e=!1;try{(e=!!n.canPlayType)&&(e=new Boolean(e),e.ogg=n.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),e.mp3=n.canPlayType("audio/mpeg;").replace(/^no$/,""),e.wav=n.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),e.m4a=(n.canPlayType("audio/x-m4a;")||n.canPlayType("audio/aac;")).replace(/^no$/,""))}catch{}return e},s.localstorage=function(){try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch{return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(a,a),sessionStorage.removeItem(a),!0}catch{return!1}},s.webworkers=function(){return!!e.Worker},s.applicationcache=function(){return!!e.applicationCache},s.svg=function(){return!!t.createElementNS&&!!t.createElementNS(f.svg,"svg").createSVGRect},s.inlinesvg=function(){var e=t.createElement("div");return e.innerHTML="",(e.firstChild&&e.firstChild.namespaceURI)==f.svg},s.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(T.call(t.createElementNS(f.svg,"animate")))},s.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(T.call(t.createElementNS(f.svg,"clipPath")))};function L(){o.input=function(n){for(var s=0,o=n.length;s",i="hidden"in e,n=e.childNodes.length==1||function(){t.createElement("a");var e=t.createDocumentFragment();return typeof e.cloneNode=="undefined"||typeof e.createDocumentFragment=="undefined"||typeof e.createElement=="undefined"}()}catch{i=!0,n=!0}})();function f(e,t){var n=e.createElement("p"),s=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",s.insertBefore(n.lastChild,s.firstChild)}function h(){var e=s.elements;return typeof e=="string"?e.split(" "):e}function o(e){var t=d[e[l]];return t||(t={},a++,e[l]=a,d[a]=t),t}function u(e,s,i){if(s||(s=t),n)return s.createElement(e);i||(i=o(s));var a;return i.cache[e]?a=i.cache[e].cloneNode():v.test(e)?a=(i.cache[e]=i.createElem(e)).cloneNode():a=i.createElem(e),a.canHaveChildren&&!m.test(e)&&!a.tagUrn?i.frag.appendChild(a):a}function p(e,s){if(e||(e=t),n)return e.createDocumentFragment();s=s||o(e);for(var a=s.frag.cloneNode(),i=0,r=h(),c=r.length;i