/*!
 * modernizr v3.5.0
 * Build https://modernizr.com/download?-backgroundsize-borderimage-borderradius-boxshadow-boxsizing-cssanimations-cssgradients-csstransforms-csstransforms3d-csstransitions-fontface-generatedcontent-hsla-localstorage-multiplebgs-opacity-rgba-sessionstorage-textshadow-addtest-domprefixes-hasevent-prefixes-setclasses-shiv-testallprops-testprop-teststyles-dontmin
 *
 * Copyright (c)
 *  Faruk Ates
 *  Paul Irish
 *  Alex Sexton
 *  Ryan Seddon
 *  Patrick Kettner
 *  Stu Cox
 *  Richard Herrera
 * MIT License
 */
(function(n,t,i){function o(n,t){return typeof n===t}function at(){var i,n,u,f,e,s,t;for(var h in l)if(l.hasOwnProperty(h)){if(i=[],n=l[h],n.name&&(i.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(u=0;u<n.options.aliases.length;u++)i.push(n.options.aliases[u].toLowerCase());for(f=o(n.fn,"function")?n.fn():n.fn,e=0;e<i.length;e++)s=i[e],t=s.split("."),t.length===1?r[t[0]]=f:(!r[t[0]]||r[t[0]]instanceof Boolean||(r[t[0]]=new Boolean(r[t[0]])),r[t[0]][t[1]]=f),nt.push((f?"":"no-")+t.join("-"))}}function tt(n){var t=s.className,i=r._config.classPrefix||"",u;c&&(t=t.baseVal);r._config.enableJSClass&&(u=new RegExp("(^|\\s)"+i+"no-js(\\s|$)"),t=t.replace(u,"$1"+i+"js$2"));r._config.enableClasses&&(t+=" "+i+n.join(" "+i),c?s.className.baseVal=t:s.className=t)}function it(n,t){var u,i,f;if(typeof n=="object")for(u in n)b(n,u)&&it(u,n[u]);else{if(n=n.toLowerCase(),i=n.split("."),f=r[i[0]],i.length==2&&(f=f[i[1]]),typeof f!="undefined")return r;t=typeof t=="function"?t():t;i.length==1?r[i[0]]=t:(!r[i[0]]||r[i[0]]instanceof Boolean||(r[i[0]]=new Boolean(r[i[0]])),r[i[0]][i[1]]=t);tt([(!!t&&t!=!1?"":"no-")+i.join("-")]);r._trigger(n,t)}return r}function f(){return typeof t.createElement!="function"?t.createElement(arguments[0]):c?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function k(n,t){return!!~(""+n).indexOf(t)}function vt(n){return n.replace(/([a-z])-([a-z])/g,function(n,t,i){return t+i.toUpperCase()}).replace(/^-/,"")}function yt(){var n=t.body;return n||(n=f(c?"svg":"body"),n.fake=!0),n}function et(n,i,r,u){var c="modernizr",o,a,l,v,h=f("div"),e=yt();if(parseInt(r,10))while(r--)l=f("div"),l.id=u?u[r]:c+(r+1),h.appendChild(l);return o=f("style"),o.type="text/css",o.id="s"+c,(e.fake?e:h).appendChild(o),e.appendChild(h),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(t.createTextNode(n)),h.id=c,e.fake&&(e.style.background="",e.style.overflow="hidden",v=s.style.overflow,s.style.overflow="hidden",s.appendChild(e)),a=i(h,n),e.fake?(e.parentNode.removeChild(e),s.style.overflow=v,s.offsetHeight):h.parentNode.removeChild(h),!!a}function pt(n,t){return function(){return n.apply(t,arguments)}}function wt(n,t,i){var r;for(var u in n)if(n[u]in t)return i===!1?n[u]:(r=t[n[u]],o(r,"function"))?pt(r,i||t):r;return!1}function st(n){return n.replace(/([A-Z])/g,function(n,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function bt(t,i,r){var u,f,e;return"getComputedStyle"in n?(u=getComputedStyle.call(n,t,i),f=n.console,u!==null?r&&(u=u.getPropertyValue(r)):f&&(e=f.error?"error":"log",f[e].call(f,"getComputedStyle returning null, its possible modernizr test results are inaccurate"))):u=!i&&t.currentStyle&&t.currentStyle[r],u}function kt(t,r){var f=t.length,u;if("CSS"in n&&"supports"in n.CSS){while(f--)if(n.CSS.supports(st(t[f]),r))return!0;return!1}if("CSSSupportsRule"in n){for(u=[];f--;)u.push("("+st(t[f])+":"+r+")");return u=u.join(" or "),et("@supports ("+u+") { #modernizr { position: absolute; } }",function(n){return bt(n,null,"position")=="absolute"})}return i}function ht(n,t,r,u){function a(){v&&(delete e.style,delete e.modElem)}var c,v,h,y,s,p,l;if(u=o(u,"undefined")?!1:u,!o(r,"undefined")&&(c=kt(n,r),!o(c,"undefined")))return c;for(l=["modernizr","tspan","samp"];!e.style&&l.length;)v=!0,e.modElem=f(l.shift()),e.style=e.modElem.style;for(y=n.length,h=0;h<y;h++)if(s=n[h],p=e.style[s],k(s,"-")&&(s=vt(s)),e.style[s]!==i){if(u||o(r,"undefined"))return a(),t=="pfx"?s:!0;try{e.style[s]=r}catch(w){}if(e.style[s]!=p)return a(),t=="pfx"?s:!0}return a(),!1}function lt(n,t,i,r,u){var f=n.charAt(0).toUpperCase()+n.slice(1),e=(n+" "+d.join(f+" ")+f).split(" ");return o(t,"string")||o(t,"undefined")?ht(e,t,r,u):(e=(n+" "+w.join(f+" ")+f).split(" "),wt(e,t,i))}function h(n,t,r){return lt(n,i,i,t,r)}var nt=[],l=[],u={_version:"3.5.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(n,t){var i=this;setTimeout(function(){t(i[n])},0)},addTest:function(n,t,i){l.push({name:n,fn:t,options:i})},addAsyncTest:function(n){l.push({name:null,fn:n})}},r=function(){},a,s,c,p,w,b,rt,ut,ft,d,v,ot,g,e,ct,y;r.prototype=u;r=new r;
/*!
    {
      "name": "Local Storage",
      "property": "localstorage",
      "caniuse": "namevalue-storage",
      "tags": ["storage"],
      "knownBugs": [],
      "notes": [],
      "warnings": [],
      "polyfills": [
        "joshuabell-polyfill",
        "cupcake",
        "storagepolyfill",
        "amplifyjs",
        "yui-cacheoffline"
      ]
    }
    !*/
r.addTest("localstorage",function(){var n="modernizr";try{return localStorage.setItem(n,n),localStorage.removeItem(n),!0}catch(t){return!1}});
/*!
    {
      "name": "Session Storage",
      "property": "sessionstorage",
      "tags": ["storage"],
      "polyfills": ["joshuabell-polyfill", "cupcake", "sessionstorage"]
    }
    !*/
if(r.addTest("sessionstorage",function(){var n="modernizr";try{return sessionStorage.setItem(n,n),sessionStorage.removeItem(n),!0}catch(t){return!1}}),a=u._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""],u._prefixes=a,s=t.documentElement,c=s.nodeName.toLowerCase()==="svg",!c){
/**
         * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
         */
(function(n,t){function p(n,t){var i=n.createElement("p"),r=n.getElementsByTagName("head")[0]||n.documentElement;return i.innerHTML="x<style>"+t+"<\/style>",r.insertBefore(i.lastChild,r.firstChild)}function l(){var n=i.elements;return typeof n=="string"?n.split(" "):n}function w(n,t){var r=i.elements;typeof r!="string"&&(r=r.join(" "));typeof n!="string"&&(n=n.join(" "));i.elements=r+" "+n;s(t)}function o(n){var t=c[n[h]];return t||(t={},e++,n[h]=e,c[e]=t),t}function a(n,i,u){if(i||(i=t),r)return i.createElement(n);u||(u=o(i));var f;return f=u.cache[n]?u.cache[n].cloneNode():y.test(n)?(u.cache[n]=u.createElem(n)).cloneNode():u.createElem(n),f.canHaveChildren&&!v.test(n)&&!f.tagUrn?u.frag.appendChild(f):f}function b(n,i){if(n||(n=t),r)return n.createDocumentFragment();i=i||o(n);for(var f=i.frag.cloneNode(),u=0,e=l(),s=e.length;u<s;u++)f.createElement(e[u]);return f}function k(n,t){t.cache||(t.cache={},t.createElem=n.createElement,t.createFrag=n.createDocumentFragment,t.frag=t.createFrag());n.createElement=function(r){return i.shivMethods?a(r,n,t):t.createElem(r)};n.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/[\w\-:]+/g,function(n){return t.createElem(n),t.frag.createElement(n),'c("'+n+'")'})+");return n}")(i,t.frag)}function s(n){n||(n=t);var u=o(n);return!i.shivCSS||f||u.hasCSS||(u.hasCSS=!!p(n,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),r||k(n,u),n}var u=n.html5||{},v=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,y=/^(?: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,f,h="_html5shiv",e=0,c={},r,i;(function(){try{var n=t.createElement("a");n.innerHTML="<xyz><\/xyz>";f="hidden"in n;r=n.childNodes.length==1||function(){t.createElement("a");var n=t.createDocumentFragment();return typeof n.cloneNode=="undefined"||typeof n.createDocumentFragment=="undefined"||typeof n.createElement=="undefined"}()}catch(i){f=!0;r=!0}})();i={elements:u.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3",shivCSS:u.shivCSS!==!1,supportsUnknownElements:r,shivMethods:u.shivMethods!==!1,type:"default",shivDocument:s,createElement:a,createDocumentFragment:b,addElements:w};n.html5=i;s(t);typeof module=="object"&&module.exports&&(module.exports=i)})(typeof n!="undefined"?n:this,t)}p="Moz O ms Webkit";w=u._config.usePrefixes?p.toLowerCase().split(" "):[];u._domPrefixes=w,function(){var n={}.hasOwnProperty;b=o(n,"undefined")||o(n.call,"undefined")?function(n,t){return t in n&&o(n.constructor.prototype[t],"undefined")}:function(t,i){return n.call(t,i)}}();u._l={};u.on=function(n,t){this._l[n]||(this._l[n]=[]);this._l[n].push(t);r.hasOwnProperty(n)&&setTimeout(function(){r._trigger(n,r[n])},0)};u._trigger=function(n,t){if(this._l[n]){var i=this._l[n];setTimeout(function(){for(var r,n=0;n<i.length;n++)r=i[n],r(t)},0);delete this._l[n]}};r._q.push(function(){u.addTest=it});rt=function(){function r(t,r){var u;return t?(r&&typeof r!="string"||(r=f(r||"div")),t="on"+t,u=t in r,!u&&n&&(r.setAttribute||(r=f("div")),r.setAttribute(t,""),u=typeof r[t]=="function",r[t]!==i&&(r[t]=i),r.removeAttribute(t)),u):!1}var n=!("onblur"in t.documentElement);return r}();u.hasEvent=rt;
/*!
    {
      "name": "CSS Gradients",
      "caniuse": "css-gradients",
      "property": "cssgradients",
      "tags": ["css"],
      "knownBugs": ["False-positives on webOS (https://github.com/Modernizr/Modernizr/issues/202)"],
      "notes": [{
        "name": "Webkit Gradient Syntax",
        "href": "https://webkit.org/blog/175/introducing-css-gradients/"
      },{
        "name": "Linear Gradient Syntax",
        "href": "https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient"
      },{
        "name": "W3C Gradient Spec",
        "href": "https://drafts.csswg.org/css-images-3/#gradients"
      }]
    }
    !*/
r.addTest("cssgradients",function(){for(var o,i,u="background-image:",t="",e,n=0,s=a.length-1;n<s;n++)e=n===0?"to ":"",t+=u+a[n]+"linear-gradient("+e+"left top, #9f9, white);";return r._config.usePrefixes&&(t+=u+"-webkit-gradient(linear,left top,right bottom,from(#9f9),to(white));"),o=f("a"),i=o.style,i.cssText=t,(""+i.backgroundImage).indexOf("gradient")>-1});
/*!
    {
      "name": "CSS Multiple Backgrounds",
      "caniuse": "multibackgrounds",
      "property": "multiplebgs",
      "tags": ["css"]
    }
    !*/
r.addTest("multiplebgs",function(){var n=f("a").style;return n.cssText="background:url(https://),url(https://),red url(https://)",/(url\s*\(.*?){3}/.test(n.background)});
/*!
    {
      "name": "CSS Opacity",
      "caniuse": "css-opacity",
      "property": "opacity",
      "tags": ["css"]
    }
    !*/
r.addTest("opacity",function(){var n=f("a").style;return n.cssText=a.join("opacity:.55;"),/^0.55$/.test(n.opacity)});
/*!
    {
      "name": "CSS rgba",
      "caniuse": "css3-colors",
      "property": "rgba",
      "tags": ["css"],
      "notes": [{
        "name": "CSSTricks Tutorial",
        "href": "https://css-tricks.com/rgba-browser-support/"
      }]
    }
    !*/
r.addTest("rgba",function(){var n=f("a").style;return n.cssText="background-color:rgba(150,255,150,.5)",(""+n.backgroundColor).indexOf("rgba")>-1});
/*!
    {
      "name": "CSS HSLA Colors",
      "caniuse": "css3-colors",
      "property": "hsla",
      "tags": ["css"]
    }
    !*/
r.addTest("hsla",function(){var n=f("a").style;return n.cssText="background-color:hsla(120,40%,100%,.5)",k(n.backgroundColor,"rgba")||k(n.backgroundColor,"hsla")});
/*!
    {
      "name": "CSS Supports",
      "property": "supports",
      "caniuse": "css-featurequeries",
      "tags": ["css"],
      "builderAliases": ["css_supports"],
      "notes": [{
        "name": "W3 Spec",
        "href": "http://dev.w3.org/csswg/css3-conditional/#at-supports"
      },{
        "name": "Related Github Issue",
        "href": "https://github.com/Modernizr/Modernizr/issues/648"
      },{
        "name": "W3 Info",
        "href": "http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface"
      }]
    }
    !*/
ut="CSS"in n&&"supports"in n.CSS;ft="supportsCSS"in n;r.addTest("supports",ut||ft);d=u._config.usePrefixes?p.split(" "):[];u._cssomPrefixes=d;v=u.testStyles=et;
/*!
    {
      "name": "@font-face",
      "property": "fontface",
      "authors": ["Diego Perini", "Mat Marquis"],
      "tags": ["css"],
      "knownBugs": [
        "False Positive: WebOS https://github.com/Modernizr/Modernizr/issues/342",
        "False Postive: WP7 https://github.com/Modernizr/Modernizr/issues/538"
      ],
      "notes": [{
        "name": "@font-face detection routine by Diego Perini",
        "href": "http://javascript.nwbox.com/CSSSupport/"
      },{
        "name": "Filament Group @font-face compatibility research",
        "href": "https://docs.google.com/presentation/d/1n4NyG4uPRjAA8zn_pSQ_Ket0RhcWC6QlZ6LMjKeECo0/edit#slide=id.p"
      },{
        "name": "Filament Grunticon/@font-face device testing results",
        "href": "https://docs.google.com/spreadsheet/ccc?key=0Ag5_yGvxpINRdHFYeUJPNnZMWUZKR2ItMEpRTXZPdUE#gid=0"
      },{
        "name": "CSS fonts on Android",
        "href": "https://stackoverflow.com/questions/3200069/css-fonts-on-android"
      },{
        "name": "@font-face and Android",
        "href": "http://archivist.incutio.com/viewlist/css-discuss/115960"
      }]
    }
    !*/
ot=function(){var n=navigator.userAgent,t=n.match(/w(eb)?osbrowser/gi),i=n.match(/windows phone/gi)&&n.match(/iemobile\/([0-9])+/gi)&&parseFloat(RegExp.$1)>=9;return t||i}();ot?r.addTest("fontface",!1):v('@font-face {font-family:"font";src:url("https://")}',function(n,i){var f=t.getElementById("smodernizr"),u=f.sheet||f.styleSheet,e=u?u.cssRules&&u.cssRules[0]?u.cssRules[0].cssText:u.cssText||"":"",o=/src/i.test(e)&&e.indexOf(i.split(" ")[0])===0;r.addTest("fontface",o)});
/*!
    {
      "name": "CSS Generated Content",
      "property": "generatedcontent",
      "tags": ["css"],
      "warnings": ["Android won't return correct height for anything below 7px #738"],
      "notes": [{
        "name": "W3C CSS Selectors Level 3 spec",
        "href": "https://www.w3.org/TR/css3-selectors/#gen-content"
      },{
        "name": "MDN article on :before",
        "href": "https://developer.mozilla.org/en-US/docs/Web/CSS/::before"
      },{
        "name": "MDN article on :after",
        "href": "https://developer.mozilla.org/en-US/docs/Web/CSS/::before"
      }]
    }
    !*/
v('#modernizr{font:0/0 a}#modernizr:after{content:":)";visibility:hidden;font:7px/1 a}',function(n){r.addTest("generatedcontent",n.offsetHeight>=6)});g={elem:f("modernizr")};r._q.push(function(){delete g.elem});e={style:g.elem.style};r._q.unshift(function(){delete e.style});ct=u.testProp=function(n,t,r){return ht([n],i,t,r)};
/*!
    {
      "name": "CSS textshadow",
      "property": "textshadow",
      "caniuse": "css-textshadow",
      "tags": ["css"],
      "knownBugs": ["FF3.0 will false positive on this test"]
    }
    !*/
r.addTest("textshadow",ct("textShadow","1px 1px"));u.testAllProps=lt;u.testAllProps=h;
/*!
    {
      "name": "CSS Animations",
      "property": "cssanimations",
      "caniuse": "css-animation",
      "polyfills": ["transformie", "csssandpaper"],
      "tags": ["css"],
      "warnings": ["Android < 4 will pass this test, but can only animate a single property at a time"],
      "notes": [{
        "name" : "Article: 'Dispelling the Android CSS animation myths'",
        "href": "https://goo.gl/OGw5Gm"
      }]
    }
    !*/
r.addTest("cssanimations",h("animationName","a",!0));
/*!
    {
      "name": "Background Size",
      "property": "backgroundsize",
      "tags": ["css"],
      "knownBugs": ["This will false positive in Opera Mini - https://github.com/Modernizr/Modernizr/issues/396"],
      "notes": [{
        "name": "Related Issue",
        "href": "https://github.com/Modernizr/Modernizr/issues/396"
      }]
    }
    !*/
r.addTest("backgroundsize",h("backgroundSize","100%",!0));
/*!
    {
      "name": "Border Image",
      "property": "borderimage",
      "caniuse": "border-image",
      "polyfills": ["css3pie"],
       "knownBugs": ["Android < 2.0 is true, but has a broken implementation"],
      "tags": ["css"]
    }
    !*/
r.addTest("borderimage",h("borderImage","url() 1",!0));
/*!
    {
      "name": "Border Radius",
      "property": "borderradius",
      "caniuse": "border-radius",
      "polyfills": ["css3pie"],
      "tags": ["css"],
      "notes": [{
        "name": "Comprehensive Compat Chart",
        "href": "https://muddledramblings.com/table-of-css3-border-radius-compliance"
      }]
    }
    !*/
r.addTest("borderradius",h("borderRadius","0px",!0));
/*!
    {
      "name": "Box Shadow",
      "property": "boxshadow",
      "caniuse": "css-boxshadow",
      "tags": ["css"],
      "knownBugs": [
        "WebOS false positives on this test.",
        "The Kindle Silk browser false positives"
      ]
    }
    !*/
r.addTest("boxshadow",h("boxShadow","1px 1px",!0));
/*!
    {
      "name": "Box Sizing",
      "property": "boxsizing",
      "caniuse": "css3-boxsizing",
      "polyfills": ["borderboxmodel", "boxsizingpolyfill", "borderbox"],
      "tags": ["css"],
      "builderAliases": ["css_boxsizing"],
      "notes": [{
        "name": "MDN Docs",
        "href": "https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing"
      },{
        "name": "Related Github Issue",
        "href": "https://github.com/Modernizr/Modernizr/issues/248"
      }]
    }
    !*/
r.addTest("boxsizing",h("boxSizing","border-box",!0)&&(t.documentMode===i||t.documentMode>7));
/*!
    {
      "name": "CSS Transforms",
      "property": "csstransforms",
      "caniuse": "transforms2d",
      "tags": ["css"]
    }
    !*/
r.addTest("csstransforms",function(){return navigator.userAgent.indexOf("Android 2.")===-1&&h("transform","scale(1)",!0)});
/*!
    {
      "name": "CSS Transforms 3D",
      "property": "csstransforms3d",
      "caniuse": "transforms3d",
      "tags": ["css"],
      "warnings": [
        "Chrome may occassionally fail this test on some systems; more info: https://code.google.com/p/chromium/issues/detail?id=129004"
      ]
    }
    !*/
r.addTest("csstransforms3d",function(){var t=!!h("perspective","1px",!0),i=r._config.usePrefixes,n,u;return t&&(!i||"webkitPerspective"in s.style)&&(u="#modernizr{width:0;height:0}",r.supports?n="@supports (perspective: 1px)":(n="@media (transform-3d)",i&&(n+=",(-webkit-transform-3d)")),n+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}",v(u+n,function(n){t=n.offsetWidth===7&&n.offsetHeight===18})),t});
/*!
    {
      "name": "CSS Transitions",
      "property": "csstransitions",
      "caniuse": "css-transitions",
      "tags": ["css"]
    }
    !*/
for(r.addTest("csstransitions",h("transition","all",!0)),at(),tt(nt),delete u.addTest,delete u.addAsyncTest,y=0;y<r._q.length;y++)r._q[y]();n.Modernizr=r})(window,document)