>>(C>>>0))&B|g<>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (u(n|0),o)|0}else{r=Ff(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (u(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (u(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (u(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Ff(l|0)|0)>>>0);return (u(n|0),o)|0}r=(s(l|0)|0)-(s(i|0)|0)|0;if(r>>>0<=30){t=r+1|0;p=31-r|0;w=t;x=i<
>>(t>>>0);y=i>>>(t>>>0);z=0;A=g<
>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (u(n|0),o)|0}while(0);if(!w){E=A;F=z;G=y;H=x;I=0;J=0}else{b=d|0|0;d=k|e&0;e=Df(b|0,d|0,-1,-1)|0;k=v()|0;h=A;A=z;z=y;y=x;x=w;w=0;do{a=h;h=A>>>31|h<<1;A=w|A<<1;g=y<<1|a>>>31|0;a=y>>>31|z<<1|0;Ef(e|0,k|0,g|0,a|0)|0;i=v()|0;l=i>>31|((i|0)<0?-1:0)<<1;w=l&1;y=Ef(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;z=v()|0;x=x-1|0}while((x|0)!=0);E=h;F=A;G=z;H=y;I=0;J=w}w=F;F=0;if(f|0){c[f>>2]=H;c[f+4>>2]=G}n=(w|0)>>>31|(E|F)<<1|(F<<1|w>>>31)&0|I;o=(w<<1|0>>>31)&-2|J;return (u(n|0),o)|0}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gf(a,b,c,d,0)|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Lf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){L(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Mf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Lf(b,c,d)|0;return b|0}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Of(a){a=a|0;var b=0,d=0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){V(d|0)|0;F(12);return -1}if((d|0)>(J()|0)?(M(d|0)|0)==0:0){F(12);return -1}c[i>>2]=d;return b|0}function Pf(a,b){a=a|0;b=b|0;return aa[a&7](b|0)|0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;return ba[a&31](b|0,c|0)|0}function Rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ca[a&15](b|0,c|0,d|0)|0}function Sf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return da[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Tf(a,b){a=a|0;b=b|0;ea[a&31](b|0)}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;fa[a&3](b|0,c|0)}function Vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ga[a&31](b|0,c|0,d|0,e|0)}function Wf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha[a&31](b|0,c|0,d|0,e|0,f|0)}function Xf(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ia[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Yf(a){a=a|0;t(0);return 0}function Zf(a,b){a=a|0;b=b|0;t(1);return 0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;t(2);return 0}function $f(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(3);return 0}function ag(a){a=a|0;t(4)}function bg(a,b){a=a|0;b=b|0;t(5)}function cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(6)}function dg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(7)}function eg(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;t(8)}
+
+ // EMSCRIPTEN_END_FUNCS
+ var aa=[Yf,gd,hd,We,Rb,Sb,ld,Yf];var ba=[Zf,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,Xb,ac,dc,ec,fc,dd,Zf,Zf,Zf,Zf,Zf,Zf,Zf,Zf,Zf,Zf,Zf];var ca=[_f,Xe,Ye,Zb,bc,hc,gc,$b,_b,ic,_f,_f,_f,_f,_f,_f];var da=[$f,Je];var ea=[ag,fd,id,jd,kd,Tb,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,ae,be,ce,de,ee,fe,ge,he,ag,ag];var fa=[bg,Ha,Ka,bg];var ga=[cg,Nc,Oc,Pc,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,cg,cg,cg,cg,cg,cg,cg,cg,cg,cg,cg,cg,cg,cg];var ha=[dg,Qc,Rc,Sc,tc,uc,vc,wc,xc,yc,zc,kc,lc,mc,nc,oc,pc,qc,dg,dg,dg,dg,dg,dg,dg,dg,dg,dg,dg,dg,dg,dg];var ia=[eg,Fc,Gc,Hc,Ic,Jc,Kc,Lc];return{_WebpToSDL:na,___errno_location:_e,___muldi3:Cf,___udivdi3:Hf,_bitshift64Lshr:If,_bitshift64Shl:Jf,_emscripten_replace_memory:$,_free:Qe,_i64Add:Df,_i64Subtract:Ef,_llvm_bswap_i32:Kf,_malloc:Pe,_memcpy:Lf,_memmove:Mf,_memset:Nf,_sbrk:Of,dynCall_ii:Pf,dynCall_iii:Qf,dynCall_iiii:Rf,dynCall_iiiiiii:Sf,dynCall_vi:Tf,dynCall_vii:Uf,dynCall_viiii:Vf,dynCall_viiiii:Wf,dynCall_viiiiiiiii:Xf,establishStackSpace:ma,stackAlloc:ja,stackRestore:la,stackSave:ka}})
+
+
+ // EMSCRIPTEN_END_ASM
+ (asmGlobalArg,asmLibraryArg,buffer);var _WebpToSDL=Module["_WebpToSDL"]=asm["_WebpToSDL"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];Module["asm"]=asm;Module["cwrap"]=cwrap;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();
+
+
+ this.Module = Module
+ this.webpToSdl = Module.cwrap("WebpToSDL", "number", ["array", "number"])
+ this.setCanvas = function(canvas) { Module.canvas = canvas; SDL.canvasPool.push(canvas); }
+
+ /* document.createElement = function() {
+ return Module.canvas;
+ }; */
+ }
+
+ export {Webp}
+
\ No newline at end of file
diff --git a/src/lib/lottieLoader.ts b/src/lib/lottieLoader.ts
index 06042cf6..e9d288f8 100644
--- a/src/lib/lottieLoader.ts
+++ b/src/lib/lottieLoader.ts
@@ -70,7 +70,7 @@ class LottieLoader {
} */
//params.autoplay = false;
- //params.renderer = 'canvas';
+ params.renderer = 'canvas';
params.rendererSettings = {
//context: canvasContext, // the canvas context
//preserveAspectRatio: 'xMinYMin slice', // Supports the same options as the svg element's preserveAspectRatio property
diff --git a/src/lib/webp.ts b/src/lib/webp.ts
new file mode 100644
index 00000000..9b02a281
--- /dev/null
+++ b/src/lib/webp.ts
@@ -0,0 +1,53 @@
+
+import {Webp} from "webp-hero/libwebp/dist/webp.js"
+import {detectWebpSupport} from "webp-hero/dist/detect-webp-support.js"
+
+const relax = () => new Promise(resolve => requestAnimationFrame(resolve))
+
+export class WebpMachineError extends Error {}
+
+/**
+ * Webp Machine
+ * - decode and polyfill webp images
+ * - can only decode images one-at-a-time (otherwise will throw busy error)
+ */
+export class WebpMachine {
+ private readonly webp: Webp
+ private readonly webpSupport: Promise
+ private busy = false
+ private cache: {[key: string]: string} = {}
+
+ constructor({
+ webp = new Webp(),
+ webpSupport = detectWebpSupport()
+ } = {}) {
+ this.webp = webp;
+ this.webp.Module.doNotCaptureKeyboard = true;
+ this.webpSupport = webpSupport;
+ }
+
+ /**
+ * Decode raw webp data into a png data url
+ */
+ async decode(webpData: Uint8Array): Promise {
+ if (this.busy) throw new WebpMachineError("cannot decode when already busy")
+ this.busy = true
+
+ try {
+ await relax()
+ const canvas = document.createElement("canvas")
+ this.webp.setCanvas(canvas)
+ this.webp.webpToSdl(webpData, webpData.length)
+ this.busy = false
+ return canvas.toDataURL()
+ }
+ catch (error) {
+ this.busy = false
+ error.name = WebpMachineError.name
+ error.message = `failed to decode webp image: ${error.message}`
+ throw error
+ }
+ }
+}
+
+(window as any).WebpMachine = WebpMachine;
diff --git a/src/lib/webp_bad.js b/src/lib/webp_bad.js
new file mode 100644
index 00000000..4181ccc0
--- /dev/null
+++ b/src/lib/webp_bad.js
@@ -0,0 +1,24 @@
+import insideWorker from 'offscreen-canvas/inside-worker';
+
+console.log(self);
+
+import { Webp } from "./libwebp.js";
+let webp = new Webp();
+webp.Module.doNotCaptureKeyboard = true;
+webp.Module.noImageDecoding = true;
+
+let canvas = null;
+
+const worker = insideWorker(e => {
+ if(e.data.canvas) {
+ canvas = e.data.canvas;
+ console.log(e, canvas);
+ webp.setCanvas(canvas);
+ //webp.webpToSdl()
+ // Draw on the canvas
+ } else if(e.data.message == 'webpBytes') {
+ webp.webpToSdl(e.data.bytes, e.data.bytes.length);
+ //console.log(canvas);
+ self.postMessage({converted: true});
+ }
+});
diff --git a/src/materialize.min.js b/src/materialize.min.js
deleted file mode 100644
index 4ff077d6..00000000
--- a/src/materialize.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Materialize v1.0.0 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;ss.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(ho-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e=k.currentTime)for(var h=0;ht&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(sl.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s(''),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o(''),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,si.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0i||1"+o+""+a+""+r+""),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a");r.data?l.append(''+r.key+""):l.append(""+r.key+""),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g,"
");e.html(h),0'),this.$slides.each(function(t,e){var i=s('');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),tthis.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r(''),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&tn.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return' | ';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),' | "}},{key:"renderRow",value:function(t,e,i){return''+(e?t.reverse():t).join("")+"
"}},{key:"renderTable",value:function(t,e,i){return''+this.renderHead(t)+this.renderBody(e)+"
"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push(''+this.renderDayName(t,e,!0)+" | ");return""+(t.isRTL?i.reverse():i).join("")+"
"}},{key:"renderBody",value:function(t){return""+t.join("")+""}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('
");for(a='
",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l
=u.minYear&&d.push('");r='";v+='',v+='',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="
",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='')+" "}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h('").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('');h('").appendTo(e).on("click",this.close.bind(this)),h('").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('AM
'),this.$pmBtn=h('PM
'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0','",""].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i'+t.getAttribute("label")+"")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d('');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?'":e.innerHTML,a=d(""),r=d("");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d('');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime);
\ No newline at end of file
diff --git a/src/materialize.scss b/src/materialize.scss
index b607e006..e009ac98 100644
--- a/src/materialize.scss
+++ b/src/materialize.scss
@@ -1,42 +1,6 @@
@charset "UTF-8";
-// Color
-@import "../node_modules/materialize-css/sass/components/color-variables";
-@import "../node_modules/materialize-css/sass/components/color-classes";
+@import "./scss/components/normalize";
-// Variables;
-@import "../node_modules/materialize-css/sass/components/variables";
-
-// Reset
-@import "../node_modules/materialize-css/sass/components/normalize";
-
-// components
-@import "../node_modules/materialize-css/sass/components/global";
-/* @import "components/badges";
-@import "components/icons-material-design"; */
-@import "../node_modules/materialize-css/sass/components/grid";
-/* @import "components/navbar"; */
-@import "../node_modules/materialize-css/sass/components/typography";
-@import "../node_modules/materialize-css/sass/components/preloader";
-/* @import "components/transitions";
-@import "components/cards";
-@import "components/toast";
-@import "components/tabs";
-@import "components/tooltip";
-@import "components/buttons";
-@import "components/dropdown";
-@import "components/waves";
-@import "components/modal";
-@import "components/collapsible";
-@import "components/chips";
-@import "components/materialbox";
-@import "components/forms/forms";
-@import "components/table_of_contents";
-@import "components/sidenav";
-@import "components/preloader";
-@import "components/slider";
-@import "components/carousel";
-@import "components/tapTarget";
-@import "components/pulse";
-@import "components/datepicker";
-@import "components/timepicker"; */
+@import "./scss/components/global";
+@import "./scss/components/typography";
diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.js
deleted file mode 100644
index 7c59aa3d..00000000
--- a/src/registerServiceWorker.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2018-present, Evgeny Nadymov
- *
- * This source code is licensed under the GPL v.3.0 license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-//import TdLibController from './Controllers/TdLibController';
-
-// In production, we register a service worker to serve assets from local cache.
-
-// This lets the app load faster on subsequent visits in production, and gives
-// it offline capabilities. However, it also means that developers (and users)
-// will only see deployed updates on the "N+1" visit to a page, since previously
-// cached resources are updated in the background.
-
-// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
-// This link also includes instructions on opting out of this behavior.
-
-const isLocalhost =
- //false;
- Boolean(
- window.location.hostname === 'localhost' ||
- // [::1] is the IPv6 localhost address.
- window.location.hostname === '[::1]' ||
- // 127.0.0.1/8 is considered localhost for IPv4.
- window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)
- );
-
-export default async function register() {
- console.log('[SW] Register');
-
- if('serviceWorker' in navigator) {
- // The URL constructor is available in all browsers that support SW.
- const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
- if(publicUrl.origin !== window.location.origin) {
- // Our service worker won't work if PUBLIC_URL is on a different origin
- // from what our page is served on. This might happen if a CDN is used to
- // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
- return;
- }
-
- const serviceWorkerName =
- process.env.NODE_ENV === 'production' ? 'service-worker.js' : 'custom-service-worker.js';
- const swUrl = `${process.env.PUBLIC_URL}/${serviceWorkerName}`;
- console.log(`[SW] Service worker url: ${swUrl}`);
-
- if(!isLocalhost) {
- // Is not local host. Just register service worker
- await registerValidSW(swUrl);
- } else {
- // This is running on localhost. Lets check if a service worker still exists or not.
- await checkValidServiceWorker(swUrl);
- }
- }
-}
-
-async function registerValidSW(swUrl) {
- console.log('[SW] RegisterValidSW');
- try {
- const registration = await navigator.serviceWorker.register(swUrl);
- registration.onupdatefound = () => {
- const installingWorker = registration.installing;
- installingWorker.onstatechange = () => {
- if(installingWorker.state === 'installed') {
- if(navigator.serviceWorker.controller) {
- // At this point, the old content will have been purged and
- // the fresh content will have been added to the cache.
- // It's the perfect time to display a "New content is
- // available; please refresh." message in your web app.
- console.log('[SW] New content is available; please refresh.');
-
- ApplicationStore.emit('clientUpdateNewContentAvailable');
- } else {
- // At this point, everything has been precached.
- // It's the perfect time to display a
- // "Content is cached for offline use." message.
- console.log('[SW] Content is cached for offline use.');
- }
- }
- };
- };
- } catch (error) {
- console.error('[SW] Error during service worker registration: ', error);
- }
-}
-
-async function checkValidServiceWorker(swUrl) {
- console.log('[SW] CheckValidServiceWorker');
- // Check if the service worker can be found. If it can't reload the page.
- try {
- const response = await fetch(swUrl);
-
- // Ensure service worker exists, and that we really are getting a JS file.
- if(response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) {
- // No service worker found. Probably a different app. Reload the page.
- const registration = await navigator.serviceWorker.ready;
- await registration.unregister();
-
- window.location.reload();
- } else {
- // Service worker found. Proceed as normal.
- await registerValidSW(swUrl);
- }
- } catch(error) {
- console.log('[SW] No internet connection found. App is running in offline mode.');
- }
-}
-
-export async function unregister() {
- if ('serviceWorker' in navigator) {
- const registration = await navigator.serviceWorker.ready;
-
- await registration.unregister();
- }
-}
-
-export async function update() {
- if ('serviceWorker' in navigator) {
- const registration = await navigator.serviceWorker.ready;
-
- await registration.update();
- }
-}
diff --git a/src/scss/components/_badges.scss b/src/scss/components/_badges.scss
deleted file mode 100644
index ffed87dc..00000000
--- a/src/scss/components/_badges.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-// Badges
-span.badge {
- min-width: 3rem;
- padding: 0 6px;
- margin-left: 14px;
- text-align: center;
- font-size: 1rem;
- line-height: $badge-height;
- height: $badge-height;
- color: color('grey', 'darken-1');
- float: right;
- box-sizing: border-box;
-
- &.new {
- font-weight: 300;
- font-size: 0.8rem;
- color: #fff;
- background-color: $badge-bg-color;
- border-radius: 2px;
- }
- &.new:after {
- content: " new";
- }
-
- &[data-badge-caption]::after {
- content: " " attr(data-badge-caption);
- }
-}
-
-// Special cases
-nav ul a span.badge {
- display: inline-block;
- float: none;
- margin-left: 4px;
- line-height: $badge-height;
- height: $badge-height;
- -webkit-font-smoothing: auto;
-}
-
-// Line height centering
-.collection-item span.badge {
- margin-top: calc(#{$collection-line-height / 2} - #{$badge-height / 2});
-}
-.collapsible span.badge {
- margin-left: auto;
-}
-.sidenav span.badge {
- margin-top: calc(#{$sidenav-line-height / 2} - #{$badge-height / 2});
-}
-
-table span.badge {
- display: inline-block;
- float: none;
- margin-left: auto;
-}
diff --git a/src/scss/components/_buttons.scss b/src/scss/components/_buttons.scss
deleted file mode 100644
index 44b80c8d..00000000
--- a/src/scss/components/_buttons.scss
+++ /dev/null
@@ -1,322 +0,0 @@
-// shared styles
-.btn,
-.btn-flat {
- border: $button-border;
- border-radius: $button-radius;
- display: inline-block;
- height: $button-height;
- line-height: $button-height;
- padding: $button-padding;
- text-transform: uppercase;
- vertical-align: middle;
- -webkit-tap-highlight-color: transparent; // Gets rid of tap active state
-}
-
-// Disabled shared style
-.btn.disabled,
-.btn-floating.disabled,
-.btn-large.disabled,
-.btn-small.disabled,
-.btn-flat.disabled,
-.btn:disabled,
-.btn-floating:disabled,
-.btn-large:disabled,
-.btn-small:disabled,
-.btn-flat:disabled,
-.btn[disabled],
-.btn-floating[disabled],
-.btn-large[disabled],
-.btn-small[disabled],
-.btn-flat[disabled] {
- pointer-events: none;
- background-color: $button-disabled-background !important;
- box-shadow: none;
- color: $button-disabled-color !important;
- cursor: default;
- &:hover {
- background-color: $button-disabled-background !important;
- color: $button-disabled-color !important;
- }
-}
-
-// Shared icon styles
-.btn,
-.btn-floating,
-.btn-large,
-.btn-small,
-.btn-flat {
- font-size: $button-font-size;
- outline: 0;
- i {
- font-size: $button-icon-font-size;
- line-height: inherit;
- }
-}
-
-// Shared focus button style
-.btn,
-.btn-floating {
- &:focus {
- background-color: darken($button-raised-background, 10%);
- }
-}
-
-// Raised Button
-.btn {
- text-decoration: none;
- color: $button-raised-color;
- background-color: $button-raised-background;
- text-align: center;
- letter-spacing: .5px;
- @extend .z-depth-1;
- transition: background-color .2s ease-out;
- cursor: pointer;
- &:hover {
- background-color: $button-raised-background-hover;
- @extend .z-depth-1-half;
- }
-}
-
-// Floating button
-.btn-floating {
- &:hover {
- background-color: $button-floating-background-hover;
- @extend .z-depth-1-half;
- }
- &:before {
- border-radius: 0;
- }
- &.btn-large {
- &.halfway-fab {
- bottom: -$button-floating-large-size / 2;
- }
- width: $button-floating-large-size;
- height: $button-floating-large-size;
- padding: 0;
- i {
- line-height: $button-floating-large-size;
- }
- }
-
- &.btn-small {
- &.halfway-fab {
- bottom: -$button-floating-small-size / 2;
- }
- width: $button-floating-small-size;
- height: $button-floating-small-size;
- i {
- line-height: $button-floating-small-size;
- }
- }
-
- &.halfway-fab {
- &.left {
- right: auto;
- left: 24px;
- }
- position: absolute;
- right: 24px;
- bottom: -$button-floating-size / 2;
- }
- display: inline-block;
- color: $button-floating-color;
- position: relative;
- overflow: hidden;
- z-index: 1;
- width: $button-floating-size;
- height: $button-floating-size;
- line-height: $button-floating-size;
- padding: 0;
- background-color: $button-floating-background;
- border-radius: $button-floating-radius;
- @extend .z-depth-1;
- transition: background-color .3s;
- cursor: pointer;
- vertical-align: middle;
- i {
- width: inherit;
- display: inline-block;
- text-align: center;
- color: $button-floating-color;
- font-size: $button-large-icon-font-size;
- line-height: $button-floating-size;
- }
-}
-
-// button fix
-button.btn-floating {
- border: $button-border;
-}
-
-// Fixed Action Button
-.fixed-action-btn {
- &.active {
- ul {
- visibility: visible;
- }
- }
-
- // Directions
- &.direction-left,
- &.direction-right {
- padding: 0 0 0 15px;
- ul {
- text-align: right;
- right: 64px;
- top: 50%;
- transform: translateY(-50%);
- height: 100%;
- left: auto;
- /*width 100% only goes to width of button container */
- width: 500px;
- li {
- display: inline-block;
- margin: 7.5px 15px 0 0;
- }
- }
- }
- &.direction-right {
- padding: 0 15px 0 0;
- ul {
- text-align: left;
- direction: rtl;
- left: 64px;
- right: auto;
- li {
- margin: 7.5px 0 0 15px;
- }
- }
- }
- &.direction-bottom {
- padding: 0 0 15px 0;
- ul {
- top: 64px;
- bottom: auto;
- display: flex;
- flex-direction: column-reverse;
- li {
- margin: 15px 0 0 0;
- }
- }
- }
- &.toolbar {
- &.active {
- &>a i {
- opacity: 0;
- }
- }
- padding: 0;
- height: $button-floating-large-size;
- ul {
- display: flex;
- top: 0;
- bottom: 0;
- z-index: 1;
- li {
- flex: 1;
- display: inline-block;
- margin: 0;
- height: 100%;
- transition: none;
- a {
- display: block;
- overflow: hidden;
- position: relative;
- width: 100%;
- height: 100%;
- background-color: transparent;
- box-shadow: none;
- color: #fff;
- line-height: $button-floating-large-size;
- z-index: 1;
- i {
- line-height: inherit;
- }
- }
- }
- }
- }
- position: fixed;
- right: 23px;
- bottom: 23px;
- padding-top: 15px;
- margin-bottom: 0;
- z-index: 997;
- ul {
- left: 0;
- right: 0;
- text-align: center;
- position: absolute;
- bottom: 64px;
- margin: 0;
- visibility: hidden;
- li {
- margin-bottom: 15px;
- }
- a.btn-floating {
- opacity: 0;
- }
- }
- .fab-backdrop {
- position: absolute;
- top: 0;
- left: 0;
- z-index: -1;
- width: $button-floating-size;
- height: $button-floating-size;
- background-color: $button-floating-background;
- border-radius: $button-floating-radius;
- transform: scale(0);
- }
-}
-
-// Flat button
-.btn-flat {
- box-shadow: none;
- background-color: transparent;
- color: $button-flat-color;
- cursor: pointer;
- transition: background-color .2s;
- &:focus,
- &:hover {
- box-shadow: none;
- }
- &:focus {
- background-color: rgba(0, 0, 0, .1);
- }
- &.disabled,
- &.btn-flat[disabled] {
- background-color: transparent !important;
- color: $button-flat-disabled-color !important;
- cursor: default;
- }
-}
-
-// Large button
-.btn-large {
- @extend .btn;
- height: $button-large-height;
- line-height: $button-large-height;
- font-size: $button-large-font-size;
- padding: 0 28px;
-
- i {
- font-size: $button-large-icon-font-size;
- }
-}
-
-// Small button
-.btn-small {
- @extend .btn;
- height: $button-small-height;
- line-height: $button-small-height;
- font-size: $button-small-font-size;
- i {
- font-size: $button-small-icon-font-size;
- }
-}
-
-// Block button
-.btn-block {
- display: block;
-}
diff --git a/src/scss/components/_cards.scss b/src/scss/components/_cards.scss
deleted file mode 100644
index fcbf28ec..00000000
--- a/src/scss/components/_cards.scss
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-.card-panel {
- transition: box-shadow .25s;
- padding: $card-padding;
- margin: $element-top-margin 0 $element-bottom-margin 0;
- border-radius: 2px;
- @extend .z-depth-1;
- background-color: $card-bg-color;
-}
-
-.card {
- position: relative;
- margin: $element-top-margin 0 $element-bottom-margin 0;
- background-color: $card-bg-color;
- transition: box-shadow .25s;
- border-radius: 2px;
- @extend .z-depth-1;
-
-
- .card-title {
- font-size: 24px;
- font-weight: 300;
- &.activator {
- cursor: pointer;
- }
- }
-
- // Card Sizes
- &.small, &.medium, &.large {
- position: relative;
-
- .card-image {
- max-height: 60%;
- overflow: hidden;
- }
- .card-image + .card-content {
- max-height: 40%;
- }
- .card-content {
- max-height: 100%;
- overflow: hidden;
- }
- .card-action {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- }
- }
-
- &.small {
- height: 300px;
- }
-
- &.medium {
- height: 400px;
- }
-
- &.large {
- height: 500px;
- }
-
- // Horizontal Cards
- &.horizontal {
- &.small, &.medium, &.large {
- .card-image {
- height: 100%;
- max-height: none;
- overflow: visible;
-
- img {
- height: 100%;
- }
- }
- }
-
- display: flex;
-
- .card-image {
- max-width: 50%;
- img {
- border-radius: 2px 0 0 2px;
- max-width: 100%;
- width: auto;
- }
- }
-
- .card-stacked {
- display: flex;
- flex-direction: column;
- flex: 1;
- position: relative;
-
- .card-content {
- flex-grow: 1;
- }
- }
- }
-
- // Sticky Action Section
- &.sticky-action {
- .card-action {
- z-index: 2;
- }
-
- .card-reveal {
- z-index: 1;
- padding-bottom: 64px;
- }
- }
-
-
-
-
- .card-image {
- position: relative;
-
- // Image background for content
- img {
- display: block;
- border-radius: 2px 2px 0 0;
- position: relative;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- width: 100%;
- }
-
- .card-title {
- color: $card-bg-color;
- position: absolute;
- bottom: 0;
- left: 0;
- max-width: 100%;
- padding: $card-padding;
- }
- }
-
- .card-content {
- padding: $card-padding;
- border-radius: 0 0 2px 2px;
-
- p {
- margin: 0;
- }
- .card-title {
- display: block;
- line-height: 32px;
- margin-bottom: 8px;
-
- i {
- line-height: 32px;
- }
- }
- }
-
- .card-action {
- &:last-child {
- border-radius: 0 0 2px 2px;
- }
- background-color: inherit; // Use inherit to inherit color classes
- border-top: 1px solid rgba(160,160,160,.2);
- position: relative;
- padding: 16px $card-padding;
-
- a:not(.btn):not(.btn-large):not(.btn-floating) {
- color: $card-link-color;
- margin-right: $card-padding;
- transition: color .3s ease;
- text-transform: uppercase;
-
- &:hover { color: $card-link-color-light; }
- }
- }
-
- .card-reveal {
- padding: $card-padding;
- position: absolute;
- background-color: $card-bg-color;
- width: 100%;
- overflow-y: auto;
- left: 0;
- top: 100%;
- height: 100%;
- z-index: 3;
- display: none;
-
- .card-title {
- cursor: pointer;
- display: block;
- }
- }
-}
diff --git a/src/scss/components/_carousel.scss b/src/scss/components/_carousel.scss
deleted file mode 100644
index cc36d4b3..00000000
--- a/src/scss/components/_carousel.scss
+++ /dev/null
@@ -1,90 +0,0 @@
-.carousel {
- &.carousel-slider {
- top: 0;
- left: 0;
-
- .carousel-fixed-item {
- &.with-indicators {
- bottom: 68px;
- }
-
- position: absolute;
- left: 0;
- right: 0;
- bottom: 20px;
- z-index: 1;
- }
-
- .carousel-item {
- width: 100%;
- height: 100%;
- min-height: $carousel-height;
- position: absolute;
- top: 0;
- left: 0;
-
- h2 {
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
- }
-
- p {
- font-size: 15px;
- }
- }
- }
-
- overflow: hidden;
- position: relative;
- width: 100%;
- height: $carousel-height;
- perspective: 500px;
- transform-style: preserve-3d;
- transform-origin: 0% 50%;
-
- .carousel-item {
- visibility: hidden;
- width: $carousel-item-width;
- height: $carousel-item-height;
- position: absolute;
- top: 0;
- left: 0;
-
- & > img {
- width: 100%;
- }
- }
-
- .indicators {
- position: absolute;
- text-align: center;
- left: 0;
- right: 0;
- bottom: 0;
- margin: 0;
-
- .indicator-item {
- &.active {
- background-color: #fff;
- }
-
- display: inline-block;
- position: relative;
- cursor: pointer;
- height: 8px;
- width: 8px;
- margin: 24px 4px;
- background-color: rgba(255,255,255,.5);
-
- transition: background-color .3s;
- border-radius: 50%;
- }
- }
-
- // Materialbox compatibility
- &.scrolling .carousel-item .materialboxed,
- .carousel-item:not(.active) .materialboxed {
- pointer-events: none;
- }
-}
diff --git a/src/scss/components/_chips.scss b/src/scss/components/_chips.scss
deleted file mode 100644
index 27744a8b..00000000
--- a/src/scss/components/_chips.scss
+++ /dev/null
@@ -1,90 +0,0 @@
-.chip {
- &:focus {
- outline: none;
- background-color: $chip-selected-color;
- color: #fff;
- }
-
- display: inline-block;
- height: 32px;
- font-size: 13px;
- font-weight: 500;
- color: rgba(0,0,0,.6);
- line-height: 32px;
- padding: 0 12px;
- border-radius: 16px;
- background-color: $chip-bg-color;
- margin-bottom: $chip-margin;
- margin-right: $chip-margin;
-
- > img {
- float: left;
- margin: 0 8px 0 -12px;
- height: 32px;
- width: 32px;
- border-radius: 50%;
- }
-
- .close {
- cursor: pointer;
- float: right;
- font-size: 16px;
- line-height: 32px;
- padding-left: 8px;
- }
-}
-
-.chips {
- border: none;
- border-bottom: 1px solid $chip-border-color;
- box-shadow: none;
- margin: $input-margin;
- min-height: 45px;
- outline: none;
- transition: all .3s;
-
- &.focus {
- border-bottom: 1px solid $chip-selected-color;
- box-shadow: 0 1px 0 0 $chip-selected-color;
- }
-
- &:hover {
- cursor: text;
- }
-
- .input {
- background: none;
- border: 0;
- color: rgba(0,0,0,.6);
- display: inline-block;
- font-size: $input-font-size;
- height: $input-height;
- line-height: 32px;
- outline: 0;
- margin: 0;
- padding: 0 !important;
- width: 120px !important;
- }
-
- .input:focus {
- border: 0 !important;
- box-shadow: none !important;
- }
-
- // Autocomplete
- .autocomplete-content {
- margin-top: 0;
- margin-bottom: 0;
- }
-}
-
-// Form prefix
-.prefix ~ .chips {
- margin-left: 3rem;
- width: 92%;
- width: calc(100% - 3rem);
-}
-.chips:empty ~ label {
- font-size: 0.8rem;
- transform: translateY(-140%);
-}
diff --git a/src/scss/components/_collapsible.scss b/src/scss/components/_collapsible.scss
deleted file mode 100644
index 024324fd..00000000
--- a/src/scss/components/_collapsible.scss
+++ /dev/null
@@ -1,91 +0,0 @@
-.collapsible {
- border-top: 1px solid $collapsible-border-color;
- border-right: 1px solid $collapsible-border-color;
- border-left: 1px solid $collapsible-border-color;
- margin: $element-top-margin 0 $element-bottom-margin 0;
- @extend .z-depth-1;
-}
-
-.collapsible-header {
- &:focus {
- outline: 0
- }
-
- display: flex;
- cursor: pointer;
- -webkit-tap-highlight-color: transparent;
- line-height: 1.5;
- padding: 1rem;
- background-color: $collapsible-header-color;
- border-bottom: 1px solid $collapsible-border-color;
-
- i {
- width: 2rem;
- font-size: 1.6rem;
- display: inline-block;
- text-align: center;
- margin-right: 1rem;
- }
-}
-.keyboard-focused .collapsible-header:focus {
- background-color: #eee;
-}
-
-.collapsible-body {
- display: none;
- border-bottom: 1px solid $collapsible-border-color;
- box-sizing: border-box;
- padding: 2rem;
-}
-
-// Sidenav collapsible styling
-.sidenav,
-.sidenav.fixed {
-
- .collapsible {
- border: none;
- box-shadow: none;
-
- li { padding: 0; }
- }
-
- .collapsible-header {
- background-color: transparent;
- border: none;
- line-height: inherit;
- height: inherit;
- padding: 0 $sidenav-padding;
-
- &:hover { background-color: rgba(0,0,0,.05); }
- i { line-height: inherit; }
- }
-
- .collapsible-body {
- border: 0;
- background-color: $collapsible-header-color;
-
- li a {
- padding: 0 (7.5px + $sidenav-padding)
- 0 (15px + $sidenav-padding);
- }
- }
-
-}
-
-// Popout Collapsible
-
-.collapsible.popout {
- border: none;
- box-shadow: none;
- > li {
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
- // transform: scaleX(.92);
- margin: 0 24px;
- transition: margin .35s cubic-bezier(0.250, 0.460, 0.450, 0.940);
- }
- > li.active {
- box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
- margin: 16px 0;
- // transform: scaleX(1);
- }
-}
diff --git a/src/scss/components/_color-classes.scss b/src/scss/components/_color-classes.scss
deleted file mode 100644
index 155cecd1..00000000
--- a/src/scss/components/_color-classes.scss
+++ /dev/null
@@ -1,32 +0,0 @@
-// Color Classes
-
-@each $color_name, $color in $colors {
- @each $color_type, $color_value in $color {
- @if $color_type == "base" {
- .#{$color_name} {
- background-color: $color_value !important;
- }
- .#{$color_name}-text {
- color: $color_value !important;
- }
- }
- @else if $color_name != "shades" {
- .#{$color_name}.#{$color_type} {
- background-color: $color_value !important;
- }
- .#{$color_name}-text.text-#{$color_type} {
- color: $color_value !important;
- }
- }
- }
-}
-
-// Shade classes
-@each $color, $color_value in $shades {
- .#{$color} {
- background-color: $color_value !important;
- }
- .#{$color}-text {
- color: $color_value !important;
- }
-}
diff --git a/src/scss/components/_color-variables.scss b/src/scss/components/_color-variables.scss
deleted file mode 100644
index 062f6a56..00000000
--- a/src/scss/components/_color-variables.scss
+++ /dev/null
@@ -1,370 +0,0 @@
-// Google Color Palette defined: http://www.google.com/design/spec/style/color.html
-
-$materialize-red: (
- "base": #e51c23,
- "lighten-5": #fdeaeb,
- "lighten-4": #f8c1c3,
- "lighten-3": #f3989b,
- "lighten-2": #ee6e73,
- "lighten-1": #ea454b,
- "darken-1": #d0181e,
- "darken-2": #b9151b,
- "darken-3": #a21318,
- "darken-4": #8b1014,
-);
-
-$red: (
- "base": #F44336,
- "lighten-5": #FFEBEE,
- "lighten-4": #FFCDD2,
- "lighten-3": #EF9A9A,
- "lighten-2": #E57373,
- "lighten-1": #EF5350,
- "darken-1": #E53935,
- "darken-2": #D32F2F,
- "darken-3": #C62828,
- "darken-4": #B71C1C,
- "accent-1": #FF8A80,
- "accent-2": #FF5252,
- "accent-3": #FF1744,
- "accent-4": #D50000
-);
-
-$pink: (
- "base": #e91e63,
- "lighten-5": #fce4ec,
- "lighten-4": #f8bbd0,
- "lighten-3": #f48fb1,
- "lighten-2": #f06292,
- "lighten-1": #ec407a,
- "darken-1": #d81b60,
- "darken-2": #c2185b,
- "darken-3": #ad1457,
- "darken-4": #880e4f,
- "accent-1": #ff80ab,
- "accent-2": #ff4081,
- "accent-3": #f50057,
- "accent-4": #c51162
-);
-
-$purple: (
- "base": #9c27b0,
- "lighten-5": #f3e5f5,
- "lighten-4": #e1bee7,
- "lighten-3": #ce93d8,
- "lighten-2": #ba68c8,
- "lighten-1": #ab47bc,
- "darken-1": #8e24aa,
- "darken-2": #7b1fa2,
- "darken-3": #6a1b9a,
- "darken-4": #4a148c,
- "accent-1": #ea80fc,
- "accent-2": #e040fb,
- "accent-3": #d500f9,
- "accent-4": #aa00ff
-);
-
-$deep-purple: (
- "base": #673ab7,
- "lighten-5": #ede7f6,
- "lighten-4": #d1c4e9,
- "lighten-3": #b39ddb,
- "lighten-2": #9575cd,
- "lighten-1": #7e57c2,
- "darken-1": #5e35b1,
- "darken-2": #512da8,
- "darken-3": #4527a0,
- "darken-4": #311b92,
- "accent-1": #b388ff,
- "accent-2": #7c4dff,
- "accent-3": #651fff,
- "accent-4": #6200ea
-);
-
-$indigo: (
- "base": #3f51b5,
- "lighten-5": #e8eaf6,
- "lighten-4": #c5cae9,
- "lighten-3": #9fa8da,
- "lighten-2": #7986cb,
- "lighten-1": #5c6bc0,
- "darken-1": #3949ab,
- "darken-2": #303f9f,
- "darken-3": #283593,
- "darken-4": #1a237e,
- "accent-1": #8c9eff,
- "accent-2": #536dfe,
- "accent-3": #3d5afe,
- "accent-4": #304ffe
-);
-
-$blue: (
- "base": #2196F3,
- "lighten-5": #E3F2FD,
- "lighten-4": #BBDEFB,
- "lighten-3": #90CAF9,
- "lighten-2": #64B5F6,
- "lighten-1": #42A5F5,
- "darken-1": #1E88E5,
- "darken-2": #1976D2,
- "darken-3": #1565C0,
- "darken-4": #0D47A1,
- "accent-1": #82B1FF,
- "accent-2": #448AFF,
- "accent-3": #2979FF,
- "accent-4": #2962FF
-);
-
-$light-blue: (
- "base": #03a9f4,
- "lighten-5": #e1f5fe,
- "lighten-4": #b3e5fc,
- "lighten-3": #81d4fa,
- "lighten-2": #4fc3f7,
- "lighten-1": #29b6f6,
- "darken-1": #039be5,
- "darken-2": #0288d1,
- "darken-3": #0277bd,
- "darken-4": #01579b,
- "accent-1": #80d8ff,
- "accent-2": #40c4ff,
- "accent-3": #00b0ff,
- "accent-4": #0091ea
-);
-
-$cyan: (
- "base": #00bcd4,
- "lighten-5": #e0f7fa,
- "lighten-4": #b2ebf2,
- "lighten-3": #80deea,
- "lighten-2": #4dd0e1,
- "lighten-1": #26c6da,
- "darken-1": #00acc1,
- "darken-2": #0097a7,
- "darken-3": #00838f,
- "darken-4": #006064,
- "accent-1": #84ffff,
- "accent-2": #18ffff,
- "accent-3": #00e5ff,
- "accent-4": #00b8d4
-);
-
-$teal: (
- "base": #009688,
- "lighten-5": #e0f2f1,
- "lighten-4": #b2dfdb,
- "lighten-3": #80cbc4,
- "lighten-2": #4db6ac,
- "lighten-1": #26a69a,
- "darken-1": #00897b,
- "darken-2": #00796b,
- "darken-3": #00695c,
- "darken-4": #004d40,
- "accent-1": #a7ffeb,
- "accent-2": #64ffda,
- "accent-3": #1de9b6,
- "accent-4": #00bfa5
-);
-
-$green: (
- "base": #4CAF50,
- "lighten-5": #E8F5E9,
- "lighten-4": #C8E6C9,
- "lighten-3": #A5D6A7,
- "lighten-2": #81C784,
- "lighten-1": #66BB6A,
- "darken-1": #43A047,
- "darken-2": #388E3C,
- "darken-3": #2E7D32,
- "darken-4": #1B5E20,
- "accent-1": #B9F6CA,
- "accent-2": #69F0AE,
- "accent-3": #00E676,
- "accent-4": #00C853
-);
-
-$light-green: (
- "base": #8bc34a,
- "lighten-5": #f1f8e9,
- "lighten-4": #dcedc8,
- "lighten-3": #c5e1a5,
- "lighten-2": #aed581,
- "lighten-1": #9ccc65,
- "darken-1": #7cb342,
- "darken-2": #689f38,
- "darken-3": #558b2f,
- "darken-4": #33691e,
- "accent-1": #ccff90,
- "accent-2": #b2ff59,
- "accent-3": #76ff03,
- "accent-4": #64dd17
-);
-
-$lime: (
- "base": #cddc39,
- "lighten-5": #f9fbe7,
- "lighten-4": #f0f4c3,
- "lighten-3": #e6ee9c,
- "lighten-2": #dce775,
- "lighten-1": #d4e157,
- "darken-1": #c0ca33,
- "darken-2": #afb42b,
- "darken-3": #9e9d24,
- "darken-4": #827717,
- "accent-1": #f4ff81,
- "accent-2": #eeff41,
- "accent-3": #c6ff00,
- "accent-4": #aeea00
-);
-
-$yellow: (
- "base": #ffeb3b,
- "lighten-5": #fffde7,
- "lighten-4": #fff9c4,
- "lighten-3": #fff59d,
- "lighten-2": #fff176,
- "lighten-1": #ffee58,
- "darken-1": #fdd835,
- "darken-2": #fbc02d,
- "darken-3": #f9a825,
- "darken-4": #f57f17,
- "accent-1": #ffff8d,
- "accent-2": #ffff00,
- "accent-3": #ffea00,
- "accent-4": #ffd600
-);
-
-$amber: (
- "base": #ffc107,
- "lighten-5": #fff8e1,
- "lighten-4": #ffecb3,
- "lighten-3": #ffe082,
- "lighten-2": #ffd54f,
- "lighten-1": #ffca28,
- "darken-1": #ffb300,
- "darken-2": #ffa000,
- "darken-3": #ff8f00,
- "darken-4": #ff6f00,
- "accent-1": #ffe57f,
- "accent-2": #ffd740,
- "accent-3": #ffc400,
- "accent-4": #ffab00
-);
-
-$orange: (
- "base": #ff9800,
- "lighten-5": #fff3e0,
- "lighten-4": #ffe0b2,
- "lighten-3": #ffcc80,
- "lighten-2": #ffb74d,
- "lighten-1": #ffa726,
- "darken-1": #fb8c00,
- "darken-2": #f57c00,
- "darken-3": #ef6c00,
- "darken-4": #e65100,
- "accent-1": #ffd180,
- "accent-2": #ffab40,
- "accent-3": #ff9100,
- "accent-4": #ff6d00
-);
-
-$deep-orange: (
- "base": #ff5722,
- "lighten-5": #fbe9e7,
- "lighten-4": #ffccbc,
- "lighten-3": #ffab91,
- "lighten-2": #ff8a65,
- "lighten-1": #ff7043,
- "darken-1": #f4511e,
- "darken-2": #e64a19,
- "darken-3": #d84315,
- "darken-4": #bf360c,
- "accent-1": #ff9e80,
- "accent-2": #ff6e40,
- "accent-3": #ff3d00,
- "accent-4": #dd2c00
-);
-
-$brown: (
- "base": #795548,
- "lighten-5": #efebe9,
- "lighten-4": #d7ccc8,
- "lighten-3": #bcaaa4,
- "lighten-2": #a1887f,
- "lighten-1": #8d6e63,
- "darken-1": #6d4c41,
- "darken-2": #5d4037,
- "darken-3": #4e342e,
- "darken-4": #3e2723
-);
-
-$blue-grey: (
- "base": #607d8b,
- "lighten-5": #eceff1,
- "lighten-4": #cfd8dc,
- "lighten-3": #b0bec5,
- "lighten-2": #90a4ae,
- "lighten-1": #78909c,
- "darken-1": #546e7a,
- "darken-2": #455a64,
- "darken-3": #37474f,
- "darken-4": #263238
-);
-
-$grey: (
- "base": #9e9e9e,
- "lighten-5": #fafafa,
- "lighten-4": #f5f5f5,
- "lighten-3": #eeeeee,
- "lighten-2": #e0e0e0,
- "lighten-1": #bdbdbd,
- "darken-1": #757575,
- "darken-2": #616161,
- "darken-3": #424242,
- "darken-4": #212121
-);
-
-$shades: (
- "black": #000000,
- "white": #FFFFFF,
- "transparent": transparent
-);
-
-$colors: (
- "materialize-red": $materialize-red,
- "red": $red,
- "pink": $pink,
- "purple": $purple,
- "deep-purple": $deep-purple,
- "indigo": $indigo,
- "blue": $blue,
- "light-blue": $light-blue,
- "cyan": $cyan,
- "teal": $teal,
- "green": $green,
- "light-green": $light-green,
- "lime": $lime,
- "yellow": $yellow,
- "amber": $amber,
- "orange": $orange,
- "deep-orange": $deep-orange,
- "brown": $brown,
- "blue-grey": $blue-grey,
- "grey": $grey,
- "shades": $shades
-) !default;
-
-
-// usage: color("name_of_color", "type_of_color")
-// to avoid to repeating map-get($colors, ...)
-
-@function color($color, $type) {
- @if map-has-key($colors, $color) {
- $curr_color: map-get($colors, $color);
- @if map-has-key($curr_color, $type) {
- @return map-get($curr_color, $type);
- }
- }
- @warn "Unknown `#{$color}` - `#{$type}` in $colors.";
- @return null;
-}
diff --git a/src/scss/components/_datepicker.scss b/src/scss/components/_datepicker.scss
deleted file mode 100644
index d2c920b2..00000000
--- a/src/scss/components/_datepicker.scss
+++ /dev/null
@@ -1,191 +0,0 @@
-/* Modal */
-.datepicker-modal {
- max-width: 325px;
- min-width: 300px;
- max-height: none;
-}
-
-.datepicker-container.modal-content {
- display: flex;
- flex-direction: column;
- padding: 0;
-}
-
-.datepicker-controls {
- display: flex;
- justify-content: space-between;
- width: 280px;
- margin: 0 auto;
-
- .selects-container {
- display: flex;
- }
-
- .select-wrapper {
- input {
- &:focus {
- border-bottom: none;
- }
- border-bottom: none;
- text-align: center;
- margin: 0;
- }
-
- .caret {
- display: none;
- }
- }
-
- .select-year input {
- width: 50px;
- }
-
- .select-month input {
- width: 70px;
- }
-}
-
-.month-prev, .month-next {
- margin-top: 4px;
- cursor: pointer;
- background-color: transparent;
- border: none;
-}
-
-
-/* Date Display */
-.datepicker-date-display {
- flex: 1 auto;
- background-color: $secondary-color;
- color: #fff;
- padding: 20px 22px;
- font-weight: 500;
-
- .year-text {
- display: block;
- font-size: 1.5rem;
- line-height: 25px;
- color: $datepicker-year;
- }
-
- .date-text {
- display: block;
- font-size: 2.8rem;
- line-height: 47px;
- font-weight: 500;
- }
-}
-
-
-/* Calendar */
-.datepicker-calendar-container {
- flex: 2.5 auto;
-}
-
-.datepicker-table {
- width: 280px;
- font-size: 1rem;
- margin: 0 auto;
-
- thead {
- border-bottom: none;
- }
-
- th {
- padding: 10px 5px;
- text-align: center;
- }
-
- tr {
- border: none;
- }
-
- abbr {
- text-decoration: none;
- color: $datepicker-calendar-header-color;
- }
-
- td {
- &.is-today {
- color: $secondary-color;
- }
-
- &.is-selected {
- background-color: $secondary-color;
- color: #fff;
- }
-
- &.is-outside-current-month,
- &.is-disabled {
- color: $datepicker-disabled-day-color;
- pointer-events: none;
- }
-
- border-radius: 50%;
- padding: 0;
- }
-}
-
-.datepicker-day-button {
- &:focus {
- background-color: $datepicker-day-focus;
- }
-
- background-color: transparent;
- border: none;
- line-height: 38px;
- display: block;
- width: 100%;
- border-radius: 50%;
- padding: 0 5px;
- cursor: pointer;
- color: inherit;
-}
-
-
-/* Footer */
-.datepicker-footer {
- width: 280px;
- margin: 0 auto;
- padding-bottom: 5px;
- display: flex;
- justify-content: space-between;
-}
-
-.datepicker-cancel,
-.datepicker-clear,
-.datepicker-today,
-.datepicker-done {
- color: $secondary-color;
- padding: 0 1rem;
-}
-
-.datepicker-clear {
- color: $error-color;
-}
-
-
-/* Media Queries */
-@media #{$medium-and-up} {
- .datepicker-modal {
- max-width: 625px;
- }
-
- .datepicker-container.modal-content {
- flex-direction: row;
- }
-
- .datepicker-date-display {
- flex: 0 1 270px;
- }
-
- .datepicker-controls,
- .datepicker-table,
- .datepicker-footer {
- width: 320px;
- }
-
- .datepicker-day-button {
- line-height: 44px;
- }
-}
diff --git a/src/scss/components/_dropdown.scss b/src/scss/components/_dropdown.scss
deleted file mode 100644
index 0caae65d..00000000
--- a/src/scss/components/_dropdown.scss
+++ /dev/null
@@ -1,85 +0,0 @@
-.dropdown-content {
- &:focus {
- outline: 0;
- }
-
-
- @extend .z-depth-1;
- background-color: $dropdown-bg-color;
- margin: 0;
- display: none;
- min-width: 100px;
- overflow-y: auto;
- opacity: 0;
- position: absolute;
- left: 0;
- top: 0;
- z-index: 9999; // TODO: Check if this doesn't break other things
- transform-origin: 0 0;
-
-
- li {
- &:hover, &.active {
- background-color: $dropdown-hover-bg-color;
- }
-
- &:focus {
- outline: none;
- }
-
- &.divider {
- min-height: 0;
- height: 1px;
- }
-
- & > a, & > span {
- font-size: 16px;
- color: $dropdown-color;
- display: block;
- line-height: 22px;
- padding: (($dropdown-item-height - 22) / 2) 16px;
- }
-
- & > span > label {
- top: 1px;
- left: 0;
- height: 18px;
- }
-
- // Icon alignment override
- & > a > i {
- height: inherit;
- line-height: inherit;
- float: left;
- margin: 0 24px 0 0;
- width: 24px;
- }
-
-
- clear: both;
- color: $off-black;
- cursor: pointer;
- min-height: $dropdown-item-height;
- line-height: 1.5rem;
- width: 100%;
- text-align: left;
- }
-}
-
-body.keyboard-focused {
- .dropdown-content li:focus {
- background-color: darken($dropdown-hover-bg-color, 8%);
- }
-}
-
-// Input field specificity bugfix
-.input-field.col .dropdown-content [type="checkbox"] + label {
- top: 1px;
- left: 0;
- height: 18px;
- transform: none;
-}
-
-.dropdown-trigger {
- cursor: pointer;
-}
\ No newline at end of file
diff --git a/src/scss/components/_global.scss b/src/scss/components/_global.scss
index 39f33db0..965253d2 100644
--- a/src/scss/components/_global.scss
+++ b/src/scss/components/_global.scss
@@ -1,35 +1,17 @@
//Default styles
html {
- box-sizing: border-box;
+ box-sizing: border-box;
}
*, *:before, *:after {
- box-sizing: inherit;
-}
-
-body {
- // display: flex;
- // min-height: 100vh;
- // flex-direction: column;
-}
-
-main {
- // flex: 1 0 auto;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: $font-stack;
+ box-sizing: inherit;
}
ul {
&:not(.browser-default) {
padding-left: 0;
list-style-type: none;
-
+
& > li {
list-style-type: none;
}
@@ -37,9 +19,8 @@ ul {
}
a {
- color: $link-color;
- text-decoration: none;
-
+ text-decoration: none;
+
// Gets rid of tap active state
-webkit-tap-highlight-color: transparent;
}
@@ -66,8 +47,8 @@ a {
/* 2dp elevation modified*/
.z-depth-1 {
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),
- 0 3px 1px -2px rgba(0,0,0,0.12),
- 0 1px 5px 0 rgba(0,0,0,0.2);
+ 0 3px 1px -2px rgba(0,0,0,0.12),
+ 0 1px 5px 0 rgba(0,0,0,0.2);
}
.z-depth-1-half {
box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
@@ -76,61 +57,44 @@ a {
/* 6dp elevation modified*/
.z-depth-2 {
box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),
- 0 1px 10px 0 rgba(0,0,0,0.12),
- 0 2px 4px -1px rgba(0,0,0,0.3);
+ 0 1px 10px 0 rgba(0,0,0,0.12),
+ 0 2px 4px -1px rgba(0,0,0,0.3);
}
/* 12dp elevation modified*/
.z-depth-3 {
box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14),
- 0 3px 14px 2px rgba(0,0,0,0.12),
- 0 5px 5px -3px rgba(0, 0, 0, 0.2);
+ 0 3px 14px 2px rgba(0,0,0,0.12),
+ 0 5px 5px -3px rgba(0, 0, 0, 0.2);
}
/* 16dp elevation */
.z-depth-4 {
box-shadow: 0 16px 24px 2px rgba(0,0,0,0.14),
- 0 6px 30px 5px rgba(0,0,0,0.12),
- 0 8px 10px -7px rgba(0,0,0,0.2);
+ 0 6px 30px 5px rgba(0,0,0,0.12),
+ 0 8px 10px -7px rgba(0,0,0,0.2);
}
/* 24dp elevation */
.z-depth-5 {
box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14),
- 0 9px 46px 8px rgba(0,0,0,0.12),
- 0 11px 15px -7px rgba(0,0,0,0.2);
+ 0 9px 46px 8px rgba(0,0,0,0.12),
+ 0 11px 15px -7px rgba(0,0,0,0.2);
}
.hoverable {
transition: box-shadow .25s;
-
+
&:hover {
box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
}
-// Dividers
-
-.divider {
- height: 1px;
- overflow: hidden;
- background-color: color("grey", "lighten-2");
-}
-
-
-// Blockquote
-
-blockquote {
- margin: 20px 0;
- padding-left: 1.5rem;
- border-left: 5px solid $primary-color;
-}
-
// Icon Styles
i {
line-height: inherit;
-
+
&.left {
float: left;
margin-right: 15px;
@@ -153,142 +117,8 @@ i {
}
}
-// Images
-img.responsive-img,
-video.responsive-video {
- max-width: 100%;
- height: auto;
-}
-
-
-// Pagination
-
-.pagination {
-
- li {
- display: inline-block;
- border-radius: 2px;
- text-align: center;
- vertical-align: top;
- height: 30px;
-
- a {
- color: #444;
- display: inline-block;
- font-size: 1.2rem;
- padding: 0 10px;
- line-height: 30px;
- }
-
- &.active a { color: #fff; }
-
- &.active { background-color: $primary-color; }
-
- &.disabled a {
- cursor: default;
- color: #999;
- }
-
- i {
- font-size: 2rem;
- }
- }
-
-
- li.pages ul li {
- display: inline-block;
- float: none;
- }
-}
-@media #{$medium-and-down} {
- .pagination {
- width: 100%;
-
- li.prev,
- li.next {
- width: 10%;
- }
-
- li.pages {
- width: 80%;
- overflow: hidden;
- white-space: nowrap;
- }
- }
-}
-
-// Breadcrumbs
-.breadcrumb {
- font-size: 18px;
- color: rgba(255,255,255, .7);
-
- i,
- [class^="mdi-"], [class*="mdi-"],
- i.material-icons {
- display: inline-block;
- float: left;
- font-size: 24px;
- }
-
- &:before {
- content: '\E5CC';
- color: rgba(255,255,255, .7);
- vertical-align: top;
- display: inline-block;
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 25px;
- margin: 0 10px 0 8px;
- -webkit-font-smoothing: antialiased;
- }
-
- &:first-child:before {
- display: none;
- }
-
- &:last-child {
- color: #fff;
- }
-}
-
-// Parallax
-.parallax-container {
- position: relative;
- overflow: hidden;
- height: 500px;
-
- .parallax {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: -1;
-
- img {
- opacity: 0;
- position: absolute;
- left: 50%;
- bottom: 0;
- min-width: 100%;
- min-height: 100%;
- transform: translate3d(0,0,0);
- transform: translateX(-50%);
- }
- }
-}
-
-// Pushpin
-.pin-top, .pin-bottom {
- position: relative;
-}
-.pinned {
- position: fixed !important;
-}
-
/*********************
- Transition Classes
+Transition Classes
**********************/
ul.staggered-list li {
@@ -300,424 +130,8 @@ ul.staggered-list li {
transform-origin: 0 50%;
}
-
-/*********************
- Media Query Classes
-**********************/
-.hide-on-small-only, .hide-on-small-and-down {
- @media #{$small-and-down} {
- display: none !important;
- }
-}
-.hide-on-med-and-down {
- @media #{$medium-and-down} {
- display: none !important;
- }
-}
-.hide-on-med-and-up {
- @media #{$medium-and-up} {
- display: none !important;
- }
-}
-.hide-on-med-only {
- @media only screen and (min-width: $small-screen) and (max-width: $medium-screen) {
- display: none !important;
- }
-}
-.hide-on-large-only {
- @media #{$large-and-up} {
- display: none !important;
- }
-}
-.hide-on-extra-large-only {
- @media #{$extra-large-and-up} {
- display: none !important;
- }
-}
-.show-on-extra-large {
- @media #{$extra-large-and-up} {
- display: block !important;
- }
-}
-.show-on-large {
- @media #{$large-and-up} {
- display: block !important;
- }
-}
-.show-on-medium {
- @media only screen and (min-width: $small-screen) and (max-width: $medium-screen) {
- display: block !important;
- }
-}
-.show-on-small {
- @media #{$small-and-down} {
- display: block !important;
- }
-}
-.show-on-medium-and-up {
- @media #{$medium-and-up} {
- display: block !important;
- }
-}
-.show-on-medium-and-down {
- @media #{$medium-and-down} {
- display: block !important;
- }
-}
-
-
-// Center text on mobile
-.center-on-small-only {
- @media #{$small-and-down} {
- text-align: center;
- }
-}
-
-// Footer
-.page-footer {
- padding-top: 20px;
- color: $footer-font-color;
- background-color: $footer-bg-color;
-
- .footer-copyright {
- overflow: hidden;
- min-height: 50px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 10px 0px;
- color: $footer-copyright-font-color;
- background-color: $footer-copyright-bg-color;
- }
-}
-
-// Tables
-table, th, td {
- border: none;
-}
-
-table {
- width:100%;
- display: table;
- border-collapse: collapse;
- border-spacing: 0;
-
- &.striped {
- tr {
- border-bottom: none;
- }
-
- > tbody {
- > tr:nth-child(odd) {
- background-color: $table-striped-color;
- }
-
- > tr > td {
- border-radius: 0;
- }
- }
- }
-
- &.highlight > tbody > tr {
- transition: background-color .25s ease;
- &:hover {
- background-color: $table-striped-color;
- }
- }
-
- &.centered {
- thead tr th, tbody tr td {
- text-align: center;
- }
- }
-}
-
-tr {
- border-bottom: 1px solid $table-border-color;
-}
-
-td, th{
- padding: 15px 5px;
- display: table-cell;
- text-align: left;
- vertical-align: middle;
- border-radius: 2px;
-}
-
-// Responsive Table
-@media #{$medium-and-down} {
-
- table.responsive-table {
- width: 100%;
- border-collapse: collapse;
- border-spacing: 0;
- display: block;
- position: relative;
-
- td:empty:before {
- content: '\00a0';
- }
-
- th,
- td {
- margin: 0;
- vertical-align: top;
- }
-
- th { text-align: left; }
- thead {
- display: block;
- float: left;
-
- tr {
- display: block;
- padding: 0 10px 0 0;
-
- th::before {
- content: "\00a0";
- }
- }
- }
- tbody {
- display: block;
- width: auto;
- position: relative;
- overflow-x: auto;
- white-space: nowrap;
-
- tr {
- display: inline-block;
- vertical-align: top;
- }
- }
- th {
- display: block;
- text-align: right;
- }
- td {
- display: block;
- min-height: 1.25em;
- text-align: left;
- }
- tr {
- border-bottom: none;
- padding: 0 10px;
- }
-
- /* sort out borders */
- thead {
- border: 0;
- border-right: 1px solid $table-border-color;
- }
- }
-
-}
-
-
-// Collections
-.collection {
- margin: $element-top-margin 0 $element-bottom-margin 0;
- border: 1px solid $collection-border-color;
- border-radius: 2px;
- overflow: hidden;
- position: relative;
-
- .collection-item {
- background-color: $collection-bg-color;
- line-height: $collection-line-height;
- padding: 10px 20px;
- margin: 0;
- border-bottom: 1px solid $collection-border-color;
-
- // Avatar Collection
- &.avatar {
- min-height: 84px;
- padding-left: 72px;
- position: relative;
-
- // Don't style circles inside preloader classes.
- &:not(.circle-clipper) > .circle,
- :not(.circle-clipper) > .circle {
- position: absolute;
- width: 42px;
- height: 42px;
- overflow: hidden;
- left: 15px;
- display: inline-block;
- vertical-align: middle;
- }
- i.circle {
- font-size: 18px;
- line-height: 42px;
- color: #fff;
- background-color: #999;
- text-align: center;
- }
-
-
- .title {
- font-size: 16px;
- }
-
- p {
- margin: 0;
- }
-
- .secondary-content {
- position: absolute;
- top: 16px;
- right: 16px;
- }
-
- }
-
-
- &:last-child {
- border-bottom: none;
- }
-
- &.active {
- background-color: $collection-active-bg-color;
- color: $collection-active-color;
-
- .secondary-content {
- color: #fff;
- }
- }
- }
- a.collection-item{
- display: block;
- transition: .25s;
- color: $collection-link-color;
- &:not(.active) {
- &:hover {
- background-color: $collection-hover-bg-color;
- }
- }
- }
-
- &.with-header {
- .collection-header {
- background-color: $collection-bg-color;
- border-bottom: 1px solid $collection-border-color;
- padding: 10px 20px;
- }
- .collection-item {
- padding-left: 30px;
- }
- .collection-item.avatar {
- padding-left: 72px;
- }
- }
-
-}
-// Made less specific to allow easier overriding
-.secondary-content {
- float: right;
- color: $secondary-color;
-}
-.collapsible .collection {
- margin: 0;
- border: none;
-}
-
-
-
-// Responsive Videos
-.video-container {
- position: relative;
- padding-bottom: 56.25%;
- height: 0;
- overflow: hidden;
-
- iframe, object, embed {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- }
-}
-
-// Progress Bar
-.progress {
- position: relative;
- height: 4px;
- display: block;
- width: 100%;
- background-color: lighten($progress-bar-color, 40%);
- border-radius: 2px;
- margin: $element-top-margin 0 $element-bottom-margin 0;
- overflow: hidden;
- .determinate {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- background-color: $progress-bar-color;
- transition: width .3s linear;
- }
- .indeterminate {
- background-color: $progress-bar-color;
- &:before {
- content: '';
- position: absolute;
- background-color: inherit;
- top: 0;
- left:0;
- bottom: 0;
- will-change: left, right;
- // Custom bezier
- animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite;
-
- }
- &:after {
- content: '';
- position: absolute;
- background-color: inherit;
- top: 0;
- left:0;
- bottom: 0;
- will-change: left, right;
- // Custom bezier
- animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite;
- animation-delay: 1.15s;
- }
- }
-}
-@keyframes indeterminate {
- 0% {
- left: -35%;
- right:100%;
- }
- 60% {
- left: 100%;
- right: -90%;
- }
- 100% {
- left: 100%;
- right: -90%;
- }
-}
-
-@keyframes indeterminate-short {
- 0% {
- left: -200%;
- right: 100%;
- }
- 60% {
- left: 107%;
- right: -8%;
- }
- 100% {
- left: 107%;
- right: -8%;
- }
-}
-
-
/*******************
- Utility Classes
+Utility Classes
*******************/
.hide {
@@ -750,20 +164,3 @@ td, th{
.circle {
border-radius: 50%;
}
-
-.center-block {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.truncate {
- display: block;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.no-padding {
- padding: 0 !important;
-}
diff --git a/src/scss/components/_grid.scss b/src/scss/components/_grid.scss
deleted file mode 100644
index 8892f050..00000000
--- a/src/scss/components/_grid.scss
+++ /dev/null
@@ -1,156 +0,0 @@
-.container {
- margin: 0 auto;
- max-width: 1280px;
- width: 90%;
-}
-@media #{$medium-and-up} {
- .container {
- width: 85%;
- }
-}
-@media #{$large-and-up} {
- .container {
- width: 70%;
- }
-}
-.col .row {
- margin-left: (-1 * $gutter-width / 2);
- margin-right: (-1 * $gutter-width / 2);
-}
-
-.section {
- padding-top: 1rem;
- padding-bottom: 1rem;
-
- &.no-pad {
- padding: 0;
- }
- &.no-pad-bot {
- padding-bottom: 0;
- }
- &.no-pad-top {
- padding-top: 0;
- }
-}
-
-
-// Mixins to eliminate code repitition
-@mixin reset-offset {
- margin-left: auto;
- left: auto;
- right: auto;
-}
-@mixin grid-classes($size, $i, $perc) {
- &.offset-#{$size}#{$i} {
- margin-left: $perc;
- }
- &.pull-#{$size}#{$i} {
- right: $perc;
- }
- &.push-#{$size}#{$i} {
- left: $perc;
- }
-}
-
-
-.row {
- margin-left: auto;
- margin-right: auto;
- margin-bottom: 20px;
-
- // Clear floating children
- &:after {
- content: "";
- display: table;
- clear: both;
- }
-
- .col {
- float: left;
- box-sizing: border-box;
- padding: 0 $gutter-width / 2;
- min-height: 1px;
-
- &[class*="push-"],
- &[class*="pull-"] {
- position: relative;
- }
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- &.s#{$i} {
- width: $perc;
- @include reset-offset;
- }
- $i: $i + 1;
- }
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- @include grid-classes("s", $i, $perc);
- $i: $i + 1;
- }
-
- @media #{$medium-and-up} {
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- &.m#{$i} {
- width: $perc;
- @include reset-offset;
- }
- $i: $i + 1
- }
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- @include grid-classes("m", $i, $perc);
- $i: $i + 1;
- }
- }
-
- @media #{$large-and-up} {
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- &.l#{$i} {
- width: $perc;
- @include reset-offset;
- }
- $i: $i + 1;
- }
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- @include grid-classes("l", $i, $perc);
- $i: $i + 1;
- }
- }
-
- @media #{$extra-large-and-up} {
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- &.xl#{$i} {
- width: $perc;
- @include reset-offset;
- }
- $i: $i + 1;
- }
-
- $i: 1;
- @while $i <= $num-cols {
- $perc: unquote((100 / ($num-cols / $i)) + "%");
- @include grid-classes("xl", $i, $perc);
- $i: $i + 1;
- }
- }
- }
-}
diff --git a/src/scss/components/_icons-material-design.scss b/src/scss/components/_icons-material-design.scss
deleted file mode 100644
index 2aa6a4ae..00000000
--- a/src/scss/components/_icons-material-design.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-/* This is needed for some mobile phones to display the Google Icon font properly */
-.material-icons {
- text-rendering: optimizeLegibility;
- font-feature-settings: 'liga';
-}
diff --git a/src/scss/components/_materialbox.scss b/src/scss/components/_materialbox.scss
deleted file mode 100644
index 30276672..00000000
--- a/src/scss/components/_materialbox.scss
+++ /dev/null
@@ -1,43 +0,0 @@
-.materialboxed {
- &:hover {
- &:not(.active) {
- opacity: .8;
- }
- }
-
- display: block;
- cursor: zoom-in;
- position: relative;
- transition: opacity .4s;
- -webkit-backface-visibility: hidden;
-
- &.active {
- cursor: zoom-out;
- }
-}
-
-#materialbox-overlay {
- position:fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background-color: #292929;
- z-index: 1000;
- will-change: opacity;
-}
-
-.materialbox-caption {
- position: fixed;
- display: none;
- color: #fff;
- line-height: 50px;
- bottom: 0;
- left: 0;
- width: 100%;
- text-align: center;
- padding: 0% 15%;
- height: 50px;
- z-index: 1000;
- -webkit-font-smoothing: antialiased;
-}
\ No newline at end of file
diff --git a/src/scss/components/_modal.scss b/src/scss/components/_modal.scss
deleted file mode 100644
index 38cf3ce8..00000000
--- a/src/scss/components/_modal.scss
+++ /dev/null
@@ -1,94 +0,0 @@
-.modal {
- &:focus {
- outline: none;
- }
-
- @extend .z-depth-5;
-
- display: none;
- position: fixed;
- left: 0;
- right: 0;
- background-color: #fafafa;
- padding: 0;
- max-height: 70%;
- width: 55%;
- margin: auto;
- overflow-y: auto;
-
- border-radius: 2px;
- will-change: top, opacity;
-
- @media #{$medium-and-down} {
- width: 80%;
- }
-
- h1,h2,h3,h4 {
- margin-top: 0;
- }
-
- .modal-content {
- padding: 24px;
- }
- .modal-close {
- cursor: pointer;
- }
-
- .modal-footer {
- border-radius: 0 0 2px 2px;
- background-color: #fafafa;
- padding: 4px 6px;
- height: 56px;
- width: 100%;
- text-align: right;
-
- .btn, .btn-flat {
- margin: 6px 0;
- }
- }
-}
-.modal-overlay {
- position: fixed;
- z-index: 999;
- top: -25%;
- left: 0;
- bottom: 0;
- right: 0;
- height: 125%;
- width: 100%;
- background: #000;
- display: none;
-
- will-change: opacity;
-}
-
-// Modal with fixed action footer
-.modal.modal-fixed-footer {
- padding: 0;
- height: 70%;
-
- .modal-content {
- position: absolute;
- height: calc(100% - 56px);
- max-height: 100%;
- width: 100%;
- overflow-y: auto;
- }
-
- .modal-footer {
- border-top: 1px solid rgba(0,0,0,.1);
- position: absolute;
- bottom: 0;
- }
-}
-
-// Modal Bottom Sheet Style
-.modal.bottom-sheet {
- top: auto;
- bottom: -100%;
- margin: 0;
- width: 100%;
- max-height: 45%;
- border-radius: 0;
- will-change: bottom, opacity;
-}
diff --git a/src/scss/components/_navbar.scss b/src/scss/components/_navbar.scss
deleted file mode 100644
index 0317bb26..00000000
--- a/src/scss/components/_navbar.scss
+++ /dev/null
@@ -1,208 +0,0 @@
-nav {
- &.nav-extended {
- height: auto;
-
- .nav-wrapper {
- min-height: $navbar-height-mobile;
- height: auto;
- }
-
- .nav-content {
- position: relative;
- line-height: normal;
- }
- }
-
- color: $navbar-font-color;
- @extend .z-depth-1;
- background-color: $primary-color;
- width: 100%;
- height: $navbar-height-mobile;
- line-height: $navbar-line-height-mobile;
-
- a { color: $navbar-font-color; }
-
- i,
- [class^="mdi-"], [class*="mdi-"],
- i.material-icons {
- display: block;
- font-size: 24px;
- height: $navbar-height-mobile;
- line-height: $navbar-line-height-mobile;
- }
-
- .nav-wrapper {
- position: relative;
- height: 100%;
- }
-
- @media #{$large-and-up} {
- a.sidenav-trigger { display: none; }
- }
-
-
- // Collapse button
- .sidenav-trigger {
- float: left;
- position: relative;
- z-index: 1;
- height: $navbar-height-mobile;
- margin: 0 18px;
-
- i {
- height: $navbar-height-mobile;
- line-height: $navbar-line-height-mobile;
- }
- }
-
-
- // Logo
- .brand-logo {
- position: absolute;
- color: $navbar-font-color;
- display: inline-block;
- font-size: $navbar-brand-font-size;
- padding: 0;
-
- &.center {
- left: 50%;
- transform: translateX(-50%);
- }
-
- @media #{$medium-and-down} {
- left: 50%;
- transform: translateX(-50%);
-
- &.left, &.right {
- padding: 0;
- transform: none;
- }
-
- &.left { left: 0.5rem; }
- &.right {
- right: 0.5rem;
- left: auto;
- }
- }
-
- &.right {
- right: 0.5rem;
- padding: 0;
- }
-
- i,
- [class^="mdi-"], [class*="mdi-"],
- i.material-icons {
- float: left;
- margin-right: 15px;
- }
- }
-
-
- // Title
- .nav-title {
- display: inline-block;
- font-size: 32px;
- padding: 28px 0;
- }
-
-
- // Navbar Links
- ul {
- margin: 0;
-
- li {
- transition: background-color .3s;
- float: left;
- padding: 0;
-
- &.active {
- background-color: rgba(0,0,0,.1);
- }
- }
- a {
- transition: background-color .3s;
- font-size: $navbar-font-size;
- color: $navbar-font-color;
- display: block;
- padding: 0 15px;
- cursor: pointer;
-
- &.btn, &.btn-large, &.btn-flat, &.btn-floating {
- margin-top: -2px;
- margin-left: 15px;
- margin-right: 15px;
-
- & > .material-icons {
- height: inherit;
- line-height: inherit;
- }
- }
-
- &:hover {
- background-color: rgba(0,0,0,.1);
- }
- }
-
- &.left {
- float: left;
- }
- }
-
- // Navbar Search Form
- form {
- height: 100%;
- }
-
- .input-field {
- margin: 0;
- height: 100%;
-
- input {
- height: 100%;
- font-size: 1.2rem;
- border: none;
- padding-left: 2rem;
-
- &:focus, &[type=text]:valid, &[type=password]:valid,
- &[type=email]:valid, &[type=url]:valid, &[type=date]:valid {
- border: none;
- box-shadow: none;
- }
- }
-
- label {
- top: 0;
- left: 0;
-
- i {
- color: rgba(255,255,255,.7);
- transition: color .3s;
- }
- &.active i { color: $navbar-font-color; }
- }
- }
-}
-
-// Fixed Navbar
-.navbar-fixed {
- position: relative;
- height: $navbar-height-mobile;
- z-index: 997;
-
- nav {
- position: fixed;
- }
-}
-@media #{$medium-and-up} {
- nav.nav-extended .nav-wrapper {
- min-height: $navbar-height;
- }
- nav, nav .nav-wrapper i, nav a.sidenav-trigger, nav a.sidenav-trigger i {
- height: $navbar-height;
- line-height: $navbar-line-height;
- }
- .navbar-fixed {
- height: $navbar-height;
- }
-}
diff --git a/src/scss/components/_normalize.scss b/src/scss/components/_normalize.scss
index fa4e73dd..58f42d74 100644
--- a/src/scss/components/_normalize.scss
+++ b/src/scss/components/_normalize.scss
@@ -9,7 +9,7 @@
* IE on Windows Phone and in iOS.
*/
-html {
+ html {
line-height: 1.15; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
diff --git a/src/scss/components/_preloader.scss b/src/scss/components/_preloader.scss
deleted file mode 100644
index cfe29939..00000000
--- a/src/scss/components/_preloader.scss
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- @license
- Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
- This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
- The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
- The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
- Code distributed by Google as part of the polymer project is also
- subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
- */
-
-/**************************/
-/* STYLES FOR THE SPINNER */
-/**************************/
-
-/*
- * Constants:
- * STROKEWIDTH = 3px
- * ARCSIZE = 270 degrees (amount of circle the arc takes up)
- * ARCTIME = 1333ms (time it takes to expand and contract arc)
- * ARCSTARTROT = 216 degrees (how much the start location of the arc
- * should rotate each time, 216 gives us a
- * 5 pointed star shape (it's 360/5 * 3).
- * For a 7 pointed star, we might do
- * 360/7 * 3 = 154.286)
- * CONTAINERWIDTH = 28px
- * SHRINK_TIME = 400ms
- */
-
-
-.preloader-wrapper {
- display: inline-block;
- position: relative;
- width: 50px;
- height: 50px;
-
- &.small {
- width: 36px;
- height: 36px;
- }
-
- &.big {
- width: 64px;
- height: 64px;
- }
-
- &.active {
- /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
- -webkit-animation: container-rotate 1568ms linear infinite;
- animation: container-rotate 1568ms linear infinite;
- }
-}
-
-@-webkit-keyframes container-rotate {
- to { -webkit-transform: rotate(360deg) }
-}
-
-@keyframes container-rotate {
- to { transform: rotate(360deg) }
-}
-
-.spinner-layer {
- position: absolute;
- width: 100%;
- height: 100%;
- opacity: 0;
- border-color: $spinner-default-color;
-}
-
-.spinner-blue,
-.spinner-blue-only {
- border-color: #4285f4;
-}
-
-.spinner-red,
-.spinner-red-only {
- border-color: #db4437;
-}
-
-.spinner-yellow,
-.spinner-yellow-only {
- border-color: #f4b400;
-}
-
-.spinner-green,
-.spinner-green-only {
- border-color: #0f9d58;
-}
-
-/**
- * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
- *
- * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
- * guarantee that the animation will start _exactly_ after that value. So we avoid using
- * animation-delay and instead set custom keyframes for each color (as redundant as it
- * seems).
- *
- * We write out each animation in full (instead of separating animation-name,
- * animation-duration, etc.) because under the polyfill, Safari does not recognize those
- * specific properties properly, treats them as -webkit-animation, and overrides the
- * other animation rules. See https://github.com/Polymer/platform/issues/53.
- */
-.active .spinner-layer.spinner-blue {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer.spinner-red {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer.spinner-yellow {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer.spinner-green {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer,
-.active .spinner-layer.spinner-blue-only,
-.active .spinner-layer.spinner-red-only,
-.active .spinner-layer.spinner-yellow-only,
-.active .spinner-layer.spinner-green-only {
- /* durations: 4 * ARCTIME */
- opacity: 1;
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-@-webkit-keyframes fill-unfill-rotate {
- 12.5% { -webkit-transform: rotate(135deg); } /* 0.5 * ARCSIZE */
- 25% { -webkit-transform: rotate(270deg); } /* 1 * ARCSIZE */
- 37.5% { -webkit-transform: rotate(405deg); } /* 1.5 * ARCSIZE */
- 50% { -webkit-transform: rotate(540deg); } /* 2 * ARCSIZE */
- 62.5% { -webkit-transform: rotate(675deg); } /* 2.5 * ARCSIZE */
- 75% { -webkit-transform: rotate(810deg); } /* 3 * ARCSIZE */
- 87.5% { -webkit-transform: rotate(945deg); } /* 3.5 * ARCSIZE */
- to { -webkit-transform: rotate(1080deg); } /* 4 * ARCSIZE */
-}
-
-@keyframes fill-unfill-rotate {
- 12.5% { transform: rotate(135deg); } /* 0.5 * ARCSIZE */
- 25% { transform: rotate(270deg); } /* 1 * ARCSIZE */
- 37.5% { transform: rotate(405deg); } /* 1.5 * ARCSIZE */
- 50% { transform: rotate(540deg); } /* 2 * ARCSIZE */
- 62.5% { transform: rotate(675deg); } /* 2.5 * ARCSIZE */
- 75% { transform: rotate(810deg); } /* 3 * ARCSIZE */
- 87.5% { transform: rotate(945deg); } /* 3.5 * ARCSIZE */
- to { transform: rotate(1080deg); } /* 4 * ARCSIZE */
-}
-
-@-webkit-keyframes blue-fade-in-out {
- from { opacity: 1; }
- 25% { opacity: 1; }
- 26% { opacity: 0; }
- 89% { opacity: 0; }
- 90% { opacity: 1; }
- 100% { opacity: 1; }
-}
-
-@keyframes blue-fade-in-out {
- from { opacity: 1; }
- 25% { opacity: 1; }
- 26% { opacity: 0; }
- 89% { opacity: 0; }
- 90% { opacity: 1; }
- 100% { opacity: 1; }
-}
-
-@-webkit-keyframes red-fade-in-out {
- from { opacity: 0; }
- 15% { opacity: 0; }
- 25% { opacity: 1; }
- 50% { opacity: 1; }
- 51% { opacity: 0; }
-}
-
-@keyframes red-fade-in-out {
- from { opacity: 0; }
- 15% { opacity: 0; }
- 25% { opacity: 1; }
- 50% { opacity: 1; }
- 51% { opacity: 0; }
-}
-
-@-webkit-keyframes yellow-fade-in-out {
- from { opacity: 0; }
- 40% { opacity: 0; }
- 50% { opacity: 1; }
- 75% { opacity: 1; }
- 76% { opacity: 0; }
-}
-
-@keyframes yellow-fade-in-out {
- from { opacity: 0; }
- 40% { opacity: 0; }
- 50% { opacity: 1; }
- 75% { opacity: 1; }
- 76% { opacity: 0; }
-}
-
-@-webkit-keyframes green-fade-in-out {
- from { opacity: 0; }
- 65% { opacity: 0; }
- 75% { opacity: 1; }
- 90% { opacity: 1; }
- 100% { opacity: 0; }
-}
-
-@keyframes green-fade-in-out {
- from { opacity: 0; }
- 65% { opacity: 0; }
- 75% { opacity: 1; }
- 90% { opacity: 1; }
- 100% { opacity: 0; }
-}
-
-/**
- * Patch the gap that appear between the two adjacent div.circle-clipper while the
- * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
- */
-.gap-patch {
- position: absolute;
- top: 0;
- left: 45%;
- width: 10%;
- height: 100%;
- overflow: hidden;
- border-color: inherit;
-}
-
-.gap-patch .circle {
- width: 1000%;
- left: -450%;
-}
-
-.circle-clipper {
- display: inline-block;
- position: relative;
- width: 50%;
- height: 100%;
- overflow: hidden;
- border-color: inherit;
-
- .circle {
- width: 200%;
- height: 100%;
- border-width: 3px; /* STROKEWIDTH */
- border-style: solid;
- border-color: inherit;
- border-bottom-color: transparent !important;
- border-radius: 50%;
- -webkit-animation: none;
- animation: none;
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- }
-
- &.left .circle {
- left: 0;
- border-right-color: transparent !important;
- -webkit-transform: rotate(129deg);
- transform: rotate(129deg);
- }
- &.right .circle {
- left: -100%;
- border-left-color: transparent !important;
- -webkit-transform: rotate(-129deg);
- transform: rotate(-129deg);
- }
-}
-
-
-
-.active .circle-clipper.left .circle {
- /* duration: ARCTIME */
- -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-.active .circle-clipper.right .circle {
- /* duration: ARCTIME */
- -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
- animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
-}
-
-@-webkit-keyframes left-spin {
- from { -webkit-transform: rotate(130deg); }
- 50% { -webkit-transform: rotate(-5deg); }
- to { -webkit-transform: rotate(130deg); }
-}
-
-@keyframes left-spin {
- from { transform: rotate(130deg); }
- 50% { transform: rotate(-5deg); }
- to { transform: rotate(130deg); }
-}
-
-@-webkit-keyframes right-spin {
- from { -webkit-transform: rotate(-130deg); }
- 50% { -webkit-transform: rotate(5deg); }
- to { -webkit-transform: rotate(-130deg); }
-}
-
-@keyframes right-spin {
- from { transform: rotate(-130deg); }
- 50% { transform: rotate(5deg); }
- to { transform: rotate(-130deg); }
-}
-
-#spinnerContainer.cooldown {
- /* duration: SHRINK_TIME */
- -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
- animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
-}
-
-@-webkit-keyframes fade-out {
- from { opacity: 1; }
- to { opacity: 0; }
-}
-
-@keyframes fade-out {
- from { opacity: 1; }
- to { opacity: 0; }
-}
diff --git a/src/scss/components/_pulse.scss b/src/scss/components/_pulse.scss
deleted file mode 100644
index a690f367..00000000
--- a/src/scss/components/_pulse.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-.pulse {
- &::before {
- content: '';
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- background-color: inherit;
- border-radius: inherit;
- transition: opacity .3s, transform .3s;
- animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
- z-index: -1;
- }
-
- overflow: visible;
- position: relative;
-}
-
-@keyframes pulse-animation {
- 0% {
- opacity: 1;
- transform: scale(1);
- }
- 50% {
- opacity: 0;
- transform: scale(1.5);
- }
- 100% {
- opacity: 0;
- transform: scale(1.5);
- }
-}
diff --git a/src/scss/components/_sidenav.scss b/src/scss/components/_sidenav.scss
deleted file mode 100644
index 98a71d8a..00000000
--- a/src/scss/components/_sidenav.scss
+++ /dev/null
@@ -1,216 +0,0 @@
-.sidenav {
- position: fixed;
- width: $sidenav-width;
- left: 0;
- top: 0;
- margin: 0;
- transform: translateX(-100%);
- height: 100%;
- height: calc(100% + 60px);
- height: -moz-calc(100%); //Temporary Firefox Fix
- padding-bottom: 60px;
- background-color: $sidenav-bg-color;
- z-index: 999;
- overflow-y: auto;
- will-change: transform;
- backface-visibility: hidden;
- transform: translateX(-105%);
-
- @extend .z-depth-1;
-
- // Right Align
- &.right-aligned {
- right: 0;
- transform: translateX(105%);
- left: auto;
- transform: translateX(100%);
- }
-
- .collapsible {
- margin: 0;
- }
-
-
- li {
- float: none;
- line-height: $sidenav-line-height;
-
- &.active { background-color: rgba(0,0,0,.05); }
- }
-
- li > a {
- color: $sidenav-font-color;
- display: block;
- font-size: $sidenav-font-size;
- font-weight: 500;
- height: $sidenav-item-height;
- line-height: $sidenav-line-height;
- padding: 0 ($sidenav-padding * 2);
-
- &:hover { background-color: rgba(0,0,0,.05);}
-
- &.btn, &.btn-large, &.btn-flat, &.btn-floating {
- margin: 10px 15px;
- }
-
- &.btn,
- &.btn-large,
- &.btn-floating { color: $button-raised-color; }
- &.btn-flat { color: $button-flat-color; }
-
- &.btn:hover,
- &.btn-large:hover { background-color: lighten($button-raised-background, 5%); }
- &.btn-floating:hover { background-color: $button-raised-background; }
-
- & > i,
- & > [class^="mdi-"], li > a > [class*="mdi-"],
- & > i.material-icons {
- float: left;
- height: $sidenav-item-height;
- line-height: $sidenav-line-height;
- margin: 0 ($sidenav-padding * 2) 0 0;
- width: $sidenav-item-height / 2;
- color: rgba(0,0,0,.54);
- }
- }
-
-
- .divider {
- margin: ($sidenav-padding / 2) 0 0 0;
- }
-
- .subheader {
- &:hover {
- background-color: transparent;
- }
-
- cursor: initial;
- pointer-events: none;
- color: rgba(0,0,0,.54);
- font-size: $sidenav-font-size;
- font-weight: 500;
- line-height: $sidenav-line-height;
- }
-
- .user-view {
- position: relative;
- padding: ($sidenav-padding * 2) ($sidenav-padding * 2) 0;
- margin-bottom: $sidenav-padding / 2;
-
- & > a {
- &:hover { background-color: transparent; }
- height: auto;
- padding: 0;
- }
-
- .background {
- overflow: hidden;
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: -1;
- }
-
- .circle, .name, .email {
- display: block;
- }
-
- .circle {
- height: 64px;
- width: 64px;
- }
-
- .name,
- .email {
- font-size: $sidenav-font-size;
- line-height: $sidenav-line-height / 2;
- }
-
- .name {
- margin-top: 16px;
- font-weight: 500;
- }
-
- .email {
- padding-bottom: 16px;
- font-weight: 400;
- }
- }
-}
-
-
-// Touch interaction
-.drag-target {
- // Right Align
- &.right-aligned {
- right: 0;
- }
-
- height: 100%;
- width: 10px;
- position: fixed;
- top: 0;
- z-index: 998;
-}
-
-
-// Fixed Sidenav shown
-.sidenav.sidenav-fixed {
- // Right Align
- &.right-aligned {
- right: 0;
- left: auto;
- }
-
- left: 0;
- transform: translateX(0);
- position: fixed;
-}
-
-// Fixed Sidenav hide on smaller
-@media #{$medium-and-down} {
- .sidenav {
- &.sidenav-fixed {
- transform: translateX(-105%);
-
- &.right-aligned {
- transform: translateX(105%);
- }
- }
-
- > a {
- padding: 0 $sidenav-padding;
- }
-
- .user-view {
- padding: $sidenav-padding $sidenav-padding 0;
- }
- }
-}
-
-
-.sidenav .collapsible-body > ul:not(.collapsible) > li.active,
-.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active {
- background-color: $primary-color;
- a {
- color: $sidenav-bg-color;
- }
-}
-.sidenav .collapsible-body {
- padding: 0;
-}
-
-
-.sidenav-overlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- opacity: 0;
- height: 120vh;
- background-color: rgba(0,0,0,.5);
- z-index: 997;
- display: none;
-}
diff --git a/src/scss/components/_slider.scss b/src/scss/components/_slider.scss
deleted file mode 100644
index 5d7c27ed..00000000
--- a/src/scss/components/_slider.scss
+++ /dev/null
@@ -1,92 +0,0 @@
-.slider {
- position: relative;
- height: 400px;
- width: 100%;
-
- // Fullscreen slider
- &.fullscreen {
- height: 100%;
- width: 100%;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-
- ul.slides {
- height: 100%;
- }
-
- ul.indicators {
- z-index: 2;
- bottom: 30px;
- }
- }
-
- .slides {
- background-color: $slider-bg-color;
- margin: 0;
- height: 400px;
-
- li {
- opacity: 0;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1;
- width: 100%;
- height: inherit;
- overflow: hidden;
-
- img {
- height: 100%;
- width: 100%;
- background-size: cover;
- background-position: center;
- }
-
- .caption {
- color: #fff;
- position: absolute;
- top: 15%;
- left: 15%;
- width: 70%;
- opacity: 0;
-
- p { color: $slider-bg-color-light; }
- }
-
- &.active {
- z-index: 2;
- }
- }
- }
-
-
- .indicators {
- position: absolute;
- text-align: center;
- left: 0;
- right: 0;
- bottom: 0;
- margin: 0;
-
- .indicator-item {
- display: inline-block;
- position: relative;
- cursor: pointer;
- height: 16px;
- width: 16px;
- margin: 0 12px;
- background-color: $slider-bg-color-light;
-
- transition: background-color .3s;
- border-radius: 50%;
-
- &.active {
- background-color: $slider-indicator-color;
- }
- }
- }
-
-}
\ No newline at end of file
diff --git a/src/scss/components/_table_of_contents.scss b/src/scss/components/_table_of_contents.scss
deleted file mode 100644
index 638009d9..00000000
--- a/src/scss/components/_table_of_contents.scss
+++ /dev/null
@@ -1,33 +0,0 @@
-/***************
- Nav List
-***************/
-.table-of-contents {
- &.fixed {
- position: fixed;
- }
-
- li {
- padding: 2px 0;
- }
- a {
- display: inline-block;
- font-weight: 300;
- color: #757575;
- padding-left: 16px;
- height: 1.5rem;
- line-height: 1.5rem;
- letter-spacing: .4;
- display: inline-block;
-
- &:hover {
- color: lighten(#757575, 20%);
- padding-left: 15px;
- border-left: 1px solid $primary-color;
- }
- &.active {
- font-weight: 500;
- padding-left: 14px;
- border-left: 2px solid $primary-color;
- }
- }
-}
diff --git a/src/scss/components/_tabs.scss b/src/scss/components/_tabs.scss
deleted file mode 100644
index 072d4b6c..00000000
--- a/src/scss/components/_tabs.scss
+++ /dev/null
@@ -1,99 +0,0 @@
-.tabs {
- &.tabs-transparent {
- background-color: transparent;
-
- .tab a,
- .tab.disabled a,
- .tab.disabled a:hover {
- color: rgba(255,255,255,0.7);
- }
-
- .tab a:hover,
- .tab a.active {
- color: #fff;
- }
-
- .indicator {
- background-color: #fff;
- }
- }
-
- &.tabs-fixed-width {
- display: flex;
-
- .tab {
- flex-grow: 1;
- }
- }
-
- position: relative;
- overflow-x: auto;
- overflow-y: hidden;
- height: 48px;
- width: 100%;
- background-color: $tabs-bg-color;
- margin: 0 auto;
- white-space: nowrap;
-
- .tab {
- display: inline-block;
- text-align: center;
- line-height: 48px;
- height: 48px;
- padding: 0;
- margin: 0;
- text-transform: uppercase;
-
- a {
- &:focus,
- &:focus.active {
- background-color: transparentize($tabs-underline-color, .8);
- outline: none;
- }
-
- &:hover,
- &.active {
- background-color: transparent;
- color: $tabs-text-color;
- }
-
- color: rgba($tabs-text-color, .7);
- display: block;
- width: 100%;
- height: 100%;
- padding: 0 24px;
- font-size: 14px;
- text-overflow: ellipsis;
- overflow: hidden;
- transition: color .28s ease, background-color .28s ease;
- }
-
- &.disabled a,
- &.disabled a:hover {
- color: rgba($tabs-text-color, .4);
- cursor: default;
- }
- }
- .indicator {
- position: absolute;
- bottom: 0;
- height: 2px;
- background-color: $tabs-underline-color;
- will-change: left, right;
- }
-}
-
-// Fixed Sidenav hide on smaller
-@media #{$medium-and-down} {
- .tabs {
- display: flex;
-
- .tab {
- flex-grow: 1;
-
- a {
- padding: 0 12px;
- }
- }
- }
-}
diff --git a/src/scss/components/_tapTarget.scss b/src/scss/components/_tapTarget.scss
deleted file mode 100644
index 49aecd56..00000000
--- a/src/scss/components/_tapTarget.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-.tap-target-wrapper {
- width: 800px;
- height: 800px;
- position: fixed;
- z-index: 1000;
- visibility: hidden;
- transition: visibility 0s .3s;
-}
-
-.tap-target-wrapper.open {
- visibility: visible;
- transition: visibility 0s;
-
- .tap-target {
- transform: scale(1);
- opacity: .95;
- transition:
- transform .3s cubic-bezier(.42,0,.58,1),
- opacity .3s cubic-bezier(.42,0,.58,1);
- }
-
- .tap-target-wave::before {
- transform: scale(1);
- }
- .tap-target-wave::after {
- visibility: visible;
- animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
- transition:
- opacity .3s,
- transform .3s,
- visibility 0s 1s;
- }
-}
-
-.tap-target {
- position: absolute;
- font-size: 1rem;
- border-radius: 50%;
- background-color: $primary-color;
- box-shadow: 0 20px 20px 0 rgba(0,0,0,0.14), 0 10px 50px 0 rgba(0,0,0,0.12), 0 30px 10px -20px rgba(0,0,0,0.2);
- width: 100%;
- height: 100%;
- opacity: 0;
- transform: scale(0);
- transition:
- transform .3s cubic-bezier(.42,0,.58,1),
- opacity .3s cubic-bezier(.42,0,.58,1);
-}
-
-.tap-target-content {
- position: relative;
- display: table-cell;
-}
-
-.tap-target-wave {
- &::before,
- &::after {
- content: '';
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- border-radius: 50%;
- background-color: #ffffff;
- }
- &::before {
- transform: scale(0);
- transition: transform .3s;
- }
- &::after {
- visibility: hidden;
- transition:
- opacity .3s,
- transform .3s,
- visibility 0s;
- z-index: -1;
- }
-
- position: absolute;
- border-radius: 50%;
- z-index: 10001;
-}
-
-.tap-target-origin {
- &:not(.btn),
- &:not(.btn):hover {
- background: none;
- }
-
- top: 50%;
- left: 50%;
- transform: translate(-50%,-50%);
-
- z-index: 10002;
- position: absolute !important;
-}
-
-@media only screen and (max-width: 600px) {
- .tap-target, .tap-target-wrapper {
- width: 600px;
- height: 600px;
- }
-}
diff --git a/src/scss/components/_timepicker.scss b/src/scss/components/_timepicker.scss
deleted file mode 100644
index fa602fbb..00000000
--- a/src/scss/components/_timepicker.scss
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Timepicker Containers */
-.timepicker-modal {
- max-width: 325px;
- max-height: none;
-}
-
-.timepicker-container.modal-content {
- display: flex;
- flex-direction: column;
- padding: 0;
-}
-
-.text-primary {
- color: rgba(255, 255, 255, 1);
-}
-
-
-/* Clock Digital Display */
-.timepicker-digital-display {
- flex: 1 auto;
- background-color: $secondary-color;
- padding: 10px;
- font-weight: 300;
-}
-
-.timepicker-text-container {
- font-size: 4rem;
- font-weight: bold;
- text-align: center;
- color: rgba(255, 255, 255, 0.6);
- font-weight: 400;
- position: relative;
- user-select: none;
-}
-
-.timepicker-span-hours,
-.timepicker-span-minutes,
-.timepicker-span-am-pm div {
- cursor: pointer;
-}
-
-.timepicker-span-hours {
- margin-right: 3px;
-}
-
-.timepicker-span-minutes {
- margin-left: 3px;
-}
-
-.timepicker-display-am-pm {
- font-size: 1.3rem;
- position: absolute;
- right: 1rem;
- bottom: 1rem;
- font-weight: 400;
-}
-
-
-/* Analog Clock Display */
-.timepicker-analog-display {
- flex: 2.5 auto;
-}
-
-.timepicker-plate {
- background-color: $timepicker-clock-plate-bg;
- border-radius: 50%;
- width: 270px;
- height: 270px;
- overflow: visible;
- position: relative;
- margin: auto;
- margin-top: 25px;
- margin-bottom: 5px;
- user-select: none;
-}
-
-.timepicker-canvas,
-.timepicker-dial {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
-}
-.timepicker-minutes {
- visibility: hidden;
-}
-
-.timepicker-tick {
- border-radius: 50%;
- color: $timepicker-clock-color;
- line-height: 40px;
- text-align: center;
- width: 40px;
- height: 40px;
- position: absolute;
- cursor: pointer;
- font-size: 15px;
-}
-
-.timepicker-tick.active,
-.timepicker-tick:hover {
- background-color: transparentize($secondary-color, .75);
-}
-.timepicker-dial {
- transition: transform 350ms, opacity 350ms;
-}
-.timepicker-dial-out {
- &.timepicker-hours {
- transform: scale(1.1, 1.1);
- }
-
- &.timepicker-minutes {
- transform: scale(.8, .8);
- }
-
- opacity: 0;
-}
-.timepicker-canvas {
- transition: opacity 175ms;
-
- line {
- stroke: $secondary-color;
- stroke-width: 4;
- stroke-linecap: round;
- }
-}
-.timepicker-canvas-out {
- opacity: 0.25;
-}
-.timepicker-canvas-bearing {
- stroke: none;
- fill: $secondary-color;
-}
-.timepicker-canvas-bg {
- stroke: none;
- fill: $secondary-color;
-}
-
-
-/* Footer */
-.timepicker-footer {
- margin: 0 auto;
- padding: 5px 1rem;
- display: flex;
- justify-content: space-between;
-}
-
-.timepicker-clear {
- color: $error-color;
-}
-
-.timepicker-close {
- color: $secondary-color;
-}
-
-.timepicker-clear,
-.timepicker-close {
- padding: 0 20px;
-}
-
-/* Media Queries */
-@media #{$medium-and-up} {
- .timepicker-modal {
- max-width: 600px;
- }
-
- .timepicker-container.modal-content {
- flex-direction: row;
- }
-
- .timepicker-text-container {
- top: 32%;
- }
-
- .timepicker-display-am-pm {
- position: relative;
- right: auto;
- bottom: auto;
- text-align: center;
- margin-top: 1.2rem;
- }
-}
diff --git a/src/scss/components/_toast.scss b/src/scss/components/_toast.scss
deleted file mode 100644
index 412400ff..00000000
--- a/src/scss/components/_toast.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-#toast-container {
- display:block;
- position: fixed;
- z-index: 10000;
-
- @media #{$small-and-down} {
- min-width: 100%;
- bottom: 0%;
- }
- @media #{$medium-only} {
- left: 5%;
- bottom: 7%;
- max-width: 90%;
- }
- @media #{$large-and-up} {
- top: 10%;
- right: 7%;
- max-width: 86%;
- }
-}
-
-.toast {
- @extend .z-depth-1;
- border-radius: 2px;
- top: 35px;
- width: auto;
- margin-top: 10px;
- position: relative;
- max-width:100%;
- height: auto;
- min-height: $toast-height;
- line-height: 1.5em;
- background-color: $toast-color;
- padding: 10px 25px;
- font-size: 1.1rem;
- font-weight: 300;
- color: $toast-text-color;
- display: flex;
- align-items: center;
- justify-content: space-between;
- cursor: default;
-
- .toast-action {
- color: $toast-action-color;
- font-weight: 500;
- margin-right: -25px;
- margin-left: 3rem;
- }
-
- &.rounded{
- border-radius: 24px;
- }
-
- @media #{$small-and-down} {
- width: 100%;
- border-radius: 0;
- }
-}
diff --git a/src/scss/components/_tooltip.scss b/src/scss/components/_tooltip.scss
deleted file mode 100644
index 5ec4299b..00000000
--- a/src/scss/components/_tooltip.scss
+++ /dev/null
@@ -1,32 +0,0 @@
-.material-tooltip {
- padding: 10px 8px;
- font-size: 1rem;
- z-index: 2000;
- background-color: transparent;
- border-radius: 2px;
- color: #fff;
- min-height: 36px;
- line-height: 120%;
- opacity: 0;
- position: absolute;
- text-align: center;
- max-width: calc(100% - 4px);
- overflow: hidden;
- left: 0;
- top: 0;
- pointer-events: none;
- visibility: hidden;
- background-color: #323232;
-}
-
-.backdrop {
- position: absolute;
- opacity: 0;
- height: 7px;
- width: 14px;
- border-radius: 0 0 50% 50%;
- background-color: #323232;
- z-index: -1;
- transform-origin: 50% 0%;
- visibility: hidden;
-}
diff --git a/src/scss/components/_transitions.scss b/src/scss/components/_transitions.scss
deleted file mode 100644
index cb9f60db..00000000
--- a/src/scss/components/_transitions.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-// Scale transition
-.scale-transition {
- &.scale-out {
- transform: scale(0);
- transition: transform .2s !important;
- }
-
- &.scale-in {
- transform: scale(1);
- }
-
- transition: transform .3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
-}
\ No newline at end of file
diff --git a/src/scss/components/_typography.scss b/src/scss/components/_typography.scss
index b9b93b3e..2a94424f 100644
--- a/src/scss/components/_typography.scss
+++ b/src/scss/components/_typography.scss
@@ -6,7 +6,7 @@ a {
html{
line-height: 1.5;
- @media only screen and (min-width: 0) {
+ /* @media only screen and (min-width: 0) {
font-size: 14px;
}
@@ -16,11 +16,9 @@ html{
@media only screen and (min-width: $large-screen) {
font-size: 15px;
- }
+ } */
- font-family: $font-stack;
font-weight: normal;
- color: $off-black;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 400;
@@ -29,32 +27,14 @@ h1, h2, h3, h4, h5, h6 {
// Header Styles
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
-h1 { font-size: $h1-fontsize; line-height: 110%; margin: ($h1-fontsize / 1.5) 0 ($h1-fontsize / 2.5) 0;}
+/* h1 { font-size: $h1-fontsize; line-height: 110%; margin: ($h1-fontsize / 1.5) 0 ($h1-fontsize / 2.5) 0;}
h2 { font-size: $h2-fontsize; line-height: 110%; margin: ($h2-fontsize / 1.5) 0 ($h2-fontsize / 2.5) 0;}
h3 { font-size: $h3-fontsize; line-height: 110%; margin: ($h3-fontsize / 1.5) 0 ($h3-fontsize / 2.5) 0;}
h4 { font-size: $h4-fontsize; line-height: 110%; margin: ($h4-fontsize / 1.5) 0 ($h4-fontsize / 2.5) 0;}
h5 { font-size: $h5-fontsize; line-height: 110%; margin: ($h5-fontsize / 1.5) 0 ($h5-fontsize / 2.5) 0;}
-h6 { font-size: $h6-fontsize; line-height: 110%; margin: ($h6-fontsize / 1.5) 0 ($h6-fontsize / 2.5) 0;}
+h6 { font-size: $h6-fontsize; line-height: 110%; margin: ($h6-fontsize / 1.5) 0 ($h6-fontsize / 2.5) 0;} */
// Text Styles
em { font-style: italic; }
strong { font-weight: 500; }
small { font-size: 75%; }
-.light { font-weight: 300; }
-.thin { font-weight: 200; }
-
-
-.flow-text{
- $i: 0;
- @while $i <= $intervals {
- @media only screen and (min-width : 360 + ($i * $interval-size)) {
- font-size: 1.2rem * (1 + (.02 * $i));
- }
- $i: $i + 1;
- }
-
- // Handle below 360px screen
- @media only screen and (max-width: 360px) {
- font-size: 1.2rem;
- }
-}
diff --git a/src/scss/components/_variables.scss b/src/scss/components/_variables.scss
deleted file mode 100644
index 4c59c127..00000000
--- a/src/scss/components/_variables.scss
+++ /dev/null
@@ -1,349 +0,0 @@
-// ==========================================================================
-// Materialize variables
-// ==========================================================================
-//
-// Table of Contents:
-//
-// 1. Colors
-// 2. Badges
-// 3. Buttons
-// 4. Cards
-// 5. Carousel
-// 6. Collapsible
-// 7. Chips
-// 8. Date + Time Picker
-// 9. Dropdown
-// 10. Forms
-// 11. Global
-// 12. Grid
-// 13. Navigation Bar
-// 14. Side Navigation
-// 15. Photo Slider
-// 16. Spinners | Loaders
-// 17. Tabs
-// 18. Tables
-// 19. Toasts
-// 20. Typography
-// 21. Footer
-// 22. Flow Text
-// 23. Collections
-// 24. Progress Bar
-
-
-
-// 1. Colors
-// ==========================================================================
-
-$primary-color: color("materialize-red", "lighten-2") !default;
-$primary-color-light: lighten($primary-color, 15%) !default;
-$primary-color-dark: darken($primary-color, 15%) !default;
-
-$secondary-color: color("teal", "lighten-1") !default;
-$success-color: color("green", "base") !default;
-$error-color: color("red", "base") !default;
-$link-color: color("light-blue", "darken-1") !default;
-
-
-// 2. Badges
-// ==========================================================================
-
-$badge-bg-color: $secondary-color !default;
-$badge-height: 22px !default;
-
-
-// 3. Buttons
-// ==========================================================================
-
-// Shared styles
-$button-border: none !default;
-$button-background-focus: lighten($secondary-color, 4%) !default;
-$button-font-size: 14px !default;
-$button-icon-font-size: 1.3rem !default;
-$button-height: 36px !default;
-$button-padding: 0 16px !default;
-$button-radius: 2px !default;
-
-// Disabled styles
-$button-disabled-background: #DFDFDF !default;
-$button-disabled-color: #9F9F9F !default;
-
-// Raised buttons
-$button-raised-background: $secondary-color !default;
-$button-raised-background-hover: lighten($button-raised-background, 5%) !default;
-$button-raised-color: #fff !default;
-
-// Large buttons
-$button-large-font-size: 15px !default;
-$button-large-icon-font-size: 1.6rem !default;
-$button-large-height: $button-height * 1.5 !default;
-$button-floating-large-size: 56px !default;
-
-// Small buttons
-$button-small-font-size: 13px !default;
-$button-small-icon-font-size: 1.2rem !default;
-$button-small-height: $button-height * .9 !default;
-$button-floating-small-size: $button-height * .9 !default;
-
-// Flat buttons
-$button-flat-color: #343434 !default;
-$button-flat-disabled-color: lighten(#999, 10%) !default;
-
-// Floating buttons
-$button-floating-background: $secondary-color !default;
-$button-floating-background-hover: $button-floating-background !default;
-$button-floating-color: #fff !default;
-$button-floating-size: 40px !default;
-$button-floating-radius: 50% !default;
-
-
-// 4. Cards
-// ==========================================================================
-
-$card-padding: 24px !default;
-$card-bg-color: #fff !default;
-$card-link-color: color("orange", "accent-2") !default;
-$card-link-color-light: lighten($card-link-color, 20%) !default;
-
-
-// 5. Carousel
-// ==========================================================================
-
-$carousel-height: 400px !default;
-$carousel-item-height: $carousel-height / 2 !default;
-$carousel-item-width: $carousel-item-height !default;
-
-
-// 6. Collapsible
-// ==========================================================================
-
-$collapsible-height: 3rem !default;
-$collapsible-line-height: $collapsible-height !default;
-$collapsible-header-color: #fff !default;
-$collapsible-border-color: #ddd !default;
-
-
-// 7. Chips
-// ==========================================================================
-
-$chip-bg-color: #e4e4e4 !default;
-$chip-border-color: #9e9e9e !default;
-$chip-selected-color: #26a69a !default;
-$chip-margin: 5px !default;
-
-
-// 8. Date + Time Picker
-// ==========================================================================
-
-$datepicker-display-font-size: 2.8rem;
-$datepicker-calendar-header-color: #999;
-$datepicker-weekday-color: rgba(0, 0, 0, .87) !default;
-$datepicker-weekday-bg: darken($secondary-color, 7%) !default;
-$datepicker-date-bg: $secondary-color !default;
-$datepicker-year: rgba(255, 255, 255, .7) !default;
-$datepicker-focus: rgba(0,0,0, .05) !default;
-$datepicker-selected: $secondary-color !default;
-$datepicker-selected-outfocus: desaturate(lighten($secondary-color, 35%), 15%) !default;
-$datepicker-day-focus: transparentize(desaturate($secondary-color, 5%), .75) !default;
-$datepicker-disabled-day-color: rgba(0, 0, 0, .3) !default;
-
-$timepicker-clock-color: rgba(0, 0, 0, .87) !default;
-$timepicker-clock-plate-bg: #eee !default;
-
-
-// 9. Dropdown
-// ==========================================================================
-
-$dropdown-bg-color: #fff !default;
-$dropdown-hover-bg-color: #eee !default;
-$dropdown-color: $secondary-color !default;
-$dropdown-item-height: 50px !default;
-
-
-// 10. Forms
-// ==========================================================================
-
-// Text Inputs + Textarea
-$input-height: 3rem !default;
-$input-border-color: color("grey", "base") !default;
-$input-border: 1px solid $input-border-color !default;
-$input-background: #fff !default;
-$input-error-color: $error-color !default;
-$input-success-color: $success-color !default;
-$input-focus-color: $secondary-color !default;
-$input-font-size: 16px !default;
-$input-margin-bottom: 8px;
-$input-margin: 0 0 $input-margin-bottom 0 !default;
-$input-padding: 0 !default;
-$label-font-size: .8rem !default;
-$input-disabled-color: rgba(0,0,0, .42) !default;
-$input-disabled-solid-color: #949494 !default;
-$input-disabled-border: 1px dotted $input-disabled-color !default;
-$input-invalid-border: 1px solid $input-error-color !default;
-$input-icon-size: 2rem;
-$placeholder-text-color: lighten($input-border-color, 20%) !default;
-
-// Radio Buttons
-$radio-fill-color: $secondary-color !default;
-$radio-empty-color: #5a5a5a !default;
-$radio-border: 2px solid $radio-fill-color !default;
-
-// Range
-$range-height: 14px !default;
-$range-width: 14px !default;
-$track-height: 3px !default;
-
-// Select
-$select-border: 1px solid #f2f2f2 !default;
-$select-background: rgba(255, 255, 255, 0.90) !default;
-$select-focus: 1px solid lighten($secondary-color, 47%) !default;
-$select-option-hover: rgba(0,0,0,.08) !default;
-$select-option-focus: rgba(0,0,0,.08) !default;
-$select-option-selected: rgba(0,0,0,.03) !default;
-$select-padding: 5px !default;
-$select-radius: 2px !default;
-$select-disabled-color: rgba(0,0,0,.3) !default;
-
-// Switches
-$switch-bg-color: $secondary-color !default;
-$switch-checked-lever-bg: desaturate(lighten($switch-bg-color, 25%), 25%) !default;
-$switch-unchecked-bg: #F1F1F1 !default;
-$switch-unchecked-lever-bg: rgba(0,0,0,.38) !default;
-$switch-radius: 15px !default;
-
-
-// 11. Global
-// ==========================================================================
-
-// Media Query Ranges
-$small-screen-up: 601px !default;
-$medium-screen-up: 993px !default;
-$large-screen-up: 1201px !default;
-$small-screen: 600px !default;
-$medium-screen: 992px !default;
-$large-screen: 1200px !default;
-
-$medium-and-up: "only screen and (min-width : #{$small-screen-up})" !default;
-$large-and-up: "only screen and (min-width : #{$medium-screen-up})" !default;
-$extra-large-and-up: "only screen and (min-width : #{$large-screen-up})" !default;
-$small-and-down: "only screen and (max-width : #{$small-screen})" !default;
-$medium-and-down: "only screen and (max-width : #{$medium-screen})" !default;
-$medium-only: "only screen and (min-width : #{$small-screen-up}) and (max-width : #{$medium-screen})" !default;
-
-
-// 12. Grid
-// ==========================================================================
-
-$num-cols: 12 !default;
-$gutter-width: 1.5rem !default;
-$element-top-margin: $gutter-width/3 !default;
-$element-bottom-margin: ($gutter-width*2)/3 !default;
-
-
-// 13. Navigation Bar
-// ==========================================================================
-
-$navbar-height: 64px !default;
-$navbar-line-height: $navbar-height !default;
-$navbar-height-mobile: 56px !default;
-$navbar-line-height-mobile: $navbar-height-mobile !default;
-$navbar-font-size: 1rem !default;
-$navbar-font-color: #fff !default;
-$navbar-brand-font-size: 2.1rem !default;
-
-// 14. Side Navigation
-// ==========================================================================
-
-$sidenav-width: 300px !default;
-$sidenav-font-size: 14px !default;
-$sidenav-font-color: rgba(0,0,0,.87) !default;
-$sidenav-bg-color: #fff !default;
-$sidenav-padding: 16px !default;
-$sidenav-item-height: 48px !default;
-$sidenav-line-height: $sidenav-item-height !default;
-
-
-// 15. Photo Slider
-// ==========================================================================
-
-$slider-bg-color: color('grey', 'base') !default;
-$slider-bg-color-light: color('grey', 'lighten-2') !default;
-$slider-indicator-color: color('green', 'base') !default;
-
-
-// 16. Spinners | Loaders
-// ==========================================================================
-
-$spinner-default-color: $secondary-color !default;
-
-
-// 17. Tabs
-// ==========================================================================
-
-$tabs-underline-color: $primary-color-light !default;
-$tabs-text-color: $primary-color !default;
-$tabs-bg-color: #fff !default;
-
-
-// 18. Tables
-// ==========================================================================
-
-$table-border-color: rgba(0,0,0,.12) !default;
-$table-striped-color: rgba(242, 242, 242, 0.5) !default;
-
-
-// 19. Toasts
-// ==========================================================================
-
-$toast-height: 48px !default;
-$toast-color: #323232 !default;
-$toast-text-color: #fff !default;
-$toast-action-color: #eeff41;
-
-
-// 20. Typography
-// ==========================================================================
-
-$font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !default;
-$off-black: rgba(0, 0, 0, 0.87) !default;
-// Header Styles
-$h1-fontsize: 4.2rem !default;
-$h2-fontsize: 3.56rem !default;
-$h3-fontsize: 2.92rem !default;
-$h4-fontsize: 2.28rem !default;
-$h5-fontsize: 1.64rem !default;
-$h6-fontsize: 1.15rem !default;
-
-
-// 21. Footer
-// ==========================================================================
-
-$footer-font-color: #fff !default;
-$footer-bg-color: $primary-color !default;
-$footer-copyright-font-color: rgba(255,255,255,.8) !default;
-$footer-copyright-bg-color: rgba(51,51,51,.08) !default;
-
-
-// 22. Flow Text
-// ==========================================================================
-
-$range : $large-screen - $small-screen !default;
-$intervals: 20 !default;
-$interval-size: $range / $intervals !default;
-
-
-// 23. Collections
-// ==========================================================================
-
-$collection-border-color: #e0e0e0 !default;
-$collection-bg-color: #fff !default;
-$collection-active-bg-color: $secondary-color !default;
-$collection-active-color: lighten($secondary-color, 55%) !default;
-$collection-hover-bg-color: #ddd !default;
-$collection-link-color: $secondary-color !default;
-$collection-line-height: 1.5rem !default;
-
-
-// 24. Progress Bar
-// ==========================================================================
-
-$progress-bar-color: $secondary-color !default;
diff --git a/src/scss/components/_waves.scss b/src/scss/components/_waves.scss
deleted file mode 100644
index b36c7181..00000000
--- a/src/scss/components/_waves.scss
+++ /dev/null
@@ -1,114 +0,0 @@
-
-/*!
- * Waves v0.6.0
- * http://fian.my.id/Waves
- *
- * Copyright 2014 Alfiana E. Sibuea and other contributors
- * Released under the MIT license
- * https://github.com/fians/Waves/blob/master/LICENSE
- */
-
-
-.waves-effect {
- position: relative;
- cursor: pointer;
- display: inline-block;
- overflow: hidden;
- user-select: none;
- -webkit-tap-highlight-color: transparent;
- vertical-align: middle;
- z-index: 1;
- transition: .3s ease-out;
-
- .waves-ripple {
- position: absolute;
- border-radius: 50%;
- width: 20px;
- height: 20px;
- margin-top:-10px;
- margin-left:-10px;
- opacity: 0;
-
- background: rgba(0,0,0,0.2);
- transition: all 0.7s ease-out;
- transition-property: transform, opacity;
- transform: scale(0);
- pointer-events: none;
- }
-
- // Waves Colors
- &.waves-light .waves-ripple {
- background-color: rgba(255, 255, 255, 0.45);
- }
- &.waves-red .waves-ripple {
- background-color: rgba(244, 67, 54, .70);
- }
- &.waves-yellow .waves-ripple {
- background-color: rgba(255, 235, 59, .70);
- }
- &.waves-orange .waves-ripple {
- background-color: rgba(255, 152, 0, .70);
- }
- &.waves-purple .waves-ripple {
- background-color: rgba(156, 39, 176, 0.70);
- }
- &.waves-green .waves-ripple {
- background-color: rgba(76, 175, 80, 0.70);
- }
- &.waves-teal .waves-ripple {
- background-color: rgba(0, 150, 136, 0.70);
- }
-
- // Style input button bug.
- input[type="button"], input[type="reset"], input[type="submit"] {
- border: 0;
- font-style: normal;
- font-size: inherit;
- text-transform: inherit;
- background: none;
- }
-
- img {
- position: relative;
- z-index: -1;
- }
-}
-
-.waves-notransition {
- transition: none #{"!important"};
-}
-
-.waves-circle {
- transform: translateZ(0);
- -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
-}
-
-.waves-input-wrapper {
- border-radius: 0.2em;
- vertical-align: bottom;
-
- .waves-button-input {
- position: relative;
- top: 0;
- left: 0;
- z-index: 1;
- }
-}
-
-.waves-circle {
- text-align: center;
- width: 2.5em;
- height: 2.5em;
- line-height: 2.5em;
- border-radius: 50%;
- -webkit-mask-image: none;
-}
-
-.waves-block {
- display: block;
-}
-
-/* Firefox Bug: link not triggered */
-.waves-effect .waves-ripple {
- z-index: -1;
-}
\ No newline at end of file
diff --git a/src/scss/components/forms/_checkboxes.scss b/src/scss/components/forms/_checkboxes.scss
deleted file mode 100644
index ddc7d961..00000000
--- a/src/scss/components/forms/_checkboxes.scss
+++ /dev/null
@@ -1,200 +0,0 @@
-/* Checkboxes
- ========================================================================== */
-
-/* Remove default checkbox */
-[type="checkbox"]:not(:checked),
-[type="checkbox"]:checked {
- position: absolute;
- opacity: 0;
- pointer-events: none;
-}
-
-// Checkbox Styles
-[type="checkbox"] {
- // Text Label Style
- + span:not(.lever) {
- position: relative;
- padding-left: 35px;
- cursor: pointer;
- display: inline-block;
- height: 25px;
- line-height: 25px;
- font-size: 1rem;
- user-select: none;
- }
-
- /* checkbox aspect */
- + span:not(.lever):before,
- &:not(.filled-in) + span:not(.lever):after {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- width: 18px;
- height: 18px;
- z-index: 0;
- border: 2px solid $radio-empty-color;
- border-radius: 1px;
- margin-top: 3px;
- transition: .2s;
- }
-
- &:not(.filled-in) + span:not(.lever):after {
- border: 0;
- transform: scale(0);
- }
-
- &:not(:checked):disabled + span:not(.lever):before {
- border: none;
- background-color: $input-disabled-color;
- }
-
- // Focused styles
- &.tabbed:focus + span:not(.lever):after {
- transform: scale(1);
- border: 0;
- border-radius: 50%;
- box-shadow: 0 0 0 10px rgba(0,0,0,.1);
- background-color: rgba(0,0,0,.1);
- }
-}
-
-[type="checkbox"]:checked {
- + span:not(.lever):before {
- top: -4px;
- left: -5px;
- width: 12px;
- height: 22px;
- border-top: 2px solid transparent;
- border-left: 2px solid transparent;
- border-right: $radio-border;
- border-bottom: $radio-border;
- transform: rotate(40deg);
- backface-visibility: hidden;
- transform-origin: 100% 100%;
- }
-
- &:disabled + span:before {
- border-right: 2px solid $input-disabled-color;
- border-bottom: 2px solid $input-disabled-color;
- }
-}
-
-/* Indeterminate checkbox */
-[type="checkbox"]:indeterminate {
- + span:not(.lever):before {
- top: -11px;
- left: -12px;
- width: 10px;
- height: 22px;
- border-top: none;
- border-left: none;
- border-right: $radio-border;
- border-bottom: none;
- transform: rotate(90deg);
- backface-visibility: hidden;
- transform-origin: 100% 100%;
- }
-
- // Disabled indeterminate
- &:disabled + span:not(.lever):before {
- border-right: 2px solid $input-disabled-color;
- background-color: transparent;
- }
-}
-
-// Filled in Style
-[type="checkbox"].filled-in {
- // General
- + span:not(.lever):after {
- border-radius: 2px;
- }
-
- + span:not(.lever):before,
- + span:not(.lever):after {
- content: '';
- left: 0;
- position: absolute;
- /* .1s delay is for check animation */
- transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
- z-index: 1;
- }
-
- // Unchecked style
- &:not(:checked) + span:not(.lever):before {
- width: 0;
- height: 0;
- border: 3px solid transparent;
- left: 6px;
- top: 10px;
- transform: rotateZ(37deg);
- transform-origin: 100% 100%;
- }
-
- &:not(:checked) + span:not(.lever):after {
- height: 20px;
- width: 20px;
- background-color: transparent;
- border: 2px solid $radio-empty-color;
- top: 0px;
- z-index: 0;
- }
-
- // Checked style
- &:checked {
- + span:not(.lever):before {
- top: 0;
- left: 1px;
- width: 8px;
- height: 13px;
- border-top: 2px solid transparent;
- border-left: 2px solid transparent;
- border-right: 2px solid $input-background;
- border-bottom: 2px solid $input-background;
- transform: rotateZ(37deg);
- transform-origin: 100% 100%;
- }
-
- + span:not(.lever):after {
- top: 0;
- width: 20px;
- height: 20px;
- border: 2px solid $secondary-color;
- background-color: $secondary-color;
- z-index: 0;
- }
- }
-
- // Focused styles
- &.tabbed:focus + span:not(.lever):after {
- border-radius: 2px;
- border-color: $radio-empty-color;
- background-color: rgba(0,0,0,.1);
- }
-
- &.tabbed:checked:focus + span:not(.lever):after {
- border-radius: 2px;
- background-color: $secondary-color;
- border-color: $secondary-color;
- }
-
- // Disabled style
- &:disabled:not(:checked) + span:not(.lever):before {
- background-color: transparent;
- border: 2px solid transparent;
- }
-
- &:disabled:not(:checked) + span:not(.lever):after {
- border-color: transparent;
- background-color: $input-disabled-solid-color;
- }
-
- &:disabled:checked + span:not(.lever):before {
- background-color: transparent;
- }
-
- &:disabled:checked + span:not(.lever):after {
- background-color: $input-disabled-solid-color;
- border-color: $input-disabled-solid-color;
- }
-}
diff --git a/src/scss/components/forms/_file-input.scss b/src/scss/components/forms/_file-input.scss
deleted file mode 100644
index e0f7ef73..00000000
--- a/src/scss/components/forms/_file-input.scss
+++ /dev/null
@@ -1,44 +0,0 @@
-/* File Input
- ========================================================================== */
-
-.file-field {
- position: relative;
-
- .file-path-wrapper {
- overflow: hidden;
- padding-left: 10px;
- }
-
- input.file-path { width: 100%; }
-
- .btn {
- float: left;
- height: $input-height;
- line-height: $input-height;
- }
-
- span {
- cursor: pointer;
- }
-
- input[type=file] {
-
- // Needed to override webkit button
- &::-webkit-file-upload-button {
- display: none;
- }
-
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- bottom: 0;
- width: 100%;
- margin: 0;
- padding: 0;
- font-size: 20px;
- cursor: pointer;
- opacity: 0;
- filter: alpha(opacity=0);
- }
-}
diff --git a/src/scss/components/forms/_forms.scss b/src/scss/components/forms/_forms.scss
deleted file mode 100644
index 4c19f4c8..00000000
--- a/src/scss/components/forms/_forms.scss
+++ /dev/null
@@ -1,22 +0,0 @@
-// Remove Focus Boxes
-select:focus {
- outline: $select-focus;
-}
-
-button:focus {
- outline: none;
- background-color: $button-background-focus;
-}
-
-label {
- font-size: $label-font-size;
- color: $input-border-color;
-}
-
-@import 'input-fields';
-@import 'radio-buttons';
-@import 'checkboxes';
-@import 'switches';
-@import 'select';
-@import 'file-input';
-@import 'range';
diff --git a/src/scss/components/forms/_input-fields.scss b/src/scss/components/forms/_input-fields.scss
deleted file mode 100644
index f18c2f80..00000000
--- a/src/scss/components/forms/_input-fields.scss
+++ /dev/null
@@ -1,354 +0,0 @@
-/* Text Inputs + Textarea
- ========================================================================== */
-
-/* Style Placeholders */
-
-::placeholder {
- color: $placeholder-text-color;
-}
-
-/* Text inputs */
-
-input:not([type]),
-input[type=text]:not(.browser-default),
-input[type=password]:not(.browser-default),
-input[type=email]:not(.browser-default),
-input[type=url]:not(.browser-default),
-input[type=time]:not(.browser-default),
-input[type=date]:not(.browser-default),
-input[type=datetime]:not(.browser-default),
-input[type=datetime-local]:not(.browser-default),
-input[type=tel]:not(.browser-default),
-input[type=number]:not(.browser-default),
-input[type=search]:not(.browser-default),
-textarea.materialize-textarea {
-
- // General Styles
- background-color: transparent;
- border: none;
- border-bottom: $input-border;
- border-radius: 0;
- outline: none;
- height: $input-height;
- width: 100%;
- font-size: $input-font-size;
- margin: $input-margin;
- padding: $input-padding;
- box-shadow: none;
- box-sizing: content-box;
- transition: box-shadow .3s, border .3s;
-
- // Disabled input style
- &:disabled,
- &[readonly="readonly"] {
- color: $input-disabled-color;
- border-bottom: $input-disabled-border;
- }
-
- // Disabled label style
- &:disabled+label,
- &[readonly="readonly"]+label {
- color: $input-disabled-color;
- }
-
- // Focused input style
- &:focus:not([readonly]) {
- border-bottom: 1px solid $input-focus-color;
- box-shadow: 0 1px 0 0 $input-focus-color;
- }
-
- // Focused label style
- &:focus:not([readonly])+label {
- color: $input-focus-color;
- }
-
- // Hide helper text on data message
- &.valid ~ .helper-text[data-success],
- &:focus.valid ~ .helper-text[data-success],
- &.invalid ~ .helper-text[data-error],
- &:focus.invalid ~ .helper-text[data-error] {
- @extend %hidden-text;
- }
-
- // Valid Input Style
- &.valid,
- &:focus.valid {
- @extend %valid-input-style;
- }
-
- // Custom Success Message
- &.valid ~ .helper-text:after,
- &:focus.valid ~ .helper-text:after {
- @extend %custom-success-message;
- }
- &:focus.valid ~ label {
- color: $input-success-color;
- }
-
- // Invalid Input Style
- &.invalid,
- &:focus.invalid {
- @extend %invalid-input-style;
- }
-
- // Custom Error message
- &.invalid ~ .helper-text:after,
- &:focus.invalid ~ .helper-text:after {
- @extend %custom-error-message;
- }
- &:focus.invalid ~ label {
- color: $input-error-color;
- }
-
- // Full width label when using validate for error messages
- &.validate + label {
- width: 100%;
- }
-
- // Form Message Shared Styles
- & + label:after {
- @extend %input-after-style;
- }
-}
-
-
-/* Validation Sass Placeholders */
-%valid-input-style {
- border-bottom: 1px solid $input-success-color;
- box-shadow: 0 1px 0 0 $input-success-color;
-}
-%invalid-input-style {
- border-bottom: $input-invalid-border;
- box-shadow: 0 1px 0 0 $input-error-color;
-}
-%hidden-text {
- color: transparent;
- user-select: none;
- pointer-events: none;
-}
-%custom-success-message {
- content: attr(data-success);
- color: $input-success-color;
-}
-%custom-error-message {
- content: attr(data-error);
- color: $input-error-color;
-}
-%input-after-style {
- display: block;
- content: "";
- position: absolute;
- top: 100%;
- left: 0;
- opacity: 0;
- transition: .2s opacity ease-out, .2s color ease-out;
-}
-
-
-// Styling for input field wrapper
-.input-field {
- // Inline styles
- &.inline {
- display: inline-block;
- vertical-align: middle;
- margin-left: 5px;
-
- input,
- .select-dropdown {
- margin-bottom: 1rem;
- }
- }
-
- // Gutter spacing
- &.col {
- label {
- left: $gutter-width / 2;
- }
-
- .prefix ~ label,
- .prefix ~ .validate ~ label {
- width: calc(100% - 3rem - #{$gutter-width});
- }
- }
-
- position: relative;
- margin-top: 1rem;
- margin-bottom: 1rem;
-
- & > label {
- color: $input-border-color;
- position: absolute;
- top: 0;
- left: 0;
- font-size: 1rem;
- cursor: text;
- transition: transform .2s ease-out, color .2s ease-out;
- transform-origin: 0% 100%;
- text-align: initial;
- transform: translateY(12px);
-
- &:not(.label-icon).active {
- transform: translateY(-14px) scale(.8);
- transform-origin: 0 0;
- }
- }
-
- // Autofill + date + time inputs
- & > input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
- & > input[type=date]:not(.browser-default) + label,
- & > input[type=time]:not(.browser-default) + label {
- transform: translateY(-14px) scale(.8);
- transform-origin: 0 0;
- }
-
- .helper-text {
- &::after {
- opacity: 1;
- position: absolute;
- top: 0;
- left: 0;
- }
-
- position: relative;
- min-height: 18px;
- display: block;
- font-size: 12px;
- color: rgba(0,0,0,.54);
- }
-
- // Prefix Icons
- .prefix {
- position: absolute;
- width: $input-height;
- font-size: $input-icon-size;
- transition: color .2s;
- top: ($input-height - $input-icon-size) / 2;
-
- &.active { color: $input-focus-color; }
- }
-
- .prefix ~ input,
- .prefix ~ textarea,
- .prefix ~ label,
- .prefix ~ .validate ~ label,
- .prefix ~ .helper-text,
- .prefix ~ .autocomplete-content {
- margin-left: 3rem;
- width: 92%;
- width: calc(100% - 3rem);
- }
-
- .prefix ~ label { margin-left: 3rem; }
-
- @media #{$medium-and-down} {
- .prefix ~ input {
- width: 86%;
- width: calc(100% - 3rem);
- }
- }
-
- @media #{$small-and-down} {
- .prefix ~ input {
- width: 80%;
- width: calc(100% - 3rem);
- }
- }
-}
-
-
-/* Search Field */
-
-.input-field input[type=search] {
- display: block;
- line-height: inherit;
- transition: .3s background-color;
-
- .nav-wrapper & {
- height: inherit;
- padding-left: 4rem;
- width: calc(100% - 4rem);
- border: 0;
- box-shadow: none;
- }
-
- &:focus:not(.browser-default) {
- background-color: $input-background;
- border: 0;
- box-shadow: none;
- color: #444;
-
- & + label i,
- & ~ .mdi-navigation-close,
- & ~ .material-icons {
- color: #444;
- }
- }
-
- & + .label-icon {
- transform: none;
- left: 1rem;
- }
-
- & ~ .mdi-navigation-close,
- & ~ .material-icons {
- position: absolute;
- top: 0;
- right: 1rem;
- color: transparent;
- cursor: pointer;
- font-size: $input-icon-size;
- transition: .3s color;
- }
-}
-
-
-/* Textarea */
-
-// Default textarea
-textarea {
- width: 100%;
- height: $input-height;
- background-color: transparent;
-
- &.materialize-textarea {
- line-height: normal;
- overflow-y: hidden; /* prevents scroll bar flash */
- padding: .8rem 0 .8rem 0; /* prevents text jump on Enter keypress */
- resize: none;
- min-height: $input-height;
- box-sizing: border-box;
- }
-}
-
-// For textarea autoresize
-.hiddendiv {
- visibility: hidden;
- white-space: pre-wrap;
- word-wrap: break-word;
- overflow-wrap: break-word; /* future version of deprecated 'word-wrap' */
- padding-top: 1.2rem; /* prevents text jump on Enter keypress */
-
- // Reduces repaints
- position: absolute;
- top: 0;
- z-index: -1;
-}
-
-
-/* Autocomplete */
-.autocomplete-content {
- li {
- .highlight { color: #444; }
-
- img {
- height: $dropdown-item-height - 10;
- width: $dropdown-item-height - 10;
- margin: 5px 15px;
- }
- }
-}
-
-/* Character Counter */
-.character-counter {
- min-height: 18px;
-}
diff --git a/src/scss/components/forms/_radio-buttons.scss b/src/scss/components/forms/_radio-buttons.scss
deleted file mode 100644
index c9f72962..00000000
--- a/src/scss/components/forms/_radio-buttons.scss
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Radio Buttons
- ========================================================================== */
-
-// Remove default Radio Buttons
-[type="radio"]:not(:checked),
-[type="radio"]:checked {
- position: absolute;
- opacity: 0;
- pointer-events: none;
-}
-
-[type="radio"]:not(:checked) + span,
-[type="radio"]:checked + span {
- position: relative;
- padding-left: 35px;
- cursor: pointer;
- display: inline-block;
- height: 25px;
- line-height: 25px;
- font-size: 1rem;
- transition: .28s ease;
- user-select: none;
-}
-
-[type="radio"] + span:before,
-[type="radio"] + span:after {
- content: '';
- position: absolute;
- left: 0;
- top: 0;
- margin: 4px;
- width: 16px;
- height: 16px;
- z-index: 0;
- transition: .28s ease;
-}
-
-/* Unchecked styles */
-[type="radio"]:not(:checked) + span:before,
-[type="radio"]:not(:checked) + span:after,
-[type="radio"]:checked + span:before,
-[type="radio"]:checked + span:after,
-[type="radio"].with-gap:checked + span:before,
-[type="radio"].with-gap:checked + span:after {
- border-radius: 50%;
-}
-
-[type="radio"]:not(:checked) + span:before,
-[type="radio"]:not(:checked) + span:after {
- border: 2px solid $radio-empty-color;
-}
-
-[type="radio"]:not(:checked) + span:after {
- transform: scale(0);
-}
-
-/* Checked styles */
-[type="radio"]:checked + span:before {
- border: 2px solid transparent;
-}
-
-[type="radio"]:checked + span:after,
-[type="radio"].with-gap:checked + span:before,
-[type="radio"].with-gap:checked + span:after {
- border: $radio-border;
-}
-
-[type="radio"]:checked + span:after,
-[type="radio"].with-gap:checked + span:after {
- background-color: $radio-fill-color;
-}
-
-[type="radio"]:checked + span:after {
- transform: scale(1.02);
-}
-
-/* Radio With gap */
-[type="radio"].with-gap:checked + span:after {
- transform: scale(.5);
-}
-
-/* Focused styles */
-[type="radio"].tabbed:focus + span:before {
- box-shadow: 0 0 0 10px rgba(0,0,0,.1);
-}
-
-/* Disabled Radio With gap */
-[type="radio"].with-gap:disabled:checked + span:before {
- border: 2px solid $input-disabled-color;
-}
-
-[type="radio"].with-gap:disabled:checked + span:after {
- border: none;
- background-color: $input-disabled-color;
-}
-
-/* Disabled style */
-[type="radio"]:disabled:not(:checked) + span:before,
-[type="radio"]:disabled:checked + span:before {
- background-color: transparent;
- border-color: $input-disabled-color;
-}
-
-[type="radio"]:disabled + span {
- color: $input-disabled-color;
-}
-
-[type="radio"]:disabled:not(:checked) + span:before {
- border-color: $input-disabled-color;
-}
-
-[type="radio"]:disabled:checked + span:after {
- background-color: $input-disabled-color;
- border-color: $input-disabled-solid-color;
-}
diff --git a/src/scss/components/forms/_range.scss b/src/scss/components/forms/_range.scss
deleted file mode 100644
index 18607f5d..00000000
--- a/src/scss/components/forms/_range.scss
+++ /dev/null
@@ -1,161 +0,0 @@
-/* Range
- ========================================================================== */
-
-.range-field {
- position: relative;
-}
-
-input[type=range],
-input[type=range] + .thumb {
- @extend .no-select;
- cursor: pointer;
-}
-
-input[type=range] {
- position: relative;
- background-color: transparent;
- border: none;
- outline: none;
- width: 100%;
- margin: 15px 0;
- padding: 0;
-
- &:focus {
- outline: none;
- }
-}
-
-input[type=range] + .thumb {
- position: absolute;
- top: 10px;
- left: 0;
- border: none;
- height: 0;
- width: 0;
- border-radius: 50%;
- background-color: $radio-fill-color;
- margin-left: 7px;
-
- transform-origin: 50% 50%;
- transform: rotate(-45deg);
-
- .value {
- display: block;
- width: 30px;
- text-align: center;
- color: $radio-fill-color;
- font-size: 0;
- transform: rotate(45deg);
- }
-
- &.active {
- border-radius: 50% 50% 50% 0;
-
- .value {
- color: $input-background;
- margin-left: -1px;
- margin-top: 8px;
- font-size: 10px;
- }
- }
-}
-
-// Shared
-@mixin range-track {
- height: $track-height;
- background: #c2c0c2;
- border: none;
-}
-
-@mixin range-thumb {
- border: none;
- height: $range-height;
- width: $range-width;
- border-radius: 50%;
- background: $radio-fill-color;
- transition: box-shadow .3s;
-}
-
-// WebKit
-input[type=range] {
- -webkit-appearance: none;
-}
-
-input[type=range]::-webkit-slider-runnable-track {
- @include range-track;
-}
-
-input[type=range]::-webkit-slider-thumb {
- @include range-thumb;
- -webkit-appearance: none;
- background-color: $radio-fill-color;
- transform-origin: 50% 50%;
- margin: -5px 0 0 0;
-
-}
-
-.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
- box-shadow: 0 0 0 10px rgba($radio-fill-color, .26);
-}
-
-// FireFox
-input[type=range] {
- /* fix for FF unable to apply focus style bug */
- border: 1px solid white;
-
- /*required for proper track sizing in FF*/
-}
-
-input[type=range]::-moz-range-track {
- @include range-track;
-}
-
-input[type=range]::-moz-focus-inner {
- border: 0;
-}
-
-input[type=range]::-moz-range-thumb {
- @include range-thumb;
- margin-top: -5px;
-}
-
-// hide the outline behind the border
-input[type=range]:-moz-focusring {
- outline: 1px solid #fff;
- outline-offset: -1px;
-}
-
-.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
- box-shadow: 0 0 0 10px rgba($radio-fill-color, .26);
-}
-
-// IE 10+
-input[type=range]::-ms-track {
- height: $track-height;
-
- // remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead
- background: transparent;
-
- // leave room for the larger thumb to overflow with a transparent border */
- border-color: transparent;
- border-width: 6px 0;
-
- /*remove default tick marks*/
- color: transparent;
-}
-
-input[type=range]::-ms-fill-lower {
- background: #777;
-}
-
-input[type=range]::-ms-fill-upper {
- background: #ddd;
-}
-
-input[type=range]::-ms-thumb {
- @include range-thumb;
-}
-
-.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
- box-shadow: 0 0 0 10px rgba($radio-fill-color, .26);
-}
diff --git a/src/scss/components/forms/_select.scss b/src/scss/components/forms/_select.scss
deleted file mode 100644
index 2fd04d3c..00000000
--- a/src/scss/components/forms/_select.scss
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Select Field
- ========================================================================== */
-
-select { display: none; }
-select.browser-default { display: block; }
-
-select {
- background-color: $select-background;
- width: 100%;
- padding: $select-padding;
- border: $select-border;
- border-radius: $select-radius;
- height: $input-height;
-}
-
-.select-label {
- position: absolute;
-}
-
-.select-wrapper {
- &.valid .helper-text[data-success],
- &.invalid ~ .helper-text[data-error] {
- @extend %hidden-text;
- }
-
- &.valid {
- & > input.select-dropdown {
- @extend %valid-input-style;
- }
-
- & ~ .helper-text:after {
- @extend %custom-success-message;
- }
- }
-
- &.invalid {
- & > input.select-dropdown,
- & > input.select-dropdown:focus {
- @extend %invalid-input-style;
- }
-
- & ~ .helper-text:after {
- @extend %custom-error-message;
- }
- }
-
- &.valid + label,
- &.invalid + label {
- width: 100%;
- pointer-events: none;
- }
-
- & + label:after {
- @extend %input-after-style;
- }
-
- position: relative;
-
- input.select-dropdown {
- &:focus {
- border-bottom: 1px solid $input-focus-color;
- }
- position: relative;
- cursor: pointer;
- background-color: transparent;
- border: none;
- border-bottom: $input-border;
- outline: none;
- height: $input-height;
- line-height: $input-height;
- width: 100%;
- font-size: $input-font-size;
- margin: $input-margin;
- padding: 0;
- display: block;
- user-select:none;
- z-index: 1;
- }
-
- .caret {
- position: absolute;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto 0;
- z-index: 0;
- fill: rgba(0,0,0,.87);
- }
-
- & + label {
- position: absolute;
- top: -26px;
- font-size: $label-font-size;
- }
-}
-
-// Disabled styles
-select:disabled {
- color: $input-disabled-color;
-}
-
-.select-wrapper.disabled {
- + label {
- color: $input-disabled-color;
- }
- .caret {
- fill: $input-disabled-color;
- }
-}
-
-.select-wrapper input.select-dropdown:disabled {
- color: $input-disabled-color;
- cursor: default;
- user-select: none;
-}
-
-.select-wrapper i {
- color: $select-disabled-color;
-}
-
-.select-dropdown li.disabled,
-.select-dropdown li.disabled > span,
-.select-dropdown li.optgroup {
- color: $select-disabled-color;
- background-color: transparent;
-}
-
-body.keyboard-focused {
- .select-dropdown.dropdown-content li:focus {
- background-color: $select-option-focus;
- }
-}
-
-.select-dropdown.dropdown-content {
- li {
- &:hover {
- background-color: $select-option-hover;
- }
-
- &.selected {
- background-color: $select-option-selected;
- }
- }
-}
-
-// Prefix Icons
-.prefix ~ .select-wrapper {
- margin-left: 3rem;
- width: 92%;
- width: calc(100% - 3rem);
-}
-
-.prefix ~ label { margin-left: 3rem; }
-
-// Icons
-.select-dropdown li {
- img {
- height: $dropdown-item-height - 10;
- width: $dropdown-item-height - 10;
- margin: 5px 15px;
- float: right;
- }
-}
-
-// Optgroup styles
-.select-dropdown li.optgroup {
- border-top: 1px solid $dropdown-hover-bg-color;
-
- &.selected > span {
- color: rgba(0, 0, 0, .7);
- }
-
- & > span {
- color: rgba(0, 0, 0, .4);
- }
-
- & ~ li.optgroup-option {
- padding-left: 1rem;
- }
-}
diff --git a/src/scss/components/forms/_switches.scss b/src/scss/components/forms/_switches.scss
deleted file mode 100644
index 3296b12c..00000000
--- a/src/scss/components/forms/_switches.scss
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Switch
- ========================================================================== */
-
-.switch,
-.switch * {
- -webkit-tap-highlight-color: transparent;
- user-select: none;
-}
-
-.switch label {
- cursor: pointer;
-}
-
-.switch label input[type=checkbox] {
- opacity: 0;
- width: 0;
- height: 0;
-
- &:checked + .lever {
- background-color: $switch-checked-lever-bg;
-
- &:before, &:after {
- left: 18px;
- }
-
- &:after {
- background-color: $switch-bg-color;
- }
- }
-}
-
-.switch label .lever {
- content: "";
- display: inline-block;
- position: relative;
- width: 36px;
- height: 14px;
- background-color: $switch-unchecked-lever-bg;
- border-radius: $switch-radius;
- margin-right: 10px;
- transition: background 0.3s ease;
- vertical-align: middle;
- margin: 0 16px;
-
- &:before, &:after {
- content: "";
- position: absolute;
- display: inline-block;
- width: 20px;
- height: 20px;
- border-radius: 50%;
- left: 0;
- top: -3px;
- transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;
- }
-
- &:before {
- background-color: transparentize($switch-bg-color, .85);
- }
-
- &:after {
- background-color: $switch-unchecked-bg;
- box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
- }
-}
-
-// Switch active style
-input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
-input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
- transform: scale(2.4);
- background-color: transparentize($switch-bg-color, .85);
-}
-
-input[type=checkbox]:not(:disabled) ~ .lever:active:before,
-input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
- transform: scale(2.4);
- background-color: rgba(0,0,0,.08);
-}
-
-// Disabled Styles
-.switch input[type=checkbox][disabled] + .lever {
- cursor: default;
- background-color: rgba(0,0,0,.12);
-}
-
-.switch label input[type=checkbox][disabled] + .lever:after,
-.switch label input[type=checkbox][disabled]:checked + .lever:after {
- background-color: $input-disabled-solid-color;
-}
diff --git a/src/scss/partials/_chat.scss b/src/scss/partials/_chat.scss
index 617e1ef8..a53b3435 100644
--- a/src/scss/partials/_chat.scss
+++ b/src/scss/partials/_chat.scss
@@ -132,7 +132,7 @@
display: flex;
flex-direction: column;
flex-shrink: 1;
- padding: 9px;
+ padding-top: 9px;
margin: 0 auto;
box-sizing: border-box;
min-height: 100%;
@@ -140,7 +140,7 @@
&.is-chat {
.in {
- padding-left: 36px;
+ padding-left: 45px;
}
}
}
@@ -339,9 +339,11 @@
&.round.video {
.attachment {
+ max-height: 200px;
+ max-width: 200px;
//max-height: fit-content;
- -webkit-clip-path: ellipse(100px 100px at center);
- clip-path: ellipse(100px 100px at center);
+ //-webkit-clip-path: ellipse(100px 100px at center);
+ //clip-path: ellipse(100px 100px at center);
}
}
@@ -476,14 +478,33 @@
right: 0;
font-size: .75rem;
display: flex;
+ align-items: center;
+ line-height: 1;
i {
font-size: 1.15rem;
margin-right: .4rem;
margin-left: .1rem;
}
+
+ i.edited {
+ overflow: visible;
+ font-size: .8rem;
+ }
}
}
+
+ &.is-edited.channel-post .time {
+ width: calc(5rem + 42px);
+ }
+
+ &.is-edited .time {
+ width: 90px;
+ }
+
+ &.channel-post .time {
+ width: 5rem;
+ }
.user-avatar {
position: absolute;
@@ -586,14 +607,10 @@
width: 2rem;
.inner {
- line-height: 19px;
padding: 0 .35rem;
+ margin-bottom: 4px;
}
}
-
- .bubble.channel-post .time {
- width: 5rem;
- }
.bubble {
background-color: #ffffff;
@@ -650,9 +667,8 @@
display: inline-block;
.inner {
- display: flex;
- align-items: center;
padding: 0 .25rem;
+ bottom: 1px;
}
}
@@ -789,7 +805,7 @@
border-radius: 12px;
border-bottom-right-radius: 0;
box-shadow: 0 1px 2px 0 rgba(16, 35, 47, 0.07);
- margin-right: .5rem;
+ margin-right: 9px;
padding: 4.5px .5rem;
/* padding: 3px .5rem 6px .5rem; */
min-height: 3.25rem;
diff --git a/src/scss/partials/_ckin.scss b/src/scss/partials/_ckin.scss
new file mode 100644
index 00000000..df057ecd
--- /dev/null
+++ b/src/scss/partials/_ckin.scss
@@ -0,0 +1,352 @@
+/*!
+ ckin v0.0.1: Custom HTML5 Video Player Skins.
+ (c) 2017
+ MIT License
+ git+https://github.com/hunzaboy/ckin.git
+*/
+
+/* video {
+ width: 100%;
+ height: auto;
+ cursor: pointer;
+} */
+
+.ckin {
+ &__player {
+ letter-spacing: 0.02em;
+ }
+
+ &__overlay {
+ position: relative;
+
+ &:before {
+ background: radial-gradient(ellipse at center, transparent 0%, rgba(0, 0, 0, 0.5) 100%);
+ }
+
+ &--2:before {
+ background: rgba(24, 24, 24, 0.8);
+ }
+ }
+}
+
+.ckin__player.ckin__fullscreen {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 100%;
+ width: 100%;
+ z-index: 10000000;
+ background: #000;
+ border-radius: 0 !important;
+ display: -ms-flexbox;
+ display: flex;
+}
+
+.default {
+ border: 0 solid rgba(0, 0, 0, 0.2);
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
+ position: relative;
+ font-size: 0;
+ overflow: hidden;
+ //border-radius: 5px;
+ cursor: pointer;
+
+ &:before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ //border-radius: 5px;
+ transition: opacity .2s;
+ opacity: 1;
+ visibility: visible;
+ }
+
+ &__title {
+ position: absolute;
+ left: 20px;
+ top: 20px;
+ z-index: 1;
+ font-size: 24px;
+ color: rgba(255, 255, 255, 0.8);
+ font-style: italic;
+ }
+
+ &__button {
+ background: none;
+ border: 0;
+ color: #fff;
+ outline: 0;
+ padding: 3px 10px 6px 10px;
+ /* padding: 6px 10px 6px 10px; */
+ cursor: pointer;
+ font-size: 24px;
+ line-height: 1;
+ display: flex;
+ align-items: center;
+
+ i {
+ -ms-flex-item-align: center;
+ -ms-grid-row-align: center;
+ align-self: center;
+ }
+
+ &--big {
+ background: none;
+ border: 0;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ outline: 0;
+ padding: 0;
+ cursor: pointer;
+ position: absolute;
+ opacity: 1;
+ visibility: visible;
+ top: 50%;
+ left: 50%;
+ -ms-transform: translate(-50%, -50%) scale(1);
+ transform: translate(-50%, -50%) scale(1);
+ font-size: 64px;
+ transition: all .2s;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+ }
+ }
+
+ &__slider {
+ width: 10px;
+ height: 30px;
+ }
+
+ &__controls {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ transition: all .3s;
+ /* background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, transparent 100%); */
+ /* font-size: 32px; */
+ text-align: left;
+ direction: ltr;
+ /* padding-top: 7px; */
+ border-radius: 0 0 5px 5px;
+ z-index: 3;
+ }
+}
+
+.default.is-playing:before {
+ opacity: 0;
+ visibility: hidden;
+ -ms-transform: translate(-50%, -50%) scale(1.3);
+ transform: translate(-50%, -50%) scale(1.3);
+}
+
+.default.is-playing .default__button--big {
+ opacity: 0;
+ visibility: hidden;
+}
+
+.default.is-playing .default__controls {
+ -ms-transform: translateY(52px);
+ transform: translateY(52px);
+}
+
+.default.is-playing:hover .default__controls {
+ -ms-transform: translateY(0);
+ transform: translateY(0);
+}
+
+.default .progress {
+ position: relative;
+ display: -ms-flexbox;
+ display: flex;
+ margin: 0 8px;
+ height: 5px;
+ transition: height 0.3s;
+ background: rgba(255, 255, 255, 0.38);
+ cursor: pointer;
+ border-radius: 4px;
+ overflow: visible;
+}
+
+.default .progress__filled {
+ width: 0%;
+ background: #63a2e3;
+ /* -ms-flex: 0;
+ flex: 0;
+ -ms-flex-preferred-size: 0%;
+ flex-basis: 0%; */
+ border-radius: 4px;
+}
+
+@media (max-width: 480px) {
+ .ckin__player button {
+ font-size: 18px;
+ }
+}
+
+video::-webkit-media-controls-enclosure {
+ display: none !important;
+}
+
+.progress input {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background: transparent;
+ height: 4.5px;
+ cursor: pointer;
+}
+
+.progress input[type=range]:focus {
+ outline: none;
+}
+
+.progress input[type=range]::-webkit-slider-runnable-track {
+ width: 100%;
+ cursor: pointer;
+ border-radius: 1.3px;
+ -webkit-appearance: none;
+ transition: all 0.4s ease;
+}
+
+.progress input[type=range]::-webkit-slider-thumb {
+ height: 15px;
+ width: 15px;
+ border-radius: 16px;
+ background: #63a2e3;
+ cursor: pointer;
+ -webkit-appearance: none;
+ margin-left: -1px;
+}
+
+.progress input[type=range]:focus::-webkit-slider-runnable-track {
+ background: transparent;
+}
+
+.progress input[type=range].volume {
+ height: 5px;
+ background-color: #fff;
+}
+
+.progress input[type=range].volume::-webkit-slider-runnable-track {
+ background-color: transparent;
+}
+
+.progress input[type=range].volume::-webkit-slider-thumb {
+ margin-left: 0;
+ height: 14px;
+ width: 14px;
+ background: #fff;
+}
+
+.progress input[type=range]::-moz-range-track {
+ width: 100%;
+ height: 8.4px;
+ cursor: pointer;
+ border: 1px solid transparent;
+ background: transparent;
+ border-radius: 1.3px;
+}
+
+.progress input[type=range]::-moz-range-thumb {
+ height: 14px;
+ width: 14px;
+ border-radius: 50px;
+ border: 1px solid #63a2e3;
+ background: #63a2e3;
+ cursor: pointer;
+ margin-top: 5px;
+}
+
+.progress input[type=range]:focus::-moz-range-track {
+ outline: none;
+}
+
+.progress input[type=range].volume::-moz-range-thumb {
+ border: 1px solid #fff;
+ background: #fff;
+}
+
+.seek {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ cursor: pointer;
+ margin: 0;
+}
+
+.seek:hover + .seek-tooltip {
+ display: block;
+}
+
+.left-controls {
+ display: flex;
+ align-items: center;
+}
+
+.bottom-controls {
+ padding: 3px 4px 5px 4px;
+ //padding: 5px 4px 5px 4px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.time {
+ float: right;
+ padding: 7px 0px 9px 14px;
+ font-size: 15px;
+ color: white;
+}
+
+.circle .circle-time {
+ color: #fff;
+ font-size: 13px;
+ float: left;
+ margin-top: 1px;
+ }
+.circle .circle-time-left {
+ position: absolute;
+ top: 3px;
+ left: 2px;
+ border-radius: 12px;
+ background-color: rgba(0, 0, 0, 0.23);
+ padding: 1px 7px 2px 7px;
+ z-index: 2;
+ display: flex;
+ align-items: center;
+}
+video[data-ckin="circle"] {
+ -webkit-clip-path: ellipse(100px 100px at center);
+ clip-path: ellipse(100px 100px at center);
+}
+.progress-ring {
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: pointer;
+}
+.progress-ring__circle {
+ transform-origin: center;
+ transform: rotate(-90deg);
+ transition: stroke-dashoffset 0.15s;
+}
+
+.ckin__player.circle {
+ position: relative;
+ width: 200px;
+ height: 200px;
+}
+
+.iconVolume {
+ padding: 0 1px 0 3px;
+ display: flex;
+ align-items: center;
+ font-size: 1.25rem;
+ color: #fff;
+}
diff --git a/src/scss/partials/_fonts.scss b/src/scss/partials/_fonts.scss
index 067f0c5c..2f09bc3a 100644
--- a/src/scss/partials/_fonts.scss
+++ b/src/scss/partials/_fonts.scss
@@ -209,7 +209,7 @@
.tgico-forward:before {
content: "\e93a";
}
-.tgico-FullScreen:before {
+.tgico-fullscreen:before {
content: "\e93b";
}
.tgico-group:before {
diff --git a/src/scss/partials/_mediaViewer.scss b/src/scss/partials/_mediaViewer.scss
index e1e3d216..fab5dab2 100644
--- a/src/scss/partials/_mediaViewer.scss
+++ b/src/scss/partials/_mediaViewer.scss
@@ -123,6 +123,7 @@
width: 10rem;
height: 100%;
cursor: pointer;
+ z-index: 2;
&:hover {
> span {
diff --git a/src/scss/partials/_vars.scss b/src/scss/partials/_vars.scss
deleted file mode 100644
index f2286bc3..00000000
--- a/src/scss/partials/_vars.scss
+++ /dev/null
@@ -1,27 +0,0 @@
-$lightblue: #e6ebee;
-$blue: #4ea4f6;
-$darkblue: #1da1f1;
-
-$lightgreen: #eeffde;
-$green: #4dcd5e;
-$darkgreen: #50af4f;
-
-$dotgreen: #0ac630;
-
-$lightgrey: #dadce0;
-$grey: #c4c9cc;
-$darkgrey: #707579;
-
-$light: rgba($darkgrey, 0.08);
-
-$text: #000000;
-$bg: #ffffff;
-
-$text-size: 16px;
-$time-size: 12px;
-
-@function anim($elem) {
- @return 150ms ease-out $elem;
-}
-
-@import "ico";
diff --git a/src/scss/style.scss b/src/scss/style.scss
index 485945ee..24ac6102 100644
--- a/src/scss/style.scss
+++ b/src/scss/style.scss
@@ -35,12 +35,21 @@ $time-size: 12px;
@import "partials/sidebar";
@import "partials/leftSidebar";
@import "partials/mediaViewer";
+@import "partials/ckin";
html, body {
height: 100%;
width: 100%;
}
+html {
+ font-size: 15px;
+}
+
+a {
+ color: $blue;
+}
+
button, input, optgroup, select, textarea, html {
font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
diff --git a/src/scss/tgico.scss b/src/scss/tgico.scss
index 68ede48e..bd08099d 100644
--- a/src/scss/tgico.scss
+++ b/src/scss/tgico.scss
@@ -1,2 +1,2 @@
-@import "partials/vars";
+@import "partials/ico";
@import "partials/fonts";
diff --git a/tsconfig.json b/tsconfig.json
index f6c90727..a8858639 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -63,6 +63,11 @@
},
"exclude": [
"node_modules",
- "public"
+ "public",
+ "coverage",
+ "./src/lib/*.js",
+ "src/lib/StackBlur.js",
+ "./src/*.js",
+ "*.js",
]
}
diff --git a/webp-hero.bundle.js b/webp-hero.bundle.js
deleted file mode 100644
index ed00ef34..00000000
--- a/webp-hero.bundle.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){var e,r,n=(e=function(e,r){(function(e,n){var t=h.nextTick,i=(Function.prototype.apply,Array.prototype.slice),o={},a=0;function f(e,r){this._id=e,this._clearFn=r}f.prototype.unref=f.prototype.ref=function(){},f.prototype.close=function(){this._clearFn.call(window,this._id)},r.setImmediate="function"==typeof e?e:function(e){var n=a++,f=!(arguments.length<2)&&i.call(arguments,1);return o[n]=!0,t(function(){o[n]&&(f?e.apply(null,f):e.call(null),r.clearImmediate(n))}),n},r.clearImmediate="function"==typeof n?n:function(e){delete o[e]}}).call(this,n({}).setImmediate,n({}).clearImmediate)},function(n){return r||e(r={exports:{},parent:n},r.exports),r.exports}),t={},i=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))(function(o,a){function f(e){try{u(i.next(e))}catch(r){a(r)}}function A(e){try{u(i.throw(e))}catch(r){a(r)}}function u(e){e.done?o(e.value):new t(function(r){r(e.value)}).then(f,A)}u((i=i.apply(e,n||[])).next())})},o=this&&this.__generator||function(e,n){var t,i,o,a,f={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:A(0),throw:A(1),return:A(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function A(a){return function(A){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;f;)try{if(t=1,i&&(o=2&a[0]?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return f.label++,{value:a[1],done:!1};case 5:f.label++,i=a[1],a=[0];continue;case 7:a=f.ops.pop(),f.trys.pop();continue;default:if(!(o=(o=f.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){f=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]0&&o[o.length-1])&&(6===a[0]||2===a[0])){f=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]1)for(var n=1;n255&&(t&=255),r.push(String.fromCharCode(t))}return r.join("")}(n);throw A}},o&&(t.readBinary=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}catch(A){var n=ie(e);if(n)return n;throw A}}),t.readAsync=function(e,r,n){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){if(200==t.status||0==t.status&&t.response)r(t.response);else{var i=ie(e);i?r(i.buffer):n()}},t.onerror=n,t.send(null)},t.setWindowTitle=function(e){document.title=e};var f=t.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),A=t.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||f);for(n in i)i.hasOwnProperty(n)&&(t[n]=i[n]);function u(e){u.shown||(u.shown={}),u.shown[e]||(u.shown[e]=1,A(e))}i=void 0,new Array(0);var s=0,l=!1;function c(e){return t["_"+e]}var d,h,v,b,g,w,m,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function p(e,r,n){for(var t=r+n,i=r;e[i]&&!(i>=t);)++i;if(i-r>16&&e.subarray&&k)return k.decode(e.subarray(r,i));for(var o="";r>10,56320|1023&u)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}function C(e,r){return e?p(v,e,r):""}function y(e,r,n,t){if(!(t>0))return 0;for(var i=n,o=n+t-1,a=0;a=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a)),f<=127){if(n>=o)break;r[n++]=f}else if(f<=2047){if(n+1>=o)break;r[n++]=192|f>>6,r[n++]=128|63&f}else if(f<=65535){if(n+2>=o)break;r[n++]=224|f>>12,r[n++]=128|f>>6&63,r[n++]=128|63&f}else{if(n+3>=o)break;r[n++]=240|f>>18,r[n++]=128|f>>12&63,r[n++]=128|f>>6&63,r[n++]=128|63&f}}return r[n]=0,n-i}function I(e,r){return e%r>0&&(e+=r-e%r),e}function E(){t.HEAP8=h=new Int8Array(d),t.HEAP16=b=new Int16Array(d),t.HEAP32=g=new Int32Array(d),t.HEAPU8=v=new Uint8Array(d),t.HEAPU16=new Uint16Array(d),t.HEAPU32=w=new Uint32Array(d),t.HEAPF32=m=new Float32Array(d),t.HEAPF64=new Float64Array(d)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var D=t.TOTAL_MEMORY||67108864;function L(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?t.dynCall_v(n):t.dynCall_vi(n,r.arg):n(void 0===r.arg?null:r.arg)}else r()}}D<5242880&&A("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+D+"! (TOTAL_STACK=5242880)"),d=t.buffer?t.buffer:new ArrayBuffer(D),E(),g[2700]=5253936;var x=[],S=[],_=[],B=[],M=!1;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var n=65535&e,t=65535&r;return n*t+((e>>>16)*t+n*(r>>>16)<<16)|0}),Math.clz32||(Math.clz32=function(e){var r=32,n=e>>16;return n&&(r-=16,e=n),(n=e>>8)&&(r-=8,e=n),(n=e>>4)&&(r-=4,e=n),(n=e>>2)&&(r-=2,e=n),(n=e>>1)?r-2:r-e}),Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)});var F=Math.abs,P=Math.ceil,R=Math.floor,T=Math.min,G=0,O=null,q=null;function U(e){G++,t.monitorRunDependencies&&t.monitorRunDependencies(G)}function Y(e){if(G--,t.monitorRunDependencies&&t.monitorRunDependencies(G),0==G&&(null!==O&&(clearInterval(O),O=null),q)){var r=q;q=null,r()}}t.preloadedImages={},t.preloadedAudios={};var z=null,W="data:application/octet-stream;base64,";function X(e){return String.prototype.startsWith?e.startsWith(W):0===e.indexOf(W)}function Q(r,n){if(j.mainLoop.timingMode=r,j.mainLoop.timingValue=n,!j.mainLoop.func)return 1;if(0==r)j.mainLoop.scheduler=function(){var e=0|Math.max(0,j.mainLoop.tickStartTime+n-N());setTimeout(j.mainLoop.runner,e)},j.mainLoop.method="timeout";else if(1==r)j.mainLoop.scheduler=function(){j.requestAnimationFrame(j.mainLoop.runner)},j.mainLoop.method="rAF";else if(2==r){if(void 0===e){var i=[];addEventListener("message",function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),i.shift()())},!0),e=function(e){i.push(e),o?(void 0===t.setImmediates&&(t.setImmediates=[]),t.setImmediates.push(e),postMessage({target:"setimmediate"})):postMessage("setimmediate","*")}}j.mainLoop.scheduler=function(){e(j.mainLoop.runner)},j.mainLoop.method="immediate"}return 0}function N(){ke()}function V(e,r,n,i,o){var a;t.noExitRuntime=!0,j.mainLoop.func=e,j.mainLoop.arg=i,a=void 0!==i?function(){t.dynCall_vi(e,i)}:function(){t.dynCall_v(e)};var f=j.mainLoop.currentlyRunningMainloop;if(j.mainLoop.runner=function(){if(!l)if(j.mainLoop.queue.length>0){var e=Date.now(),r=j.mainLoop.queue.shift();if(r.func(r.arg),j.mainLoop.remainingBlockers){var n=j.mainLoop.remainingBlockers,i=n%1==0?n-1:Math.floor(n);r.counted?j.mainLoop.remainingBlockers=i:(i+=.5,j.mainLoop.remainingBlockers=(8*n+i)/9)}if(console.log('main loop blocker "'+r.name+'" took '+(Date.now()-e)+" ms"),j.mainLoop.updateStatus(),f1&&j.mainLoop.currentFrameNumber%j.mainLoop.timingValue!=0?j.mainLoop.scheduler():(0==j.mainLoop.timingMode&&(j.mainLoop.tickStartTime=N()),"timeout"===j.mainLoop.method&&t.ctx&&(A("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),j.mainLoop.method=""),j.mainLoop.runIter(a),f0?Q(0,1e3/r):Q(1,1),j.mainLoop.scheduler()),n)throw"SimulateInfiniteLoop"}z="data:application/octet-stream;base64,AAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f38AAAAAAAAAAPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AGAcXGSgGJykWGiYqOAU3ORUbNjolK0gER0kUHDU7RkokLFhFSzQ8A1dZEx1WWiMtRExVWzM9aAJnaRIeZmoiLlRcQ01lazI+eAF3eVNdER9kbEJOdnohL3V7MT9jbVJeAHR8QU8QIGJuMHN9UV9Acn5hb1Bxf2BwAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8AAAAAAAAAAAAAAAAAiguMC44LkguaC6oLygsKDIwMjA2MD4wTAAAAAAAAAAAREgABAgMEBRAGBwgJCgsMDQ4PAAAAAAAAAAAAAAAAADBS4Q2GGLMDy6xfd2piiBxVXDhoKLizFPj+hUpLuN1Jl/P8ZIkCVVwAAClK2sF+Dau3QFl9V5JUcsoZTmmM0zhl7gEMX3WhMlL2N1QyLLtasVeqD+cz9XPa7l9o4sxjdYMOmW7tpzBHxtnATzwVa0n6AxRPDPsaVDILmXMcy9cmBjfMb9h3uywqL3Z13cwlZGFUsyQVh30KqBQEIme/HhSDFbRW4wLlc2+xykRCTSYo+666c+3rUAr7tmodC9Q6DWg72zWDHggrlWvOd/DlgVG8O4V4lJSfADzt5ScAAAAAAAAEAAgADACAAIQAiACMAAABBAEIAQwBgAGEAYgBjAHneDBZc3F4mHCYs0B+qnYuRl+vRY9QVVJIm2c4Ogqr2r0RDZhyGhGjLMMVCq15GFDDGj4sQFWQRwomq9WQIhqqLjcTiKAhzkc/FAhyctAMCeJRKAtgtlQdECSGt1mJYmVqpZRIu2SCnW8gS1BCZqdjSj4o6oApNQmy8Y0aCGtKKxqSSaYxF51BJmmgMzQfc4BoTwwb2f9XEQdXREcscjMPuhcvKQ5utrcVEcJCLRlmxb0XEhZYWJOWKi4txM0rYbd1VSYjsz0nNchXGhUr6Ks4IjNocmYdXU0nHFWrOqVaYkAiFnTOFyIrpklrNiAaMwFRKx9EGWoWQKsk4XIiExVmhLwQTHw+Ek5fVTkyMDPBZSOf129ZLm88lB+s2+QVEm9wcU1Vs/8meHIoKgHE9dEKGW1YKx2MptUlK5o9Px6bQy1EAdFkUAgrmgEzGkeOTk4Q/4AixaspKAVm07cEAd0zMhGo0cAXGVKKHySrG6YmLOVDVzqpUnMaO7M/O1q0O6ZdSZooKBV0j9EiJ68vDxC3It8xLbcuESG3BmIPILc5LhYYgAE2ESVBIElzHIAXgM0oAwlzM8ASBt9XJQlzO01AFS9oNyzaCTY1guJAWkbNKCkXGjk2OXC4BSkmptUeIhqFmHQKIIYnEzXdGnIgSf8fCUHqAg8BdklLIAwzwP+gKzNYHyNDZlU3ulU4FRdvO80tJcA3JkZ8SWYBImJ9YipYaFV1r1JfVDVZgGRxZS1LT3svM4BRqwE5EQVHZjk1KTEmIQ15OUkaAVUpCkOKTW5aL3JzFQIKZv+mFwZlHRAKVYBlxBo5EgpmZtUiFCt1FA8ko4BEARpmPUclIjUf88BFPEcmSXcc3iVELYAiAS8L9as+ERNGklU3PkYlKyWaZKNVoAE/CVyIHEAgyVVLDwkJQP+4dxBWBhwFQP8Z+AE4CBGEif83dIA6DxRShzkaeSikMh+JmoUZI9ozZyyDg3sfBp5WKECHlOAtt4AWGhGD8JoOAdEtEBVbQN4HAcU4FSebPIoXZtVTDA02wP9ELxxVGlVVgIAgkqsSCwc/kKsEBPYjGwqSrqsMGoC+UCNjtFB+Ni1Vfi9XsDMpFCBlS4CLdpJ0gFU4KQ+w7FUlCT5HHhF3dv8REoplJjyKN0YrGo6SJBMeq/9hGxSKLT0+2wFRvEAgKRR1l44UFaNwEww9w4AwBBgAAAAAAAAAAAAAAAAAAf8C/gMEBv0F/Pv6B/kI+PcAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////7D2////////////3/H8///////////5/f3////////////0/P//////////6v7+///////////9///////////////2/v//////////7/3+///////////+//7////////////4/v//////////+//+///////////////////////////9/v//////////+/7+///////////+//7////////////+/f/+////////+v/+//7////////+/////////////////////////////////////////////////////////9n/////////////4fzx/f///v/////q+vH6/f/9/v/////+////////////3/7+///////////u/f7+///////////4/v//////////+f7////////////////////////////9////////////9/7////////////////////////////9/v///////////P/////////////////////////////+/v///////////f/////////////////////////////+/f//////////+v/////////////+/////////////////////////////////////////////////////////7r7+v//////////6vv0/v/////////7+/P9/v/+///////9/v//////////7P3+///////////7/f3+/v/////////+/v///////////v7+///////////////////////////+/////////////v7////////////+/////////////////////////////v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j/////////////+v78/v/////////4/vn9///////////9/f//////////9v39///////////8/vv+/v/////////+/P//////////+P79///////////9//7+///////////7/v//////////9fv+///////////9/f7////////////7/f///////////P3+/////////////v/////////////8////////////+f/+//////////////7//////////////f//////////+v///////////////////////////////////////////v///////////////////////////4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP2I/v/k24CAgICAvYHy/+PV/9uAgIBqfuP81tH//4CAgAFi+P/s4v//gICAtYXu/t3q/5qAgIBOhsr3xrT/24CAgAG5+f/z/4CAgICAuJb3/+zggICAgIBNbtj/7OaAgICAgAFl+//x/4CAgICAqovx/OzR//+AgIAldMTz5P///4CAgAHM/v/1/4CAgICAz6D6/+6AgICAgIBmZ+f/06uAgICAgAGY/P/w/4CAgICAsYfz/+rhgICAgIBQgdP/wuCAgICAgAEB/4CAgICAgICA9gH/gICAgICAgID/gICAgICAgICAgMYj7d/Bu6KgkZs+gy3G3ayw3J383QFEL5LQlafdov/fgAGV8f/d4P//gICAuI3q/d7c/8eAgIBRY7XysL75yv//gAGB6P3WxfLE//+AY3nS+snG/8qAgIAXW6Pyqrv30v//gAHI9v/q/4CAgICAbbLx/+f1//+AgIAsgsn9zcD//4CAgAGE7/vb0f+lgICAXojh+9q+//+AgIAWZK71uqH/x4CAgAG2+f/o64CAgICAfI/x/+PqgICAgIAjTbX7wdP/zYCAgAGd9//s5///gICAeY3r/+Hj//+AgIAtY7z7w9n/4ICAgAEB+//V/4CAgICAywH4//+AgICAgICJAbH/4P+AgICAgP0J+PvP0P/AgICArw3g88G5+cb//4BJEavdobPsp//qgAFf9/3Ut///gICA71r0+tPR//+AgICbTcP4vMP//4CAgAEY7/va2//NgICAyTPb/8S6gICAgIBFLr7vydr/5ICAgAG/+///gICAgICA36X5/9X/gICAgICNfPj//4CAgICAgAEQ+P//gICAgICAviTm/+z/gICAgICVAf+AgICAgICAgAHi/4CAgICAgICA98D/gICAgICAgIDwgP+AgICAgICAgAGG/P//gICAgICA1T76//+AgICAgIA3Xf+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMoY1eu6v9yg8K//fia26Km45K7/u4A9Lorbl7Lwqv/YgAFw5vrHv/ef//+Apm3k/NPX/66AgIAnTaLorLT1sv//gAE03PbGx/nc//+AfEq/87fB+t3//4AYR4Lbmqrztv//gAG24fnb8P/ggICAlZbi/NjN/6uAgIAcbKryt8L+3///gAFR5vzMy//AgICAe2bR97zE/+mAgIAUX5nzpK3/y4CAgAHe+P/Y1YCAgICAqK/2/OvN//+AgIAvdNf/09T//4CAgAF57P3U1v//gICAjVTV/MnK/9uAgIAqUKDworn/zYCAgAEB/4CAgICAgICA9AH/gICAgICAgIDuAf+AgICAgICAgAQFBgcICQoKCwwNDg8QERESExQUFRUWFhcXGBkZGhscHR4fICEiIyQlJSYnKCkqKywtLi4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xMTU5PUFFSU1RVVldYWVtdX2BiZGVmaGpsbnBydHZ6fH6AgoSGiIqMj5GUl5qdBAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA8AD4AQABCAEQARgBIAEoATABOAFAAUgBUAFYAWABaAFwAXgBgAGIAZABmAGgAagBsAG4AcAByAHQAdwB6AH0AgACDAIYAiQCMAI8AkgCVAJgAmwCeAKEApACnAKoArQCxALUAuQC9AMEAxQDJAM0A0QDVANkA3QDhAOUA6gDvAPUA+QD+AAMBCAENARIBFwEcAQABBAgFAgMGCQwNCgcLDg+pIwAArSMAALIjAAC4IwAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGDAQAAIAIAAD/CQAA/wwAALAfAAC0HwAAuB8AALwfAADAHwAAxB8AAMgfAAABAAAAAQAAAAIAAAACAAAAAwAAAAQAAADkHwAA6B8AAPAfAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABQqAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExpYnJhcnkgdmVyc2lvbiBtaXNtYXRjaCEKAFVuYWJsZSB0byBzZXQgdmlkZW8gbW9kZSAoMzJicHAgJWR4JWQpIQoAVW5hYmxlIHRvIGNyZWF0ZSAlZHglZCBSR0JBIHN1cmZhY2UhCgBFcnJvciBkZWNvZGluZyBpbWFnZSAoJWQpCgACAwcDAwsDBAMEBAICBAQEAgEBCAcGBAQCAgIBAQEBAAIIQ291bGQgbm90IGRlY29kZSBhbHBoYSBkYXRhLgBGcmFtZSBzZXR1cCBmYWlsZWQAdGhyZWFkIGluaXRpYWxpemF0aW9uIGZhaWxlZC4Abm8gbWVtb3J5IGR1cmluZyBmcmFtZSBpbml0aWFsaXphdGlvbi4AUklGRgBXRUJQAFZQOFgAQUxQSABWUDggAFZQOEwAT0sAbnVsbCBWUDhJbyBwYXNzZWQgdG8gVlA4R2V0SGVhZGVycygpAFRydW5jYXRlZCBoZWFkZXIuAEluY29ycmVjdCBrZXlmcmFtZSBwYXJhbWV0ZXJzLgBGcmFtZSBub3QgZGlzcGxheWFibGUuAGNhbm5vdCBwYXJzZSBwaWN0dXJlIGhlYWRlcgBCYWQgY29kZSB3b3JkAGJhZCBwYXJ0aXRpb24gbGVuZ3RoAGNhbm5vdCBwYXJzZSBzZWdtZW50IGhlYWRlcgBjYW5ub3QgcGFyc2UgZmlsdGVyIGhlYWRlcgBjYW5ub3QgcGFyc2UgcGFydGl0aW9ucwBOb3QgYSBrZXkgZnJhbWUuAK2UjACwm4yHALSdjYaCAP7+8+bEsZmMhYKBAE5VTEwgVlA4SW8gcGFyYW1ldGVyIGluIFZQOERlY29kZSgpLgBQcmVtYXR1cmUgZW5kLW9mLXBhcnRpdGlvbjAgZW5jb3VudGVyZWQuAFByZW1hdHVyZSBlbmQtb2YtZmlsZSBlbmNvdW50ZXJlZC4AT3V0cHV0IGFib3J0ZWQuAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu";var j={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){j.mainLoop.scheduler=null,j.mainLoop.currentlyRunningMainloop++},resume:function(){j.mainLoop.currentlyRunningMainloop++;var e=j.mainLoop.timingMode,r=j.mainLoop.timingValue,n=j.mainLoop.func;j.mainLoop.func=null,V(n,0,!1,j.mainLoop.arg,!0),Q(e,r),j.mainLoop.scheduler()},updateStatus:function(){if(t.setStatus){var e=t.statusMessage||"Please wait...",r=j.mainLoop.remainingBlockers,n=j.mainLoop.expectedBlockers;r?r=6;){var a=t>>i-6&63;i-=6,n+=r[a]}return 2==i?(n+=r[(3&t)<<4],n+="=="):4==i&&(n+=r[(15&t)<<2],n+="="),n}(e),f(l))},l.src=s,j.safeSetTimeout(function(){f(l)},1e4)}};t.preloadPlugins.push(n);var i=t.canvas;i&&(i.requestPointerLock=i.requestPointerLock||i.mozRequestPointerLock||i.webkitRequestPointerLock||i.msRequestPointerLock||function(){},i.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},i.exitPointerLock=i.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),document.addEventListener("webkitpointerlockchange",o,!1),document.addEventListener("mspointerlockchange",o,!1),t.elementPointerLock&&i.addEventListener("click",function(e){!j.pointerLock&&t.canvas.requestPointerLock&&(t.canvas.requestPointerLock(),e.preventDefault())},!1))}function o(){j.pointerLock=document.pointerLockElement===t.canvas||document.mozPointerLockElement===t.canvas||document.webkitPointerLockElement===t.canvas||document.msPointerLockElement===t.canvas}},createContext:function(e,r,n,i){if(r&&t.ctx&&e==t.canvas)return t.ctx;var o,a;if(r){var f={antialias:!1,alpha:!1,majorVersion:1};if(i)for(var A in i)f[A]=i[A];void 0!==$&&(a=$.createContext(e,f))&&(o=$.getContext(a).GLctx)}else o=e.getContext("2d");return o?(n&&(t.ctx=o,r&&$.makeContextCurrent(a),t.useWebGL=r,j.moduleContextCreatedCallbacks.forEach(function(e){e()}),j.init()),o):null},destroyContext:function(e,r,n){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,r,n){j.lockPointer=e,j.resizeCanvas=r,j.vrDevice=n,void 0===j.lockPointer&&(j.lockPointer=!0),void 0===j.resizeCanvas&&(j.resizeCanvas=!1),void 0===j.vrDevice&&(j.vrDevice=null);var i=t.canvas;function o(){j.isFullscreen=!1;var e=i.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.exitFullscreen=j.exitFullscreen,j.lockPointer&&i.requestPointerLock(),j.isFullscreen=!0,j.resizeCanvas?j.setFullscreenCanvasSize():j.updateCanvasDimensions(i)):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),j.resizeCanvas?j.setWindowedCanvasSize():j.updateCanvasDimensions(i)),t.onFullScreen&&t.onFullScreen(j.isFullscreen),t.onFullscreen&&t.onFullscreen(j.isFullscreen)}j.fullscreenHandlersInstalled||(j.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var a=document.createElement("div");i.parentNode.insertBefore(a,i),a.appendChild(i),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?function(){a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(a.webkitRequestFullScreen?function(){a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n?a.requestFullscreen({vrDisplay:n}):a.requestFullscreen()},requestFullScreen:function(e,r,n){return A("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),j.requestFullScreen=function(e,r,n){return j.requestFullscreen(e,r,n)},j.requestFullscreen(e,r,n)},exitFullscreen:function(){return!!j.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===j.nextRAF)j.nextRAF=r+1e3/60;else for(;r+2>=j.nextRAF;)j.nextRAF+=1e3/60;var n=Math.max(j.nextRAF-r,0);setTimeout(e,n)},requestAnimationFrame:function(e){"undefined"==typeof window?j.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||j.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!l)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){j.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(j.allowAsyncCallbacks=!0,j.queuedAsyncCallbacks.length>0){var e=j.queuedAsyncCallbacks;j.queuedAsyncCallbacks=[],e.forEach(function(e){e()})}},safeRequestAnimationFrame:function(e){return j.requestAnimationFrame(function(){l||(j.allowAsyncCallbacks?e():j.queuedAsyncCallbacks.push(e))})},safeSetTimeout:function(e,r){return t.noExitRuntime=!0,setTimeout(function(){l||(j.allowAsyncCallbacks?e():j.queuedAsyncCallbacks.push(e))},r)},safeSetInterval:function(e,r){return t.noExitRuntime=!0,setInterval(function(){l||j.allowAsyncCallbacks&&e()},r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(j.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?j.mouseMovementX=j.mouseMovementY=0:(j.mouseMovementX=j.getMovementX(e),j.mouseMovementY=j.getMovementY(e)),void 0!==J?(j.mouseX=J.mouseX+j.mouseMovementX,j.mouseY=J.mouseY+j.mouseMovementY):(j.mouseX+=j.mouseMovementX,j.mouseY+=j.mouseMovementY);else{var r=t.canvas.getBoundingClientRect(),n=t.canvas.width,i=t.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var f=e.touch;if(void 0===f)return;var A=f.pageX-(o+r.left),u=f.pageY-(a+r.top),s={x:A*=n/r.width,y:u*=i/r.height};if("touchstart"===e.type)j.lastTouches[f.identifier]=s,j.touches[f.identifier]=s;else if("touchend"===e.type||"touchmove"===e.type){var l=j.touches[f.identifier];l||(l=s),j.lastTouches[f.identifier]=l,j.touches[f.identifier]=s}return}var c=e.pageX-(o+r.left),d=e.pageY-(a+r.top);c*=n/r.width,d*=i/r.height,j.mouseMovementX=c-j.mouseX,j.mouseMovementY=d-j.mouseY,j.mouseX=c,j.mouseY=d}},asyncLoad:function(e,r,n,i){var o=i?"":"al "+e;t.readAsync(e,function(e){r(new Uint8Array(e)),o&&Y()},function(r){if(!n)throw'Loading data file "'+e+'" failed.';n()}),o&&U()},resizeListeners:[],updateResizeListeners:function(){var e=t.canvas;j.resizeListeners.forEach(function(r){r(e.width,e.height)})},setCanvasSize:function(e,r,n){var i=t.canvas;j.updateCanvasDimensions(i,e,r),n||j.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(void 0!==J){var e=w[J.screen>>2];e|=8388608,g[J.screen>>2]=e}j.updateCanvasDimensions(t.canvas),j.updateResizeListeners()},setWindowedCanvasSize:function(){if(void 0!==J){var e=w[J.screen>>2];e&=-8388609,g[J.screen>>2]=e}j.updateCanvasDimensions(t.canvas),j.updateResizeListeners()},updateCanvasDimensions:function(e,r,n){r&&n?(e.widthNative=r,e.heightNative=n):(r=e.widthNative,n=e.heightNative);var i=r,o=n;if(t.forcedAspectRatio&&t.forcedAspectRatio>0&&(i/o1)return 0;if(r.buffer||(r.buffer=Ae(r.width*r.height*4),g[e+20>>2]=r.buffer),g[e+20>>2]=r.buffer,e==J.screen&&t.screenIsReadOnly&&r.image)return 0;if(J.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!J.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==J.screen&&J.defaults.opaqueFrontBuffer)for(var n=r.image.data,i=n.length,o=0;o>2],y:g[e+4>>2],w:g[e+8>>2],h:g[e+12>>2]}},updateRect:function(e,r){g[e>>2]=r.x,g[e+4>>2]=r.y,g[e+8>>2]=r.w,g[e+12>>2]=r.h},intersectionOfRects:function(e,r){var n=Math.max(e.x,r.x),t=Math.max(e.y,r.y),i=Math.min(e.x+e.w,r.x+r.w),o=Math.min(e.y+e.h,r.y+r.h);return{x:n,y:t,w:Math.max(n,i)-n,h:Math.max(t,o)-t}},checkPixelFormat:function(e){},loadColorToCSSRGB:function(e){var r=g[e>>2];return"rgb("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA:function(e){var r=g[e>>2];return"rgba("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:function(e){return"rgba("+(255&e)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")"},translateRGBAToCSSRGBA:function(e,r,n,t){return"rgba("+(255&e)+","+(255&r)+","+(255&n)+","+(255&t)/255+")"},translateRGBAToColor:function(e,r,n,t){return e|r<<8|n<<16|t<<24},makeSurface:function(e,r,n,i,o,a,f,A,u){var s,l=1&(n=n||0),c=2097152&n,d=67108864&n,v=Ae(60),b=Ae(44),w=c?1:4,m=0;l||d||(m=Ae(e*r*4)),g[v>>2]=n,g[v+4>>2]=b,g[v+8>>2]=e,g[v+12>>2]=r,g[v+16>>2]=e*w,g[v+20>>2]=m,g[v+36>>2]=0,g[v+40>>2]=0,g[v+44>>2]=t.canvas.width,g[v+48>>2]=t.canvas.height,g[v+56>>2]=1,g[b>>2]=-2042224636,g[b+4>>2]=0,h[b+8>>0]=8*w,h[b+9>>0]=w,g[b+12>>2]=a||255,g[b+16>>2]=f||65280,g[b+20>>2]=A||16711680,g[b+24>>2]=u||4278190080,J.GL=J.GL||d,i?s=t.canvas:((s=J.canvasPool.length>0?J.canvasPool.pop():document.createElement("canvas")).width=e,s.height=r);var k={antialias:0!=J.glAttributes[13]&&J.glAttributes[14]>1,depth:J.glAttributes[6]>0,stencil:J.glAttributes[7]>0,alpha:J.glAttributes[3]>0},p=j.createContext(s,d,i,k);return J.surfaces[v]={width:e,height:r,canvas:s,ctx:p,surf:v,buffer:m,pixelFormat:b,alpha:255,flags:n,locked:0,usePageCanvas:i,source:o,isFlagSet:function(e){return n&e}},v},copyIndexedColorData:function(e,r,n,i,o){if(e.colors){var a=t.canvas.width,f=t.canvas.height,A=r||0,u=n||0,s=(i||a-A)+A,l=(o||f-u)+u,c=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var d=e.image.data32,h=e.colors32,b=u;b>0]]}},freeSurface:function(e){var r=e+56,n=g[r>>2];if(n>1)g[r>>2]=n-1;else{var t=J.surfaces[e];!t.usePageCanvas&&t.canvas&&J.canvasPool.push(t.canvas),t.buffer&&fe(t.buffer),fe(t.pixelFormat),fe(e),J.surfaces[e]=null,e===J.screen&&(J.screen=null)}},blitSurface:function(e,r,n,t,i){var o,a,f,A,s=J.surfaces[e],l=J.surfaces[n];if(o=r?J.loadRect(r):{x:0,y:0,w:s.width,h:s.height},a=t?J.loadRect(t):{x:0,y:0,w:s.width,h:s.height},l.clipRect){var c=i&&0!==o.w?o.w/a.w:1,d=i&&0!==o.h?o.h/a.h:1;a=J.intersectionOfRects(l.clipRect,a),o.w=a.w*c,o.h=a.h*d,t&&J.updateRect(t,a)}if(i?(f=a.w,A=a.h):(f=o.w,A=o.h),0===o.w||0===o.h||0===f||0===A)return 0;var h=l.ctx.globalAlpha;return l.ctx.globalAlpha=s.alpha/255,l.ctx.drawImage(s.canvas,o.x,o.y,o.w,o.h,a.x,a.y,f,A),l.ctx.globalAlpha=h,n!=J.screen&&(u("WARNING: copying canvas data to memory for compatibility"),Z(n),l.locked--),0},downFingers:{},savedKeydown:null,receiveEvent:function(e){function r(){for(var e in J.keyboardMap)J.events.push({type:"keyup",keyCode:J.keyboardMap[e]})}switch(e.type){case"touchstart":case"touchmove":e.preventDefault();var n=[];if("touchstart"===e.type)for(var i=0;i0?Math.max(s,1):Math.min(s,-1))>0?3:4;J.events.push({type:"mousedown",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"mouseup",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"wheel",deltaX:0,deltaY:s}),e.preventDefault();break;case"mousemove":if(1===J.DOMButtons[0]&&J.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),j.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),0==e.movementX&&0==e.movementY))return void e.preventDefault();case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if("keydown"===e.type&&(J.unicode||J.textInput)&&8!==e.keyCode&&9!==e.keyCode||e.preventDefault(),"mousedown"==e.type)J.DOMButtons[e.button]=1,J.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if("mouseup"==e.type){if(!J.DOMButtons[e.button])return;J.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),J.DOMButtons[e.button]=0}"keydown"===e.type||"mousedown"===e.type?J.canRequestFullscreen=!0:"keyup"!==e.type&&"mouseup"!==e.type||(J.isRequestingFullscreen&&(t.requestFullscreen(!0,!0),J.isRequestingFullscreen=!1),J.canRequestFullscreen=!1),"keypress"===e.type&&J.savedKeydown?(J.savedKeydown.keypressCharCode=e.charCode,J.savedKeydown=null):"keydown"===e.type&&(J.savedKeydown=e),("keypress"!==e.type||J.textInput)&&J.events.push(e);break;case"mouseout":for(i=0;i<3;i++)J.DOMButtons[i]&&(J.events.push({type:"mouseup",button:i,pageX:e.pageX,pageY:e.pageY}),J.DOMButtons[i]=0);e.preventDefault();break;case"focus":J.events.push(e),e.preventDefault();break;case"blur":J.events.push(e),r(),e.preventDefault();break;case"visibilitychange":J.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":return void(j.mainLoop.runner&&(J.events.push(e),j.mainLoop.runner()));case"resize":J.events.push(e),e.preventDefault&&e.preventDefault()}J.events.length>=1e4&&(A("SDL event queue full, dropping events"),J.events=J.events.slice(0,1e4)),J.flushEventsToHandler()},lookupKeyCodeForEvent:function(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=J.keyCodes[e.keyCode]||e.keyCode,e.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent:function(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":j.calculateMouseEvent(e);break;case"keydown":case"keyup":var r="keydown"===e.type,n=J.lookupKeyCodeForEvent(e);h[J.keyboardState+n>>0]=r,J.modState=(h[J.keyboardState+1248>>0]?64:0)|(h[J.keyboardState+1249>>0]?1:0)|(h[J.keyboardState+1250>>0]?256:0)|(h[J.keyboardState+1252>>0]?128:0)|(h[J.keyboardState+1253>>0]?2:0)|(h[J.keyboardState+1254>>0]?512:0),r?J.keyboardMap[n]=e.keyCode:delete J.keyboardMap[n];break;case"mousedown":case"mouseup":"mousedown"==e.type?J.buttonState|=1<0;)if(!1!==J.makeCEvent(J.events.shift(),e))return 1;return 0}return J.events.length>0},makeCEvent:function(e,r){if("number"==typeof e)return ue(r,e,28),void fe(e);switch(J.handleEvent(e),e.type){case"keydown":case"keyup":var n,i="keydown"===e.type,o=J.lookupKeyCodeForEvent(e);n=o>=1024?o-1024:J.scanCodes[o]||o,g[r>>2]=J.DOMEventToSDLEvent[e.type],h[r+8>>0]=i?1:0,h[r+9>>0]=0,g[r+12>>2]=n,g[r+16>>2]=o,b[r+20>>1]=J.modState,g[r+24>>2]=e.keypressCharCode||o;break;case"keypress":g[r>>2]=J.DOMEventToSDLEvent[e.type];for(var a=(p=String.fromCharCode(e.charCode),void 0,void 0,I=void 0,void 0,C=void 0>0?void 0:function(e){for(var r=0,n=0;n=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++n)),t<=127?++r:r+=t<=2047?2:t<=65535?3:4}return r}(p)+1,y(p,I=new Array(C),0,I.length),I),f=0;f>0]=a[f];break;case"mousedown":case"mouseup":case"mousemove":"mousemove"!=e.type?(i="mousedown"===e.type,g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,g[r+8>>2]=0,g[r+12>>2]=0,h[r+16>>0]=e.button+1,h[r+17>>0]=i?1:0,g[r+20>>2]=j.mouseX,g[r+24>>2]=j.mouseY):(g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,g[r+8>>2]=0,g[r+12>>2]=0,g[r+16>>2]=J.buttonState,g[r+20>>2]=j.mouseX,g[r+24>>2]=j.mouseY,g[r+28>>2]=j.mouseMovementX,g[r+32>>2]=j.mouseMovementY);break;case"wheel":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+16>>2]=e.deltaX,g[r+20>>2]=e.deltaY;break;case"touchstart":case"touchend":case"touchmove":var A=e.touch;if(!j.touches[A.identifier])break;var u=t.canvas.width,s=t.canvas.height,l=j.touches[A.identifier].x/u,c=j.touches[A.identifier].y/s,d=l-j.lastTouches[A.identifier].x/u,v=c-j.lastTouches[A.identifier].y/s;if(void 0===A.deviceID&&(A.deviceID=J.TOUCH_DEFAULT_ID),0===d&&0===v&&"touchmove"===e.type)return!1;g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=H(),tempI64=[A.deviceID>>>0,(tempDouble=A.deviceID,+F(tempDouble)>=1?tempDouble>0?(0|T(+R(tempDouble/4294967296),4294967295))>>>0:~~+P((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],g[r+8>>2]=tempI64[0],g[r+12>>2]=tempI64[1],tempI64=[A.identifier>>>0,(tempDouble=A.identifier,+F(tempDouble)>=1?tempDouble>0?(0|T(+R(tempDouble/4294967296),4294967295))>>>0:~~+P((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],g[r+16>>2]=tempI64[0],g[r+20>>2]=tempI64[1],m[r+24>>2]=l,m[r+28>>2]=c,m[r+32>>2]=d,m[r+36>>2]=v,void 0!==A.force?m[r+40>>2]=A.force:m[r+40>>2]="touchend"==e.type?0:1;break;case"unload":g[r>>2]=J.DOMEventToSDLEvent[e.type];break;case"resize":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=e.w,g[r+8>>2]=e.h;break;case"joystick_button_up":case"joystick_button_down":var w="joystick_button_up"===e.type?0:1;g[r>>2]=J.DOMEventToSDLEvent[e.type],h[r+4>>0]=e.index,h[r+5>>0]=e.button,h[r+6>>0]=w;break;case"joystick_axis_motion":g[r>>2]=J.DOMEventToSDLEvent[e.type],h[r+4>>0]=e.index,h[r+5>>0]=e.axis,g[r+8>>2]=J.joystickAxisValueConversion(e.value);break;case"focus":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,h[r+8>>0]=12;break;case"blur":g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,h[r+8>>0]=13;break;case"visibilitychange":var k=e.visible?1:2;g[r>>2]=J.DOMEventToSDLEvent[e.type],g[r+4>>2]=0,h[r+8>>0]=k;break;default:throw"Unhandled SDL event: "+e.type}var p,C,I},makeFontString:function(e,r){return"'"!=r.charAt(0)&&'"'!=r.charAt(0)&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth:function(e,r){var n=e.size,t=J.makeFontString(n,e.name),i=J.ttfContext;i.save(),i.font=t;var o=0|i.measureText(r).width;return i.restore(),o},allocateChannels:function(e){if(!(J.numChannels&&J.numChannels>=e&&0!=e)){J.numChannels=e,J.channels=[];for(var r=0;r>1]/32768;else if(8==J.audio.format)for(a=0;a>0];o[a]=(f>=0?f-128:f+128)/128}else{if(33056!=J.audio.format)throw"Invalid SDL audio format "+J.audio.format+"!";for(a=0;a>2]}}},debugSurface:function(e){console.log("dumping surface "+[e.surf,e.source,e.width,e.height]);for(var r=e.ctx.getImageData(0,0,e.width,e.height).data,n=Math.min(e.width,e.height),t=0;t0},queryJoysticks:function(){for(var e in J.lastJoystickState){var r=J.getGamepad(e-1),n=J.lastJoystickState[e];if(void 0===r)return;if(null===r)return;if("number"!=typeof r.timestamp||r.timestamp!==n.timestamp||!r.timestamp){var t;for(t=0;te&&e>=0?r[e]:null}},$={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){$.miniTempBuffer=new Float32Array($.MINI_TEMP_BUFFER_SIZE);for(var e=0;e<$.MINI_TEMP_BUFFER_SIZE;e++)$.miniTempBufferViews[e]=$.miniTempBuffer.subarray(0,e+1)},recordError:function(e){$.lastError||($.lastError=e)},getNewId:function(e){for(var r=$.counter++,n=e.length;n>2]:-1;i+=C(g[n+4*o>>2],a<0?void 0:a)}return i},createContext:function(e,r){var n=e.getContext("webgl",r)||e.getContext("experimental-webgl",r);return n&&$.registerContext(n,r)},registerContext:function(e,n){var t=Ae(8),i={handle:t,attributes:n,version:n.majorVersion,GLctx:e};return i.cannotHandleOffsetsInUniformArrayViews=function(e){function n(r,n){var t=e.createShader(n);return e.shaderSource(t,r),e.compileShader(t),t}try{var t=e.createProgram();e.attachShader(t,n("attribute vec4 p;void main(){gl_Position=p;}",e.VERTEX_SHADER)),e.attachShader(t,n("precision lowp float;uniform vec4 u;void main(){gl_FragColor=u;}",e.FRAGMENT_SHADER)),e.linkProgram(t);var i=new Float32Array(8);i[4]=1,e.useProgram(t);var o=e.getUniformLocation(t,"u");return e.uniform4fv(o,i.subarray(4,8)),!e.getUniform(t,o)[0]}catch(r){return!1}}(),e.canvas&&(e.canvas.GLctxObject=i),$.contexts[t]=i,(void 0===n.enableExtensionsByDefault||n.enableExtensionsByDefault)&&$.initExtensions(i),t},makeContextCurrent:function(e){return $.currentContext=$.contexts[e],t.ctx=K=$.currentContext&&$.currentContext.GLctx,!(e&&!K)},getContext:function(e){return $.contexts[e]},deleteContext:function(e){$.currentContext===$.contexts[e]&&($.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget($.contexts[e].GLctx.canvas),$.contexts[e]&&$.contexts[e].GLctx.canvas&&($.contexts[e].GLctx.canvas.GLctxObject=void 0),fe($.contexts[e]),$.contexts[e]=null},initExtensions:function(e){if(e||(e=$.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;if(e.version<2){var n=r.getExtension("ANGLE_instanced_arrays");n&&(r.vertexAttribDivisor=function(e,r){n.vertexAttribDivisorANGLE(e,r)},r.drawArraysInstanced=function(e,r,t,i){n.drawArraysInstancedANGLE(e,r,t,i)},r.drawElementsInstanced=function(e,r,t,i,o){n.drawElementsInstancedANGLE(e,r,t,i,o)});var t=r.getExtension("OES_vertex_array_object");t&&(r.createVertexArray=function(){return t.createVertexArrayOES()},r.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},r.bindVertexArray=function(e){t.bindVertexArrayOES(e)},r.isVertexArray=function(e){return t.isVertexArrayOES(e)});var i=r.getExtension("WEBGL_draw_buffers");i&&(r.drawBuffers=function(e,r){i.drawBuffersWEBGL(e,r)})}r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query");var o=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"],a=r.getSupportedExtensions();a&&a.length>0&&r.getSupportedExtensions().forEach(function(e){-1!=o.indexOf(e)&&r.getExtension(e)})}},populateUniformTable:function(e){for(var r=$.programs[e],n=$.programInfos[e]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},t=n.uniforms,i=K.getProgramParameter(r,35718),o=0;o>2]},getStr:function(){return C(ee.get())},get64:function(){var e=ee.get();return ee.get(),e},getZero:function(){ee.get()}};function re(){return h.length}function ne(e){try{var n=new ArrayBuffer(e);if(n.byteLength!=e)return!1;new Int8Array(n).set(h)}catch(r){return!1}return t._emscripten_replace_memory(n),h=new Int8Array(n),b=new Int16Array(n),g=new Int32Array(n),v=new Uint8Array(n),new Uint16Array(n),w=new Uint32Array(n),m=new Float32Array(n),new Float64Array(n),d=n,n}t.requestFullScreen=function(e,r,n){A("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),t.requestFullScreen=t.requestFullscreen,j.requestFullScreen(e,r,n)},t.requestFullscreen=function(e,r,n){j.requestFullscreen(e,r,n)},t.requestAnimationFrame=function(e){j.requestAnimationFrame(e)},t.setCanvasSize=function(e,r,n){j.setCanvasSize(e,r,n)},t.pauseMainLoop=function(){j.mainLoop.pause()},t.resumeMainLoop=function(){j.mainLoop.resume()},t.getUserMedia=function(){j.getUserMedia()},t.createContext=function(e,r,n,t){return j.createContext(e,r,n,t)},N="undefined"!=typeof dateNow?dateNow:"object"==typeof performance&&performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,$.init();var te="function"==typeof atob?atob:function(e){var r,n,t,i,o,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A="",u=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{r=f.indexOf(e.charAt(u++))<<2|(i=f.indexOf(e.charAt(u++)))>>4,n=(15&i)<<4|(o=f.indexOf(e.charAt(u++)))>>2,t=(3&o)<<6|(a=f.indexOf(e.charAt(u++))),A+=String.fromCharCode(r),64!==o&&(A+=String.fromCharCode(n)),64!==a&&(A+=String.fromCharCode(t))}while(u>2]),o[n>>2]=0,o[e+2364>>2]=0,(e=0|o[(n=e+2344|0)>>2])?(Y(0|o[(r=e+20|0)>>2]),o[r>>2]=0,U(e),o[n>>2]=0):o[n>>2]=0}function U(e){Nr(e|=0)}function Y(e){(e|=0)&&(z(e),U(e))}function z(e){var r=0,n=0,t=0;if(e|=0){U(0|o[e+160>>2]),U(0|o[e+172>>2]),W(0|o[e+168>>2]),X(e+124|0),X(e+136|0),n=56+(r=e+120|0)|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|n));if(U(0|o[(r=e+16|0)>>2]),o[r>>2]=0,(0|o[(r=e+176|0)>>2])>0){n=0;do{U(0|o[(t=e+180+(20*n|0)+16|0)>>2]),o[t>>2]=0,n=n+1|0}while((0|n)<(0|o[r>>2]))}o[r>>2]=0,o[e+260>>2]=0,U(0|o[(r=e+264|0)>>2]),o[r>>2]=0,o[e+12>>2]=0}}function W(e){(e|=0)&&U(e)}function X(e){(e|=0)&&(U(0|o[e>>2]),o[e>>2]=0)}function Q(e,r,n,i){e|=0,n|=0,i|=0;var f,A,u,s,c=0,d=0,h=0,b=0,g=0,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0;if(f=0|o[(r|=0)>>2],(0|n)<0|(0|i)<1|(i+n|0)>(0|(u=0|o[(A=r+88|0)>>2])))return 0;s=e+2356|0;e:do{if(!(0|o[s>>2])){d=0|o[(c=e+2344|0)>>2];do{if(d)D=i,L=d,x=16;else{if(h=0|N(1,0,144),o[c>>2]=h,!h)return 0;if(h=0|o[r>>2],h=0|V(g=0|vn(0|(b=0|o[A>>2]),((0|b)<0)<<31>>31|0,0|h,((0|h)<0)<<31>>31|0),0|v(),1),o[e+2360>>2]=h,0|h&&(o[e+2364>>2]=h,o[e+2368>>2]=0,g=0|o[c>>2],m=1+(b=0|o[e+2348>>2])|0,k=(w=0|o[e+2352>>2])-1|0,p=g+24|0,0|o[2034]&&(o[2368]=0,o[2369]=1,o[2370]=2,o[2371]=3,o[2364]=0,o[2365]=1,o[2366]=2,o[2367]=3),o[2034]=0,o[g+136>>2]=h,o[g>>2]=o[r>>2],h=r+4|0,o[(C=g+4|0)>>2]=o[h>>2],w>>>0>=2)&&(w=3&t[b>>0],o[(y=g+8|0)>>2]=255&w,I=0|a[b>>0],o[g+12>>2]=I>>>2&3,E=(I=0|a[b>>0])>>>4&3,o[g+16>>2]=E,(255&w)<=1)&&!(E>>>0>1|(0|a[b>>0])>63)&&(j(p,520),H(0,p),o[g+64>>2]=g,o[p>>2]=o[r>>2],o[g+28>>2]=o[h>>2],o[g+96>>2]=o[r+72>>2],o[g+100>>2]=o[r+76>>2],o[g+104>>2]=o[r+80>>2],o[g+108>>2]=o[r+84>>2],o[g+112>>2]=o[A>>2],0|(0|o[y>>2]?0|Z(g,m,k):k>>>0>=(0|l(0|o[C>>2],0|o[g>>2]))>>>0&1))){if(k=0|o[c>>2],1==(0|o[k+16>>2])){D=u-n|0,L=k,x=16;break}o[e+2372>>2]=0,D=i,L=k,x=16;break}}}while(0);do{if(16==(0|x)){if(d=0|o[L>>2],k=0|o[L+112>>2],0|o[L+8>>2]){if(!(0|K(L,m=D+n|0)))break;S=m}else{if(g=0|o[(m=e+2368|0)>>2],C=0|l(d,n),y=1+(0|o[e+2348>>2])+C|0,p=(h=0|o[e+2364>>2])+C|0,E=(0|D)>0,b=0|o[(C=L+12|0)>>2])if(E){if(B=0|l(d,D+n+-1|0),Yn[31&o[9472+(b<<2)>>2]](g,y,p,d),1!=(0|D)){I=y,_=p,F=1;do{I=I+d|0,P=_,_=_+d|0,Yn[31&o[9472+(o[C>>2]<<2)>>2]](P,I,_,d),F=F+1|0}while((0|F)!=(0|D))}M=h+B|0}else M=g;else if(E){for(w=D+n+-1|0,I=y,_=0,B=p;In(0|B,0|I,0|d),(0|(_=_+1|0))!=(0|D);)I=I+d|0,B=B+d|0;M=h+(0|l(d,w))|0}else M=g;o[m>>2]=M,S=D+n|0}if((0|S)<(0|k)){if(!(0|o[s>>2]))break e}else o[s>>2]=1;if(0|(F=0|o[c>>2])&&(Y(0|o[(d=F+20|0)>>2]),o[d>>2]=0,U(F)),o[c>>2]=0,(0|(F=0|o[e+2372>>2]))<=0)break e;if(d=0|o[r+84>>2],0|J((_=(0|o[e+2364>>2])+(0|l(d,f))|0)+(I=0|o[r+76>>2])|0,(0|o[r+80>>2])-I|0,(0|o[A>>2])-d|0,f,F))break e}}while(0);return U(0|o[(F=e+2360|0)>>2]),o[F>>2]=0,o[e+2364>>2]=0,0|(F=0|o[c>>2])&&(Y(0|o[(d=F+20|0)>>2]),o[d>>2]=0,U(F)),o[c>>2]=0,0}}while(0);return 0|(0|o[e+2364>>2])+(0|l(f,n))}function N(e,r,n){var t,i,o=0;return t=0|vn(0|(n|=0),0,0|(e|=0),0|(r|=0)),i=0|v(),!(0==(0|e)&0==(0|r))&&(o=0|kn(2147418112,0,0|e,0|r),(0|t)!=(0|t)|0!=(0|i)|(r=0|v())>>>0<0|0==(0|r)&o>>>0>>0)?0:0|Vr(e,n)}function V(e,r,n){var t,i,o=0;return t=0|vn(0|(n|=0),0,0|(e|=0),0|(r|=0)),i=0|v(),!(0==(0|e)&0==(0|r))&&(o=0|kn(2147418112,0,0|e,0|r),(0|t)!=(0|t)|0!=(0|i)|(r=0|v())>>>0<0|0==(0|r)&o>>>0>>0)?0:0|Qr(0|l(e,n))}function j(e,r){if(512!=(-256&(r|=0)|0))return 0;if(!(e|=0))return 1;e=(r=e)+108|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 1}function H(e,r){e|=0,o[44+(r|=0)>>2]=4,o[r+48>>2]=5,o[r+52>>2]=5,o[r+40>>2]=e}function Z(e,r,n){e|=0,r|=0,n|=0;var i,a,f,A,u=0,s=0,l=0,c=0;if(!(i=0|N(1,0,272)))return 0;if(o[i>>2]=0,o[i+4>>2]=2,ke(),u=0|o[e>>2],o[(a=i+100|0)>>2]=u,l=0|o[(s=e+4|0)>>2],o[(f=i+104|0)>>2]=l,A=e+24|0,o[i+8>>2]=A,o[e+64>>2]=e,o[A>>2]=u,o[e+28>>2]=l,o[i>>2]=0,pe(i+24|0,r,n),!(0|Ce(0|o[e>>2],0|o[s>>2],1,i,0)))return z(i),U(i),0;e:do{if(1==(0|o[i+176>>2])&&3==(0|o[i+180>>2])&&(0|o[i+120>>2])<=0){if((0|(s=0|o[i+164>>2]))>0){n=0|o[i+168>>2],r=0;do{if(0|t[o[n+(548*r|0)+4>>2]>>0]){c=14;break e}if(0|t[o[n+(548*r|0)+8>>2]>>0]){c=14;break e}if(0|t[o[n+(548*r|0)+12>>2]>>0]){c=14;break e}r=r+1|0}while((0|r)<(0|s))}o[e+132>>2]=1,s=0|o[a>>2],n=0|vn(0|(r=0|o[f>>2]),((0|r)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|v(),o[i+20>>2]=0,r=0|V(n,s,1),o[i+16>>2]=r,r?c=17:(o[i>>2]=1,c=19)}else c=14}while(0);do{if(14==(0|c)){if(o[e+132>>2]=0,r=0|o[e>>2],s=0|o[a>>2],l=0|vn(0|(n=0|o[f>>2]),((0|n)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|v(),n=65535&r,r=0|bn(0|(u=0|Cn(0|r,((0|r)<0)<<31>>31|0,4)),0|v(),0|n,0),s=0|V(u=0|bn(0|r,0|v(),0|l,0|s),0|v(),4),o[i+16>>2]=s,s){o[i+20>>2]=s+(l<<2)+(n<<2),c=17;break}o[i>>2]=1,o[i+20>>2]=0,c=19;break}}while(0);return 17==(0|c)?(o[e+20>>2]=i,1):19==(0|c)?(z(i),U(i),0):0}function K(e,r){r|=0;var n,A,u,s,c,d,h,b,g,w=0,m=0,k=0,p=0,C=0,y=0,I=0,E=0,D=0,L=0,x=0,S=0,_=0,B=0,M=0,F=0,P=0,R=0,T=0,G=0,O=0,q=0,U=0,Y=0,z=0,W=0,X=0,Q=0,N=0,V=0,j=0,H=0,Z=0,K=0,J=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,he=0,ve=0,be=0,ge=0,we=0,me=0,ke=0,pe=0,Ce=0,ye=0,Ie=0,Ee=0,De=0,Le=0,xe=0,Se=0,_e=0,Be=0,Me=0,Fe=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ue=0;if(n=0|o[20+(e|=0)>>2],(0|o[n+108>>2])>=(0|r))return 1;if(0|o[(w=e+132|0)>>2])m=0|o[n+16>>2];else{if($(),e=0|o[n+16>>2],!(0|o[w>>2]))return 0|te(n,e,0|o[n+100>>2],0|o[n+104>>2],r,1);m=e}e=0|o[n+100>>2],s=(A=0|o[(w=n+112|0)>>2])-(0|l(u=(0|A)/(0|e)|0,e))|0,c=n+24|0,d=0|l(0|o[n+104>>2],e),h=0|l(e,r),b=0|o[n+148>>2];e:do{if((0|A)<(0|h))if((p=0|o[(k=n+152|0)>>2])?(y=0|l(0|o[n+156>>2],p?u>>p:u),C=0|o[(0|o[n+160>>2])+(y+(p?s>>p:s)<<2)>>2]):C=0,0|o[(p=n+48|0)>>2])Oe=u,qe=A,Ue=p,pe=73;else{for(I=n+44|0,E=n+160|0,D=n+156|0,L=n+40|0,x=n+36|0,S=u,_=s,B=A,M=(0|o[(y=n+168|0)>>2])+(548*C|0)|0;;){_&b?T=M:((F=0|o[k>>2])?(R=0|l(0|o[D>>2],F?S>>F:S),P=0|o[(0|o[E>>2])+(R+(F?_>>F:_)<<2)>>2]):P=0,T=(0|o[y>>2])+(548*P|0)|0),(0|(F=0|o[I>>2]))>31?(ee(c),G=0|o[I>>2]):G=F,F=0|o[T>>2],R=0|pn(0|(O=0|o[(R=c)>>2]),0|(q=0|o[R+4>>2]),63&G|0),v(),(255&(Y=0|t[(R=F+((U=255&R)<<2)|0)>>0]))>8?(z=G+8|0,o[I>>2]=z,W=0|pn(0|O,0|q,63&z|0),v(),Q=X=R+((0|f[F+(U<<2)+2>>1])<<2)+(((1<<(255&Y)-8)-1&W)<<2)|0,N=0|t[X>>0],V=z):(Q=R,N=Y,V=G),Y=V+(255&N)|0,o[I>>2]=Y,z=65535&(R=0|i[Q+2>>1]);do{if((65535&R)<256)t[m+B>>0]=R,X=B+1|0,(0|(W=_+1|0))>=(0|e)?(0|S)<(0|r)&0==(15&(U=S+1|0)|0)?(re(n,U),j=X,H=U,Z=0,K=T):(j=X,H=U,Z=0,K=T):(j=X,H=S,Z=W,K=T);else{if((65535&R)>=280){J=B,ie=0,oe=p;break e}if(X=(W=z+-258|0)>>1,(65535&R)<260?(ae=z+-256|0,fe=Y,Ae=O,ue=q):(W=(0|ne(c,X))+((65535&(1&R|2))<