/*! * modernizr (http://jquery.com) * licensed under the mit license */ window.modernizr=(function(window,document,undefined){var version='2.8.3',modernizr={},enableclasses=true,docelement=document.documentelement,mod='modernizr',modelem=document.createelement(mod),mstyle=modelem.style,inputelem=document.createelement('input'),smile=':)',tostring={}.tostring,prefixes=' -webkit- -moz- -o- -ms- '.split(' '),omprefixes='webkit moz o ms',cssomprefixes=omprefixes.split(' '),domprefixes=omprefixes.tolowercase().split(' '),ns={'svg':'http://www.w3.org/2000/svg'},tests={},inputs={},attrs={},classes=[],slice=classes.slice,featurename,injectelementwithstyles=function(rule,callback,nodes,testnames){var style,ret,node,docoverflow,div=document.createelement('div'),body=document.body,fakebody=body||document.createelement('body');if(parseint(nodes,10)){while(nodes--){node=document.createelement('div');node.id=testnames?testnames[nodes]:mod+(nodes+1);div.appendchild(node);}}style=['­',''].join('');div.id=mod;(body?div:fakebody).innerhtml+=style;fakebody.appendchild(div);if(!body){fakebody.style.background='';fakebody.style.overflow='hidden';docoverflow=docelement.style.overflow;docelement.style.overflow='hidden';docelement.appendchild(fakebody);}ret=callback(div,rule);if(!body){fakebody.parentnode.removechild(fakebody);docelement.style.overflow=docoverflow;}else{div.parentnode.removechild(div);}return!!ret;},testmediaquery=function(mq){var matchmedia=window.matchmedia||window.msmatchmedia;if(matchmedia){return matchmedia(mq)&&matchmedia(mq).matches||false;}var bool;injectelementwithstyles('@media '+mq+' { #'+mod+' { position: absolute; } }',function(node){bool=(window.getcomputedstyle?getcomputedstyle(node,null):node.currentstyle)['position']=='absolute';});return bool;},iseventsupported=(function(){var tagnames={'select':'input','change':'input','submit':'form','reset':'form','error':'img','load':'img','abort':'img'};function iseventsupported(eventname,element){element=element||document.createelement(tagnames[eventname]||'div');eventname='on'+eventname;var issupported=eventname in element;if(!issupported){if(!element.setattribute){element=document.createelement('div');}if(element.setattribute&&element.removeattribute){element.setattribute(eventname,'');issupported=is(element[eventname],'function');if(!is(element[eventname],'undefined')){element[eventname]=undefined;}element.removeattribute(eventname);}}element=null;return issupported;}return iseventsupported;})(),_hasownproperty=({}).hasownproperty,hasownprop;if(!is(_hasownproperty,'undefined')&&!is(_hasownproperty.call,'undefined')){hasownprop=function(object,property){return _hasownproperty.call(object,property);};}else{hasownprop=function(object,property){return((property in object)&&is(object.constructor.prototype[property],'undefined'));};}if(!function.prototype.bind){function.prototype.bind=function bind(that){var target=this;if(typeof target!="function"){throw new typeerror();}var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var f=function(){};f.prototype=target.prototype;var self=new f();var result=target.apply(self,args.concat(slice.call(arguments)));if(object(result)===result){return result;}return self;}else{return target.apply(that,args.concat(slice.call(arguments)));}};return bound;};}function setcss(str){mstyle.csstext=str;}function setcssall(str1,str2){return setcss(prefixes.join(str1+';')+(str2||''));}function is(obj,type){return typeof obj===type;}function contains(str,substr){return!!~(''+str).indexof(substr);}function testprops(props,prefixed){for(var i in props){var prop=props[i];if(!contains(prop,"-")&&mstyle[prop]!==undefined){return prefixed=='pfx'?prop:true;}}return false;}function testdomprops(props,obj,elem){for(var i in props){var item=obj[props[i]];if(item!==undefined){if(elem===false)return props[i];if(is(item,'function')){return item.bind(elem||obj);}return item;}}return false;}function testpropsall(prop,prefixed,elem){var ucprop=prop.charat(0).touppercase()+prop.slice(1),props=(prop+' '+cssomprefixes.join(ucprop+' ')+ucprop).split(' ');if(is(prefixed,"string")||is(prefixed,"undefined")){return testprops(props,prefixed);}else{props=(prop+' '+(domprefixes).join(ucprop+' ')+ucprop).split(' ');return testdomprops(props,prefixed,elem);}}tests['flexbox']=function(){return testpropsall('flexwrap');};tests['flexboxlegacy']=function(){return testpropsall('boxdirection');};tests['canvas']=function(){var elem=document.createelement('canvas');return!!(elem.getcontext&&elem.getcontext('2d'));};tests['canvastext']=function(){return!!(modernizr['canvas']&&is(document.createelement('canvas').getcontext('2d').filltext,'function'));};tests['webgl']=function(){return!!window.webglrenderingcontext;};tests['touch']=function(){var bool;if(('ontouchstart'in window)||window.documenttouch&&document instanceof documenttouch){bool=true;}else{injectelementwithstyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''),function(node){bool=node.offsettop===9;});}return bool;};tests['geolocation']=function(){return'geolocation'in navigator;};tests['postmessage']=function(){return!!window.postmessage;};tests['websqldatabase']=function(){return!!window.opendatabase;};tests['indexeddb']=function(){return!!testpropsall("indexeddb",window);};tests['hashchange']=function(){return iseventsupported('hashchange',window)&&(document.documentmode===undefined||document.documentmode>7);};tests['history']=function(){return!!(window.history&&history.pushstate);};tests['draganddrop']=function(){var div=document.createelement('div');return('draggable'in div)||('ondragstart'in div&&'ondrop'in div);};tests['websockets']=function(){return'websocket'in window||'mozwebsocket'in window;};tests['rgba']=function(){setcss('background-color:rgba(150,255,150,.5)');return contains(mstyle.backgroundcolor,'rgba');};tests['hsla']=function(){setcss('background-color:hsla(120,40%,100%,.5)');return contains(mstyle.backgroundcolor,'rgba')||contains(mstyle.backgroundcolor,'hsla');};tests['multiplebgs']=function(){setcss('background:url(https://),url(https://),red url(https://)');return(/(url\s*\(.*?){3}/).test(mstyle.background);};tests['backgroundsize']=function(){return testpropsall('backgroundsize');};tests['borderimage']=function(){return testpropsall('borderimage');};tests['borderradius']=function(){return testpropsall('borderradius');};tests['boxshadow']=function(){return testpropsall('boxshadow');};tests['textshadow']=function(){return document.createelement('div').style.textshadow==='';};tests['opacity']=function(){setcssall('opacity:.55');return(/^0.55$/).test(mstyle.opacity);};tests['cssanimations']=function(){return testpropsall('animationname');};tests['csscolumns']=function(){return testpropsall('columncount');};tests['cssgradients']=function(){var str1='background-image:',str2='gradient(linear,left top,right bottom,from(#9f9),to(white));',str3='linear-gradient(left top,#9f9, white);';setcss((str1+'-webkit- '.split(' ').join(str2+str1)+prefixes.join(str3+str1)).slice(0,-str1.length));return contains(mstyle.backgroundimage,'gradient');};tests['cssreflections']=function(){return testpropsall('boxreflect');};tests['csstransforms']=function(){return!!testpropsall('transform');};tests['csstransforms3d']=function(){var ret=!!testpropsall('perspective');if(ret&&'webkitperspective'in docelement.style){injectelementwithstyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}',function(node,rule){ret=node.offsetleft===9&&node.offsetheight===3;});}return ret;};tests['csstransitions']=function(){return testpropsall('transition');};tests['fontface']=function(){var bool;injectelementwithstyles('@font-face {font-family:"font";src:url("https://")}',function(node,rule){var style=document.getelementbyid('smodernizr'),sheet=style.sheet||style.stylesheet,csstext=sheet?(sheet.cssrules&&sheet.cssrules[0]?sheet.cssrules[0].csstext:sheet.csstext||''):'';bool=/src/i.test(csstext)&&csstext.indexof(rule.split(' ')[0])===0;});return bool;};tests['generatedcontent']=function(){var bool;injectelementwithstyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''),function(node){bool=node.offsetheight>=3;});return bool;};tests['video']=function(){var elem=document.createelement('video'),bool=false;try{if(bool=!!elem.canplaytype){bool=new boolean(bool);bool.ogg=elem.canplaytype('video/ogg; codecs="theora"').replace(/^no$/,'');bool.h264=elem.canplaytype('video/mp4; codecs="avc1.42e01e"').replace(/^no$/,'');bool.webm=elem.canplaytype('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');}}catch(e){}return bool;};tests['audio']=function(){var elem=document.createelement('audio'),bool=false;try{if(bool=!!elem.canplaytype){bool=new boolean(bool);bool.ogg=elem.canplaytype('audio/ogg; codecs="vorbis"').replace(/^no$/,'');bool.mp3=elem.canplaytype('audio/mpeg;').replace(/^no$/,'');bool.wav=elem.canplaytype('audio/wav; codecs="1"').replace(/^no$/,'');bool.m4a=(elem.canplaytype('audio/x-m4a;')||elem.canplaytype('audio/aac;')).replace(/^no$/,'');}}catch(e){}return bool;};tests['localstorage']=function(){try{localstorage.setitem(mod,mod);localstorage.removeitem(mod);return true;}catch(e){return false;}};tests['sessionstorage']=function(){try{sessionstorage.setitem(mod,mod);sessionstorage.removeitem(mod);return true;}catch(e){return false;}};tests['webworkers']=function(){return!!window.worker;};tests['applicationcache']=function(){return!!window.applicationcache;};tests['svg']=function(){return!!document.createelementns&&!!document.createelementns(ns.svg,'svg').createsvgrect;};tests['inlinesvg']=function(){var div=document.createelement('div');div.innerhtml='';return(div.firstchild&&div.firstchild.namespaceuri)==ns.svg;};tests['smil']=function(){return!!document.createelementns&&/svganimate/.test(tostring.call(document.createelementns(ns.svg,'animate')));};tests['svgclippaths']=function(){return!!document.createelementns&&/svgclippath/.test(tostring.call(document.createelementns(ns.svg,'clippath')));};function webforms(){modernizr['input']=(function(props){for(var i=0,len=props.length;i';supportshtml5styles=('hidden'in a);supportsunknownelements=a.childnodes.length==1||(function(){(document.createelement)('a');var frag=document.createdocumentfragment();return(typeof frag.clonenode=='undefined'||typeof frag.createdocumentfragment=='undefined'||typeof frag.createelement=='undefined');}());}catch(e){supportshtml5styles=true;supportsunknownelements=true;}}());function addstylesheet(ownerdocument,csstext){var p=ownerdocument.createelement('p'),parent=ownerdocument.getelementsbytagname('head')[0]||ownerdocument.documentelement;p.innerhtml='x';return parent.insertbefore(p.lastchild,parent.firstchild);}function getelements(){var elements=html5.elements;return typeof elements=='string'?elements.split(' '):elements;}function getexpandodata(ownerdocument){var data=expandodata[ownerdocument[expando]];if(!data){data={};expanid++;ownerdocument[expando]=expanid;expandodata[expanid]=data;}return data;}function createelement(nodename,ownerdocument,data){if(!ownerdocument){ownerdocument=document;}if(supportsunknownelements){return ownerdocument.createelement(nodename);}if(!data){data=getexpandodata(ownerdocument);}var node;if(data.cache[nodename]){node=data.cache[nodename].clonenode();}else if(saveclones.test(nodename)){node=(data.cache[nodename]=data.createelem(nodename)).clonenode();}else{node=data.createelem(nodename);}return node.canhavechildren&&!reskip.test(nodename)&&!node.tagurn?data.frag.appendchild(node):node;}function createdocumentfragment(ownerdocument,data){if(!ownerdocument){ownerdocument=document;}if(supportsunknownelements){return ownerdocument.createdocumentfragment();}data=data||getexpandodata(ownerdocument);var clone=data.frag.clonenode(),i=0,elems=getelements(),l=elems.length;for(;i