/*
 * modernizr v3.5.0
 * Build https://modernizr.com/download?-audio-audioloop-csscolumns-cssvhunit-cssvmaxunit-cssvminunit-cssvwunit-filereader-flexbox-fullscreen-geolocation-hashchange-history-input-inputtypes-touchevents-video-webaudio-addtest-atrule-domprefixes-hasevent-mq-prefixed-prefixedcss-prefixedcssvalue-prefixes-testallprops-testprop-dontmin
 *
 * Copyright (c)
 *  Faruk Ates
 *  Paul Irish
 *  Alex Sexton
 *  Ryan Seddon
 *  Patrick Kettner
 *  Stu Cox
 *  Richard Herrera

 * MIT License
 */
(function(window,document,undefined){var tests=[];var ModernizrProto={_version:"3.5.0",_config:{classPrefix:"",enableClasses:true,enableJSClass:true,usePrefixes:true},_q:[],on:function(test,cb){var self=this;setTimeout(function(){cb(self[test])},0)},addTest:function(name,fn,options){tests.push({name:name,fn:fn,options:options})},addAsyncTest:function(fn){tests.push({name:null,fn:fn})}};var Modernizr=function(){};Modernizr.prototype=ModernizrProto;Modernizr=new Modernizr();
/*
{
  "name": "Geolocation API",
  "property": "geolocation",
  "caniuse": "geolocation",
  "tags": ["media"],
  "notes": [{
    "name": "MDN documentation",
    "href": "https://developer.mozilla.org/en-US/docs/WebAPI/Using_geolocation"
  }],
  "polyfills": [
    "joshuabell-polyfill",
    "webshims",
    "geo-location-javascript",
    "geolocation-api-polyfill"
  ]
}
!*/
Modernizr.addTest("geolocation","geolocation" in navigator);
/*
{
  "name": "History API",
  "property": "history",
  "caniuse": "history",
  "tags": ["history"],
  "authors": ["Hay Kranen", "Alexander Farkas"],
  "notes": [{
    "name": "W3C Spec",
    "href": "https://www.w3.org/TR/html51/browsers.html#the-history-interface"
  }, {
    "name": "MDN documentation",
    "href": "https://developer.mozilla.org/en-US/docs/Web/API/window.history"
  }],
  "polyfills": ["historyjs", "html5historyapi"]
}
!*/
Modernizr.addTest("history",function(){var ua=navigator.userAgent;if((ua.indexOf("Android 2.")!==-1||(ua.indexOf("Android 4.0")!==-1))&&ua.indexOf("Mobile Safari")!==-1&&ua.indexOf("Chrome")===-1&&ua.indexOf("Windows Phone")===-1&&location.protocol!=="file:"){return false}return(window.history&&"pushState" in window.history)});
/*
{
  "name": "Web Audio API",
  "property": "webaudio",
  "caniuse": "audio-api",
  "polyfills": ["xaudiojs", "dynamicaudiojs", "audiolibjs"],
  "tags": ["audio", "media"],
  "builderAliases": ["audio_webaudio_api"],
  "authors": ["Addy Osmani"],
  "notes": [{
    "name": "W3 Specification",
    "href": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html"
  }]
}
!*/
Modernizr.addTest("webaudio",function(){var prefixed="webkitAudioContext" in window;var unprefixed="AudioContext" in window;if(Modernizr._config.usePrefixes){return prefixed||unprefixed}return unprefixed});
/*
{
  "name": "File API",
  "property": "filereader",
  "caniuse": "fileapi",
  "notes": [{
    "name": "W3C Working Draft",
    "href": "https://www.w3.org/TR/FileAPI/"
  }],
  "tags": ["file"],
  "builderAliases": ["file_api"],
  "knownBugs": ["Will fail in Safari 5 due to its lack of support for the standards defined FileReader object"]
}
!*/
Modernizr.addTest("filereader",!!(window.File&&window.FileList&&window.FileReader));var prefixes=(ModernizrProto._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""]);ModernizrProto._prefixes=prefixes;var classes=[];function is(obj,type){return typeof obj===type}function testRunner(){var featureNames;var feature;var aliasIdx;var result;var nameIdx;var featureName;var featureNameSplit;for(var featureIdx in tests){if(tests.hasOwnProperty(featureIdx)){featureNames=[];feature=tests[featureIdx];if(feature.name){featureNames.push(feature.name.toLowerCase());if(feature.options&&feature.options.aliases&&feature.options.aliases.length){for(aliasIdx=0;aliasIdx<feature.options.aliases.length;aliasIdx++){featureNames.push(feature.options.aliases[aliasIdx].toLowerCase())}}}result=is(feature.fn,"function")?feature.fn():feature.fn;for(nameIdx=0;nameIdx<featureNames.length;nameIdx++){featureName=featureNames[nameIdx];featureNameSplit=featureName.split(".");if(featureNameSplit.length===1){Modernizr[featureNameSplit[0]]=result}else{if(Modernizr[featureNameSplit[0]]&&!(Modernizr[featureNameSplit[0]] instanceof Boolean)){Modernizr[featureNameSplit[0]]=new Boolean(Modernizr[featureNameSplit[0]])}Modernizr[featureNameSplit[0]][featureNameSplit[1]]=result}classes.push((result?"":"no-")+featureNameSplit.join("-"))}}}}var omPrefixes="Moz O ms Webkit";var domPrefixes=(ModernizrProto._config.usePrefixes?omPrefixes.toLowerCase().split(" "):[]);ModernizrProto._domPrefixes=domPrefixes;var hasOwnProp;(function(){var _hasOwnProperty=({}).hasOwnProperty;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"))}}})();var cssomPrefixes=(ModernizrProto._config.usePrefixes?omPrefixes.split(" "):[]);ModernizrProto._cssomPrefixes=cssomPrefixes;var atRule=function(prop){var length=prefixes.length;var cssrule=window.CSSRule;var rule;if(typeof cssrule==="undefined"){return undefined}if(!prop){return false}prop=prop.replace(/^@/,"");rule=prop.replace(/-/g,"_").toUpperCase()+"_RULE";if(rule in cssrule){return"@"+prop}for(var i=0;i<length;i++){var prefix=prefixes[i];var thisRule=prefix.toUpperCase()+"_"+rule;if(thisRule in cssrule){return"@-"+prefix.toLowerCase()+"-"+prop}}return false};ModernizrProto.atRule=atRule;function cssToDOM(name){return name.replace(/([a-z])-([a-z])/g,function(str,m1,m2){return m1+m2.toUpperCase()}).replace(/^-/,"")}function domToCSS(name){return name.replace(/([A-Z])/g,function(str,m1){return"-"+m1.toLowerCase()}).replace(/^ms-/,"-ms-")}var docElement=document.documentElement;function computedStyle(elem,pseudo,prop){var result;if("getComputedStyle" in window){result=getComputedStyle.call(window,elem,pseudo);var console=window.console;if(result!==null){if(prop){result=result.getPropertyValue(prop)}}else{if(console){var method=console.error?"error":"log";console[method].call(console,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}}else{result=!pseudo&&elem.currentStyle&&elem.currentStyle[prop]}return result}function roundedEquals(a,b){return a-1===b||a===b||a+1===b}var isSVG=docElement.nodeName.toLowerCase()==="svg";function setClasses(classes){var className=docElement.className;var classPrefix=Modernizr._config.classPrefix||"";if(isSVG){className=className.baseVal}if(Modernizr._config.enableJSClass){var reJS=new RegExp("(^|\\s)"+classPrefix+"no-js(\\s|$)");className=className.replace(reJS,"$1"+classPrefix+"js$2")}if(Modernizr._config.enableClasses){className+=" "+classPrefix+classes.join(" "+classPrefix);if(isSVG){docElement.className.baseVal=className}else{docElement.className=className}}}ModernizrProto._l={};ModernizrProto.on=function(feature,cb){if(!this._l[feature]){this._l[feature]=[]}this._l[feature].push(cb);if(Modernizr.hasOwnProperty(feature)){setTimeout(function(){Modernizr._trigger(feature,Modernizr[feature])},0)}};ModernizrProto._trigger=function(feature,res){if(!this._l[feature]){return}var cbs=this._l[feature];setTimeout(function(){var i,cb;for(i=0;i<cbs.length;i++){cb=cbs[i];cb(res)}},0);delete this._l[feature]};function addTest(feature,test){if(typeof feature=="object"){for(var key in feature){if(hasOwnProp(feature,key)){addTest(key,feature[key])}}}else{feature=feature.toLowerCase();var featureNameSplit=feature.split(".");var last=Modernizr[featureNameSplit[0]];if(featureNameSplit.length==2){last=last[featureNameSplit[1]]}if(typeof last!="undefined"){return Modernizr}test=typeof test=="function"?test():test;if(featureNameSplit.length==1){Modernizr[featureNameSplit[0]]=test}else{if(Modernizr[featureNameSplit[0]]&&!(Modernizr[featureNameSplit[0]] instanceof Boolean)){Modernizr[featureNameSplit[0]]=new Boolean(Modernizr[featureNameSplit[0]])}Modernizr[featureNameSplit[0]][featureNameSplit[1]]=test}setClasses([(!!test&&test!=false?"":"no-")+featureNameSplit.join("-")]);Modernizr._trigger(feature,test)}return Modernizr}Modernizr._q.push(function(){ModernizrProto.addTest=addTest});function createElement(){if(typeof document.createElement!=="function"){return document.createElement(arguments[0])}else{if(isSVG){return document.createElementNS.call(document,"http://www.w3.org/2000/svg",arguments[0])}else{return document.createElement.apply(document,arguments)}}}var hasEvent=(function(){var needsFallback=!("onblur" in document.documentElement);function inner(eventName,element){var isSupported;if(!eventName){return false}if(!element||typeof element==="string"){element=createElement(element||"div")}eventName="on"+eventName;isSupported=eventName in element;if(!isSupported&&needsFallback){if(!element.setAttribute){element=createElement("div")}element.setAttribute(eventName,"");isSupported=typeof element[eventName]==="function";if(element[eventName]!==undefined){element[eventName]=undefined}element.removeAttribute(eventName)}return isSupported}return inner})();ModernizrProto.hasEvent=hasEvent;
/*
{
  "name": "Hashchange event",
  "property": "hashchange",
  "caniuse": "hashchange",
  "tags": ["history"],
  "notes": [{
    "name": "MDN documentation",
    "href": "https://developer.mozilla.org/en-US/docs/Web/API/window.onhashchange"
  }],
  "polyfills": [
    "jquery-hashchange",
    "moo-historymanager",
    "jquery-ajaxy",
    "hasher",
    "shistory"
  ]
}
!*/
Modernizr.addTest("hashchange",function(){if(hasEvent("hashchange",window)===false){return false}return(document.documentMode===undefined||document.documentMode>7)});var prefixedCSSValue=function(prop,value){var result=false;var elem=createElement("div");var style=elem.style;if(prop in style){var i=domPrefixes.length;style[prop]=value;result=style[prop];while(i--&&!result){style[prop]="-"+domPrefixes[i]+"-"+value;result=style[prop]}}if(result===""){result=false}return result};ModernizrProto.prefixedCSSValue=prefixedCSSValue;
/*
{
  "name" : "HTML5 Audio Element",
  "property": "audio",
  "tags" : ["html5", "audio", "media"]
}
!*/
Modernizr.addTest("audio",function(){var elem=createElement("audio");var bool=false;try{bool=!!elem.canPlayType;if(bool){bool=new Boolean(bool);bool.ogg=elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,"");bool.mp3=elem.canPlayType('audio/mpeg; codecs="mp3"').replace(/^no$/,"");bool.opus=elem.canPlayType('audio/ogg; codecs="opus"')||elem.canPlayType('audio/webm; codecs="opus"').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});
/*
{
  "name": "HTML5 Video",
  "property": "video",
  "caniuse": "video",
  "tags": ["html5"],
  "knownBugs": [
    "Without QuickTime, `Modernizr.video.h264` will be `undefined`; https://github.com/Modernizr/Modernizr/issues/546"
  ],
  "polyfills": [
    "html5media",
    "mediaelementjs",
    "sublimevideo",
    "videojs",
    "leanbackplayer",
    "videoforeverybody"
  ]
}
!*/
Modernizr.addTest("video",function(){var elem=createElement("video");var bool=false;try{bool=!!elem.canPlayType;if(bool){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$/,"");bool.vp9=elem.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"");bool.hls=elem.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")}}catch(e){}return bool});
/*
{
  "name": "Audio Loop Attribute",
  "property": "audioloop",
  "tags": ["audio", "media"]
}
!*/
Modernizr.addTest("audioloop","loop" in createElement("audio"));var inputElem=createElement("input");
/*
{
  "name": "Input attributes",
  "property": "input",
  "tags": ["forms"],
  "authors": ["Mike Taylor"],
  "notes": [{
    "name": "WHATWG spec",
    "href": "https://html.spec.whatwg.org/multipage/forms.html#input-type-attr-summary"
  }],
  "knownBugs": ["Some blackberry devices report false positive for input.multiple"]
}
!*/
var inputattrs="autocomplete autofocus list placeholder max min multiple pattern required step".split(" ");var attrs={};Modernizr.input=(function(props){for(var i=0,len=props.length;i<len;i++){attrs[props[i]]=!!(props[i] in inputElem)}if(attrs.list){attrs.list=!!(createElement("datalist")&&window.HTMLDataListElement)}return attrs})(inputattrs);
/*
{
  "name": "Form input types",
  "property": "inputtypes",
  "caniuse": "forms",
  "tags": ["forms"],
  "authors": ["Mike Taylor"],
  "polyfills": [
    "jquerytools",
    "webshims",
    "h5f",
    "webforms2",
    "nwxforms",
    "fdslider",
    "html5slider",
    "galleryhtml5forms",
    "jscolor",
    "html5formshim",
    "selectedoptionsjs",
    "formvalidationjs"
  ]
}
!*/
var inputtypes="search tel url email datetime date month week time datetime-local number range color".split(" ");var inputs={};Modernizr.inputtypes=(function(props){var len=props.length;var smile="1)";var inputElemType;var defaultView;var bool;for(var i=0;i<len;i++){inputElem.setAttribute("type",inputElemType=props[i]);bool=inputElem.type!=="text"&&"style" in inputElem;if(bool){inputElem.value=smile;inputElem.style.cssText="position:absolute;visibility:hidden;";if(/^range$/.test(inputElemType)&&inputElem.style.WebkitAppearance!==undefined){docElement.appendChild(inputElem);defaultView=document.defaultView;bool=defaultView.getComputedStyle&&defaultView.getComputedStyle(inputElem,null).WebkitAppearance!=="textfield"&&(inputElem.offsetHeight!==0);docElement.removeChild(inputElem)}else{if(/^(search|tel)$/.test(inputElemType)){}else{if(/^(url|email)$/.test(inputElemType)){bool=inputElem.checkValidity&&inputElem.checkValidity()===false}else{bool=inputElem.value!=smile}}}}inputs[props[i]]=!!bool}return inputs})(inputtypes);function getBody(){var body=document.body;if(!body){body=createElement(isSVG?"svg":"body");body.fake=true}return body}function injectElementWithStyles(rule,callback,nodes,testnames){var mod="modernizr";var style;var ret;var node;var docOverflow;var div=createElement("div");var body=getBody();if(parseInt(nodes,10)){while(nodes--){node=createElement("div");node.id=testnames?testnames[nodes]:mod+(nodes+1);div.appendChild(node)}}style=createElement("style");style.type="text/css";style.id="s"+mod;(!body.fake?div:body).appendChild(style);body.appendChild(div);if(style.styleSheet){style.styleSheet.cssText=rule}else{style.appendChild(document.createTextNode(rule))}div.id=mod;if(body.fake){body.style.background="";body.style.overflow="hidden";docOverflow=docElement.style.overflow;docElement.style.overflow="hidden";docElement.appendChild(body)}ret=callback(div,rule);if(body.fake){body.parentNode.removeChild(body);docElement.style.overflow=docOverflow;docElement.offsetHeight}else{div.parentNode.removeChild(div)}return !!ret}var mq=(function(){var matchMedia=window.matchMedia||window.msMatchMedia;if(matchMedia){return function(mq){var mql=matchMedia(mq);return mql&&mql.matches||false}}return function(mq){var bool=false;injectElementWithStyles("@media "+mq+" { #modernizr { position: absolute; } }",function(node){bool=(window.getComputedStyle?window.getComputedStyle(node,null):node.currentStyle).position=="absolute"});return bool}})();ModernizrProto.mq=mq;var testStyles=ModernizrProto.testStyles=injectElementWithStyles;
/*
{
  "name": "Touch Events",
  "property": "touchevents",
  "caniuse" : "touch",
  "tags": ["media", "attribute"],
  "notes": [{
    "name": "Touch Events spec",
    "href": "https://www.w3.org/TR/2013/WD-touch-events-20130124/"
  }],
  "warnings": [
    "Indicates if the browser supports the Touch Events spec, and does not necessarily reflect a touchscreen device"
  ],
  "knownBugs": [
    "False-positive on some configurations of Nokia N900",
    "False-positive on some BlackBerry 6.0 builds – https://github.com/Modernizr/Modernizr/issues/372#issuecomment-3112695"
  ]
}
!*/
Modernizr.addTest("touchevents",function(){var bool;if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){bool=true}else{var query=["@media (",prefixes.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");testStyles(query,function(node){bool=node.offsetTop===9})}return bool});
/*
{
  "name": "CSS vh unit",
  "property": "cssvhunit",
  "caniuse": "viewport-units",
  "tags": ["css"],
  "builderAliases": ["css_vhunit"],
  "notes": [{
    "name": "Related Modernizr Issue",
    "href": "https://github.com/Modernizr/Modernizr/issues/572"
  },{
    "name": "Similar JSFiddle",
    "href": "https://jsfiddle.net/FWeinb/etnYC/"
  }]
}
!*/
testStyles("#modernizr { height: 50vh; }",function(elem){var height=parseInt(window.innerHeight/2,10);var compStyle=parseInt(computedStyle(elem,null,"height"),10);Modernizr.addTest("cssvhunit",compStyle==height)});
/*
{
  "name": "CSS vmax unit",
  "property": "cssvmaxunit",
  "caniuse": "viewport-units",
  "tags": ["css"],
  "builderAliases": ["css_vmaxunit"],
  "notes": [{
    "name": "Related Modernizr Issue",
    "href": "https://github.com/Modernizr/Modernizr/issues/572"
  },{
    "name": "JSFiddle Example",
    "href": "https://jsfiddle.net/glsee/JDsWQ/4/"
  }]
}
!*/
testStyles("#modernizr1{width: 50vmax}#modernizr2{width:50px;height:50px;overflow:scroll}#modernizr3{position:fixed;top:0;left:0;bottom:0;right:0}",function(node){var elem=node.childNodes[2];var scroller=node.childNodes[1];var fullSizeElem=node.childNodes[0];var scrollbarWidth=parseInt((scroller.offsetWidth-scroller.clientWidth)/2,10);var one_vw=fullSizeElem.clientWidth/100;var one_vh=fullSizeElem.clientHeight/100;var expectedWidth=parseInt(Math.max(one_vw,one_vh)*50,10);var compWidth=parseInt(computedStyle(elem,null,"width"),10);Modernizr.addTest("cssvmaxunit",roundedEquals(expectedWidth,compWidth)||roundedEquals(expectedWidth,compWidth-scrollbarWidth))},3);
/*
{
  "name": "CSS vmin unit",
  "property": "cssvminunit",
  "caniuse": "viewport-units",
  "tags": ["css"],
  "builderAliases": ["css_vminunit"],
  "notes": [{
    "name": "Related Modernizr Issue",
    "href": "https://github.com/Modernizr/Modernizr/issues/572"
  },{
    "name": "JSFiddle Example",
    "href": "https://jsfiddle.net/glsee/JRmdq/8/"
  }]
}
!*/
testStyles("#modernizr1{width: 50vm;width:50vmin}#modernizr2{width:50px;height:50px;overflow:scroll}#modernizr3{position:fixed;top:0;left:0;bottom:0;right:0}",function(node){var elem=node.childNodes[2];var scroller=node.childNodes[1];var fullSizeElem=node.childNodes[0];var scrollbarWidth=parseInt((scroller.offsetWidth-scroller.clientWidth)/2,10);var one_vw=fullSizeElem.clientWidth/100;var one_vh=fullSizeElem.clientHeight/100;var expectedWidth=parseInt(Math.min(one_vw,one_vh)*50,10);var compWidth=parseInt(computedStyle(elem,null,"width"),10);Modernizr.addTest("cssvminunit",roundedEquals(expectedWidth,compWidth)||roundedEquals(expectedWidth,compWidth-scrollbarWidth))},3);
/*
{
  "name": "CSS vw unit",
  "property": "cssvwunit",
  "caniuse": "viewport-units",
  "tags": ["css"],
  "builderAliases": ["css_vwunit"],
  "notes": [{
    "name": "Related Modernizr Issue",
    "href": "https://github.com/Modernizr/Modernizr/issues/572"
  },{
    "name": "JSFiddle Example",
    "href": "https://jsfiddle.net/FWeinb/etnYC/"
  }]
}
!*/
testStyles("#modernizr { width: 50vw; }",function(elem){var width=parseInt(window.innerWidth/2,10);var compStyle=parseInt(computedStyle(elem,null,"width"),10);Modernizr.addTest("cssvwunit",compStyle==width)});function contains(str,substr){return !!~(""+str).indexOf(substr)}function nativeTestProps(props,value){var i=props.length;if("CSS" in window&&"supports" in window.CSS){while(i--){if(window.CSS.supports(domToCSS(props[i]),value)){return true}}return false}else{if("CSSSupportsRule" in window){var conditionText=[];while(i--){conditionText.push("("+domToCSS(props[i])+":"+value+")")}conditionText=conditionText.join(" or ");return injectElementWithStyles("@supports ("+conditionText+") { #modernizr { position: absolute; } }",function(node){return computedStyle(node,null,"position")=="absolute"})}}return undefined}function fnBind(fn,that){return function(){return fn.apply(that,arguments)}}function testDOMProps(props,obj,elem){var item;for(var i in props){if(props[i] in obj){if(elem===false){return props[i]}item=obj[props[i]];if(is(item,"function")){return fnBind(item,elem||obj)}return item}}return false}var modElem={elem:createElement("modernizr")};Modernizr._q.push(function(){delete modElem.elem});var mStyle={style:modElem.elem.style};Modernizr._q.unshift(function(){delete mStyle.style});function testProps(props,prefixed,value,skipValueTest){skipValueTest=is(skipValueTest,"undefined")?false:skipValueTest;if(!is(value,"undefined")){var result=nativeTestProps(props,value);if(!is(result,"undefined")){return result}}var afterInit,i,propsLength,prop,before;var elems=["modernizr","tspan","samp"];while(!mStyle.style&&elems.length){afterInit=true;mStyle.modElem=createElement(elems.shift());mStyle.style=mStyle.modElem.style}function cleanElems(){if(afterInit){delete mStyle.style;delete mStyle.modElem}}propsLength=props.length;for(i=0;i<propsLength;i++){prop=props[i];before=mStyle.style[prop];if(contains(prop,"-")){prop=cssToDOM(prop)}if(mStyle.style[prop]!==undefined){if(!skipValueTest&&!is(value,"undefined")){try{mStyle.style[prop]=value}catch(e){}if(mStyle.style[prop]!=before){cleanElems();return prefixed=="pfx"?prop:true}}else{cleanElems();return prefixed=="pfx"?prop:true}}}cleanElems();return false}var testProp=ModernizrProto.testProp=function(prop,value,useValue){return testProps([prop],undefined,value,useValue)};function testPropsAll(prop,prefixed,elem,value,skipValueTest){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,value,skipValueTest)}else{props=(prop+" "+(domPrefixes).join(ucProp+" ")+ucProp).split(" ");return testDOMProps(props,prefixed,elem)}}ModernizrProto.testAllProps=testPropsAll;var prefixed=ModernizrProto.prefixed=function(prop,obj,elem){if(prop.indexOf("@")===0){return atRule(prop)}if(prop.indexOf("-")!=-1){prop=cssToDOM(prop)}if(!obj){return testPropsAll(prop,"pfx")}else{return testPropsAll(prop,obj,elem)}};var prefixedCSS=ModernizrProto.prefixedCSS=function(prop){var prefixedProp=prefixed(prop);return prefixedProp&&domToCSS(prefixedProp)};
/*
{
  "name": "Fullscreen API",
  "property": "fullscreen",
  "caniuse": "fullscreen",
  "notes": [{
    "name": "MDN documentation",
    "href": "https://developer.mozilla.org/en/API/Fullscreen"
  }],
  "polyfills": ["screenfulljs"],
  "builderAliases": ["fullscreen_api"]
}
!*/
Modernizr.addTest("fullscreen",!!(prefixed("exitFullscreen",document,false)||prefixed("cancelFullScreen",document,false)));function testAllProps(prop,value,skipValueTest){return testPropsAll(prop,undefined,undefined,value,skipValueTest)}ModernizrProto.testAllProps=testAllProps;
/*
{
  "name": "CSS Columns",
  "property": "csscolumns",
  "caniuse": "multicolumn",
  "polyfills": ["css3multicolumnjs"],
  "tags": ["css"]
}
!*/
(function(){Modernizr.addTest("csscolumns",function(){var bool=false;var test=testAllProps("columnCount");try{bool=!!test;if(bool){bool=new Boolean(bool)}}catch(e){}return bool});var props=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"];var name,test;for(var i=0;i<props.length;i++){name=props[i].toLowerCase();test=testAllProps("column"+props[i]);if(name==="breakbefore"||name==="breakafter"||name=="breakinside"){test=test||testAllProps(props[i])}Modernizr.addTest("csscolumns."+name,test)}})();
/*
{
  "name": "Flexbox",
  "property": "flexbox",
  "caniuse": "flexbox",
  "tags": ["css"],
  "notes": [{
    "name": "The _new_ flexbox",
    "href": "http://dev.w3.org/csswg/css3-flexbox"
  }],
  "warnings": [
    "A `true` result for this detect does not imply that the `flex-wrap` property is supported; see the `flexwrap` detect."
  ]
}
!*/
Modernizr.addTest("flexbox",testAllProps("flexBasis","1px",true));testRunner();delete ModernizrProto.addTest;delete ModernizrProto.addAsyncTest;for(var i=0;i<Modernizr._q.length;i++){Modernizr._q[i]()}window.Modernizr=Modernizr})(window,document);